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