在LinuxCon 2014上,讓我們可以預見到ARM處理器架構——世界各地小型設備制造商們深愛的ARM處理器架構——將會出現(xiàn)在服務器世界里。但是在ARM服務器能夠量產之前,專門針對數(shù)據(jù)中心的、標準的硬件平臺是必需的。
所以企業(yè)Linux 巨頭Red Hat 的首席ARM架構師Jon Masters在星期四芝加哥召開的LinuxCon 2014大會上談論了這個話題。
Red Hat和其他組織——最有名的是Linaro集團,Red Hat也是其中的成員之一——多年來一直在努力讓Linux為ARM服務器做好準備,反過來也是一樣。但是Masters認為,要說服硬件廠商,讓他們相信對ARM在移動設備上有用的東西對于數(shù)據(jù)中心并不適用。
Masters表示,“很多早期的服務器——不僅僅是ARM,還有其他的架構——利用了我稱之為嵌入式的思維方式。”他表示,“所以我仍然親切地將它們稱之為‘嵌入式動物園’,它真正地被用于手機和服務器的設計理念之中。”
這并不是說Masters認為手機廠商制造自己設備的方法有什么不對。他承認,蘋果和大量安卓手機制造商將嵌入式設計理念運用得非常好。
但是這些努力之所以能夠成功,很大程度上是因為智能手機廠商建設了自己的工具包,所以軟件是“焊接”到硬件上,作為一個完全集成的系統(tǒng)。無論他們使用的是現(xiàn)成的ARM系統(tǒng)級芯片組件,還是創(chuàng)建自己的芯片——就像蘋果和三星的做法一樣——他們生產的每一臺設備上的軟件通常都會針對自己特定的硬件做無數(shù)的適應性調整。
為數(shù)據(jù)中心重塑系統(tǒng)級芯片(SoCs)
Masters表示,高集成度、省電的系統(tǒng)級芯片(SoCs)概念對于數(shù)據(jù)中心來說也可以是一個巨大的福音。但是由于每個芯片制造商都按照完全不同的規(guī)格設計自己的系統(tǒng)級芯片,這是他們在嵌入式市場中的做事方式,但是這種方式對于服務器來說可不是什么好事。
他解釋說,“通用計算平臺和嵌入式系統(tǒng)不同。”他表示,“軟件并不是和硬件一起交付的。它們并沒有集成在一起。人們從自己選擇的廠商那里購買硬件,然后他們再另選廠商購買操作系統(tǒng),他們需要這種方式。”
在這里,我們討論的也并不僅僅是在Linux和其他一些操作系統(tǒng)之中進行選擇。當今的IT管理員們購買服務器的時候,如果他們喜歡,他們就會希望清掉系統(tǒng)自帶的Linux版本,然后換上另外一個。然而針對嵌入式市場設計的ARM SoCs無法提供這種保障。
Masters表示,“例如,這里沒有標準會告訴你,‘系統(tǒng)究竟會如何啟動,你如何才能找到內核’。”他表示,“‘Not’在這塊板子上是去那里,在那塊板子上又通向另一個方向,但是有一種方式可以做到這一點。不過在這些嵌入式科技中并沒有這樣的方法。”
Masters也不相信針對嵌入式市場開發(fā)的軟件解決方案——例如Device Tree和U-Boot通用引導程序——能夠適用于服務器。它們根本就無法在硬件之上提供足夠的抽象,讓管理員能夠以可交換的方式對待ARM服務器,這正是管理員們對待現(xiàn)有x86設備的方式。
Masters表示,“我們需要的是標準化的硬件設備。為了引導我們正在使用的系統(tǒng),我們必須有一定程度的標準化,如果連接服務器上的一個串口存在著二十種不同的可能,這就是個問題。”
ARM進階
幸運的是,沒有人比ARM自己對這些問題理解得更深刻了——也沒有一家公司能夠通過ARM兼容處理器進入企業(yè)數(shù)據(jù)中心市場獲得更多的既得利益。
英國半導體設計企業(yè)Cambridge第一次大舉進攻服務器市場是在2011年推出了64位的ARMv8-A架構。雖然一些硬件制造商很早就看到了數(shù)據(jù)中心的機會,并且嘗試推出32位的ARM服務器——特別是現(xiàn)在已經解散了的Calxeda——但是那些設計從來都沒有取得多少效果,而Masters在LinuxCon大會上說的很清楚,Red Hat至少“沒有在32位ARM領域做什么嘗試,而且到現(xiàn)在為止也不認為有什么必要這樣做。”
最近,為了滿足系統(tǒng)集成商在使用ARMv8-A方面的需求,ARM開發(fā)了兩個新的平臺標準,這一工作得到了Linaro的配合,Linaro是一家主流的Linux廠商,也是硬件合作伙伴。
第一個標準是SBSA(Server Base System Architecture),它描述了ARM系統(tǒng)啟動所需要的最小硬件設備。SBSA規(guī)范最初是于一月份在Open Compute Project峰會上發(fā)布的,其后迅速得到了全行業(yè)的支持。
第二個也是更新的一個標準——是于本周二首次發(fā)布的,就在LinuxCon大會之前——是SBBR(Server Base Boot Requirements),這個標準描述了一個ARM服務器系統(tǒng)應該如何啟動。
SBBR要求硬件符合兩個早期標準的最新版本:UEFI(Unified Extensible Firmware Interface)2.4及其相關規(guī)范以及ACPI(Advanced Configuration and Power Interface)5.1
Masters表示,“運行在UEFI平臺上的軟件有望得到一些功能。”他解釋說,“例如,安裝操作系統(tǒng)內核的標準方式,獲得特定運行時服務的標準方式,就好像是一天里的時間。我不必在我的平臺上有一個特定的、針對這個實時時鐘的驅動,因為我有一個UEFI RTC驅動,這就可以了。”
同樣,強制要求支持ACPI將芯片制造廠商能夠設計的系統(tǒng)級芯片的種類限制在了適合通用計算的范圍內。
Masters表示,“同樣,ACPI不允許極端復雜的嵌入式平臺。對于任何一臺嵌入式設備我都不建議這么做。它明確地告訴你,你不能采用某種設計理念。它編寫的目標是服務器。”
ACPI在交換中提供什么?這位來自Red Hat的男人說,是平臺的抽象形式。操作系統(tǒng)內核不需要被告知如何初始化特定硬件平臺上的每一個功能,也不需要知道用來訪問它們的存儲地址。例如,內核可以依賴適當?shù)腁CPI功能打開串口。
那么,什么時候呢?
即使有了這些標準,服務器制造商仍然需要用一種讓操作系統(tǒng)廠商能夠使用的方式來實現(xiàn)它們。為了幫助它的硬件合作伙伴提供可行的設計,Red Hat在七月份推出了它的ARM Partner Early Access Program,在這個計劃中的廠商可以了解到這家公司認為針對ARM的企業(yè)Linux解決方案應該是什么樣子的,而且是在它還在完善自己代碼的過程中就開始了解了。
Masters表示,“我們和很多這樣的廠商合作,共同審查驅動,并且提前進行討論,確保他們能夠正確進行。”
那么,這位Red Hat的首席ARM架構師認為今天的硬件廠商中,誰做了正確的事呢?也許并不令人吃驚,在LinuxCon大會上,他特別提到了AMD的“Seattle”系統(tǒng)級芯片,這款芯片是AMD在這個月早些時候舉辦的Hot Chips大會上正式發(fā)布的,Masters表示這就是“用完全正確的方式做正確的事。”
Masters表示,“它是一個標準化的、服務器級的系統(tǒng)級芯片。它遵循了AMD通過x86了解到的所有的服務器設計理念,它還采納了這個行業(yè)在過去三年里提出的各種各樣的建議和指點。這是一個非常、非常好的設計。”
但是只有現(xiàn)在,全行業(yè)的ARM服務器工作才開始走向成熟,AMD公司已經能夠生產出這種品質的產品。例如德克薩斯州奧斯汀的Calxeda公司開發(fā)了最早的ARM數(shù)據(jù)中心產品,但是這家公司在十二月停業(yè)了——沒有享受到AMD目前擁有的“后發(fā)優(yōu)勢”。
Masters表示,“Calxeda的那幫家伙真的是非常棒的人,做出了出色的工作。我認為他們的問題是過早地進入了一個新市場。”他說,“你可以早點來參加聚會,你也可以按時到,你也可以遲到。如果你到的時候看到沒有人在,那么就有問題了。我認為他們的時機把握的不對。”
按照最新的估計,合適的時間將從今年晚些時候開始,ARM服務器將在2015年年末成為主流。