關(guān)于ARM與x86服務(wù)器之間的紛爭(zhēng),已經(jīng)有成百上千篇的評(píng)論并將有更多,但是一直沒有在真實(shí)的基準(zhǔn)測(cè)試環(huán)境進(jìn)行過一次測(cè)試,這正是我們今天將要探究的所在。我們?cè)谖覀冞\(yùn)行了24個(gè)網(wǎng)站的Boston Viridis集群系統(tǒng)上加載了一些重量級(jí)的負(fù)載——同時(shí)還有其他的應(yīng)用——并測(cè)量了流通速率、響應(yīng)時(shí)間和功率消耗。我們將其與低功耗的至強(qiáng)(Xeon)進(jìn)行了比較,以揭示出目前商用的ARM服務(wù)器與最好的英特爾至強(qiáng)產(chǎn)品的對(duì)比,包括性能功耗比和性能價(jià)格比;不管你的測(cè)量數(shù)據(jù)是多少,我們有一手的可靠數(shù)據(jù)。
乍一看,ARM CPU相對(duì)較低的每核性能似乎是服務(wù)器的一個(gè)較差的搭檔。毫無疑問的是:在服務(wù)器市場(chǎng)上占統(tǒng)治地位的CPU是英特爾的至強(qiáng)處理器。至強(qiáng)系列的成功,很大程度上源于其在中等功耗(70-95W)時(shí)優(yōu)異的單線程(或者每個(gè)內(nèi)核)性能。將這種超群的單線程性能與相應(yīng)的內(nèi)核數(shù)量相結(jié)合,你就幾乎可以為任何應(yīng)用實(shí)現(xiàn)良好的性能。規(guī)模經(jīng)濟(jì)和相應(yīng)的價(jià)格檔次也很重要,但是如果響應(yīng)時(shí)間更短和電費(fèi)更加少,服務(wù)器市場(chǎng)已經(jīng)愿意稍微多付出一些。
一項(xiàng)證明單線程性能仍然十分重要的數(shù)據(jù)是Oracle(或者你愿意稱之為Sun也行)的T系列的演進(jìn)。Sun T3擁有16個(gè)核和128線程,但是T4卻只有每個(gè)帶有8線程的8個(gè)內(nèi)核,其首席執(zhí)行官Larry Ellison不止一次地兜售其單線程性能已經(jīng)得到大幅度地提升,實(shí)現(xiàn)了高達(dá)5倍的提速。我們真的需要另外一種建立在一個(gè)更慢、但是能效更高的內(nèi)核集群上的服務(wù)器嗎?難道歷史沒有告訴我們幾頭“公牛”是優(yōu)于一群“小雞”嗎?
歷史也已證明每臺(tái)服務(wù)器上的內(nèi)存也很重要,許多高性能計(jì)算機(jī)(HPC)和虛擬化應(yīng)用都受制于隨機(jī)存儲(chǔ)器(RAM)的數(shù)量。現(xiàn)今的Cortex-A9這一代的ARM處理器用一個(gè)32位的地址總線,并且不能支持超過4GB的內(nèi)存。
然而,對(duì)基于ARM的服務(wù)器的興趣卻在不斷增加,而且已經(jīng)不再是停留在宣傳的層次上。是的,基于ARM的處理器仍然在處理能力上有所欠缺,而且至強(qiáng)處理器的內(nèi)存控制器能夠處理大量的雙列直插內(nèi)存模組(DIMM),但是當(dāng)談及成本和功耗時(shí),ARM處理器的得分就高了不少。
基于ARM的處理器在性能上也有巨大的進(jìn)步。測(cè)試數(shù)據(jù)表明:一個(gè)在2011年發(fā)布的1.2GHz的雙核ARM Cortex-A9(三星Exynos 1.2GHz)比2008年發(fā)布的、通用的ARM 11壓縮速度要快10倍。根據(jù)Anand用iPhone進(jìn)行的測(cè)試,SunSpider的性能也提高了20倍(盡快這種提升幾乎肯定部分得益于瀏覽器和軟件優(yōu)化)。最新的ARM Cortex-A15毫無疑問地更加強(qiáng)大,提供了大約50%的性能提升。A57將增加對(duì)64位的支持,并再有20-30%的性能提升。簡(jiǎn)而言之,單線程性能正在被快速提升,同時(shí)也可以連接到更大量的RAM上。ARM Cortex-A9受制于4GB,但Cortex-A15能夠處理16GB,且A57能夠處理的遠(yuǎn)遠(yuǎn)更多。
看起來ARM產(chǎn)品在服務(wù)器這個(gè)細(xì)分市場(chǎng)上開始大量發(fā)貨只是一個(gè)時(shí)間問題,那么還需要多久呢?最好的觀察方法是探究今天已經(jīng)付運(yùn)商用的最成熟的ARM處理器:基于嘉協(xié)達(dá)(Calxeda)的Boston Viridis服務(wù)器??纯催@種服務(wù)器現(xiàn)在能處理什么?它還有什么樣的潛能可以發(fā)揮?其缺點(diǎn)有哪些?讓我們共同去發(fā)現(xiàn)。
這是一個(gè)集群,而不是一臺(tái)服務(wù)器
當(dāng)打開Boston Viridis服務(wù)器的包裝時(shí),首先映入眼簾的是鮮紅的前面板。那是Boston告知我們擁有的是一種“云設(shè)備”版本的一種方式。帶有橙色邊框的型號(hào)主要作為NAS設(shè)備,紫色則代表應(yīng)用于“web服務(wù)器農(nóng)場(chǎng)(web farm)”,藍(lán)色更適合于一個(gè)Hadoop集群。另外一項(xiàng)觀察是其機(jī)箱結(jié)構(gòu)看起來很像最近的SuperMicro服務(wù)器,它實(shí)實(shí)在在是一種充滿了Calxeda硬件的極簡(jiǎn)約系統(tǒng)。
在前面板后面,我們發(fā)現(xiàn)了24個(gè)2.5”硬盤插口,它們可以接插SATA硬盤。如果我們從背后來看,我們可以發(fā)現(xiàn)一個(gè)標(biāo)準(zhǔn)的750W 80 Plus Gold電源單元、一個(gè)串行接口和四個(gè)SFP連接器。這些連接器每個(gè)都能夠支持10Gbit速度的、采用銅纜和/或光纖的SFP(+)收發(fā)器。
當(dāng)我們打開機(jī)箱時(shí),我們發(fā)現(xiàn)了一些不太標(biāo)準(zhǔn)化的硬件。裝在底部的是你可以稱之為主板的、一個(gè)大型的、大部分都是光板的印刷電路板(PCB),它帶有共享的以太網(wǎng)器件和一些PCIe插槽。
在嘉協(xié)達(dá)的EnergyCore系統(tǒng)級(jí)芯片(SoC)上提供了10Gb的媒體訪問控制器(MAC),但是為了使每個(gè)節(jié)點(diǎn)通過SFP端口來實(shí)現(xiàn)通信,每個(gè)節(jié)點(diǎn)將其以太網(wǎng)數(shù)據(jù)流推送到前面4張卡中的一個(gè)(插在0 – 3插槽上的卡)。這些節(jié)點(diǎn)通過一個(gè)XAUI接口連接到兩個(gè)Vitesse VSC8488 XAUI轉(zhuǎn)串行收發(fā)器中的一個(gè),它們兩個(gè)器件分別各控制兩個(gè)SFP模組。藏在一個(gè)空氣導(dǎo)流管后面的是一片Xilinx Spartan-6現(xiàn)場(chǎng)可編程門陣列(FPGA)器件,它被配置作為機(jī)箱管理器。
每對(duì)PCIe插槽上是將這臺(tái)機(jī)器變成一個(gè)服務(wù)器集群的關(guān)鍵:一塊EnergyCard(EC)。每一塊EnergyCard上帶有4片SoC,每片上都帶有一個(gè)DIMM插槽。一塊EnergyCard上這樣就包含四個(gè)服務(wù)器節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都運(yùn)行了一個(gè)4核ARM CPU。
該機(jī)箱能夠支持多達(dá)12塊EnergyCard,因此現(xiàn)在就有多達(dá)48個(gè)服務(wù)器節(jié)點(diǎn)。其上限僅受物理空間的制約,因?yàn)槠浣粨Q矩陣可以支持多達(dá)4096個(gè)節(jié)點(diǎn),如果嘉協(xié)達(dá)對(duì)現(xiàn)有的EC提供了后向兼容能力,那么就留下了進(jìn)行重大擴(kuò)展的潛力。
我們收到的系統(tǒng)只能夠支撐6塊EC,一個(gè)EnergyCard插槽因?yàn)镾ATA連線而被占用,所以我們有6塊每塊支持4個(gè)服務(wù)器節(jié)點(diǎn)的EC,或者總共有24個(gè)服務(wù)器節(jié)點(diǎn)。該設(shè)備頗有創(chuàng)意地提供了空氣隔板,他們可以引導(dǎo)空氣流過ARM芯片上的散熱器。
其空氣隔板由頗有講究的敷塑料膜紙板制成,采用膠粘結(jié)合在一起并用塑料釘固定在EC上,使其很難用手將它們從一塊EC上剝離。除了Slot 0的卡上需要一種體積更小的隔板,其他每一塊EC能夠隨意地插在主板上。
現(xiàn)在每塊EnergyCard上都帶有4片EnergyCore SoC,每片都連接到一個(gè)miniDIMM插槽和4個(gè)SATA連接器。在我們的配置中,每個(gè)miniDIMM插槽都帶有一片Netlist的4GB低電壓(1.35V而不是1.5V)ECC PC3L-10600W-9-10-ZZ DIMM。所提供的每片SoC連接一個(gè)256GB的三星固態(tài)硬盤(SSD)上(MZ7PC256HAFU,與三星的310系列消費(fèi)性固態(tài)硬盤兼容),用完了機(jī)箱內(nèi)所有的硬盤插槽。我們移除了這些SSD,并用我們的iSCSI SAN來引導(dǎo)服務(wù)器節(jié)點(diǎn)。采用這種方法,更容易比較該系統(tǒng)與其他服務(wù)器的功耗。
在以前的EC版本中,每個(gè)節(jié)點(diǎn)曾經(jīng)在背后帶有一個(gè)microSD插槽,但是在我們的版本中已經(jīng)被移除。這些插卡是拓?fù)渖蠠o需分辨的,每個(gè)節(jié)點(diǎn)能夠識(shí)別出它被放置的地方,這樣你就可以根據(jù)其系統(tǒng)位置來尋址和管理節(jié)點(diǎn)。
對(duì)服務(wù)器節(jié)點(diǎn)更深入的觀察
我們已經(jīng)到達(dá)了服務(wù)器節(jié)點(diǎn)的核心:這些SoC。Calxed從ARM那里獲得了知識(shí)產(chǎn)權(quán)(IP)的授權(quán),并在其上設(shè)計(jì)了自己的系統(tǒng)級(jí)芯片,并為其取名為Calxeda EnergyCore ECX-1000 SoC。現(xiàn)有的版本采用臺(tái)積電40nm工藝制造,運(yùn)行主頻為1.1GHz至1.4GHz。
讓我們從該SoC上熟悉的單元(黑色部分)開始:外部I/O控制器。該芯片帶有一個(gè)可支持3Gb/s的SATA2.0控制器、一個(gè)提供SD和eMMC讀取的通用媒體控制器(GPMC)、一個(gè)PCIe控制器和一個(gè)提供高達(dá)10Gbit速度的以太網(wǎng)控制器。在此系統(tǒng)還不能使用PCIe連接,但是嘉協(xié)達(dá)能夠提供“主板”的客制化設(shè)計(jì),使客戶在需要時(shí)連接PCIe卡。
另外一種在到達(dá)真正的處理器前不得不介紹的器件是EmergyCore Management Engine (ECME)。從本質(zhì)上講這就是一片系統(tǒng)級(jí)芯片,而不是像你在通用的服務(wù)器中發(fā)現(xiàn)的一個(gè)BMC。該ECME帶有一個(gè)Cortex-M3處理器內(nèi)核,能夠提供固件管理、傳感器讀出并控制處理器。在真正的BMC設(shè)計(jì)中,它可以通過一個(gè)IPMI指令集控制,現(xiàn)在采用嘉協(xié)達(dá)自有版本的ipmi工具實(shí)現(xiàn)。如果你想進(jìn)一步深入到一個(gè)節(jié)點(diǎn),你可以使用ECME的通過局域網(wǎng)的串行連接功能(Serial-over-LAN),盡管它不提供任何類似于KVM的環(huán)境,此時(shí)已經(jīng)簡(jiǎn)化到?jīng)]有(鼠標(biāo)控制的)圖形化界面。
處理器組合
由于帶有4個(gè)32位的Cortex-A9內(nèi)核,每個(gè)內(nèi)核還帶有32KB指令和32KB數(shù)據(jù)L1緩存,該處理器單元在一定程度上與我們?cè)诮裉斓闹悄茈娫捴兴吹降南嗨?,一個(gè)區(qū)別是這種SoC包括一個(gè)4MB的支持ECC的L2緩存,而大多數(shù)智能電話SoC只有1MB的L2緩存。
這4個(gè)Cortex-A9內(nèi)核運(yùn)行的主頻介于1.1GHz與1.4GHz之間,并帶有用于優(yōu)化的SIMD處理的NEON擴(kuò)展,一個(gè)專用的FPU,可兼容來自x86 CPU的NX/XD擴(kuò)展的“TrustZone”技術(shù)。Cortex-A9每個(gè)時(shí)鐘周期內(nèi)能夠?qū)蓷l指令進(jìn)行解碼,同時(shí)能夠分發(fā)多達(dá)4個(gè)指令。這與凌動(dòng)處理器(Atom)十分相當(dāng)(2/2),但是當(dāng)然遠(yuǎn)不及現(xiàn)今的至強(qiáng)"Sandy Bridge" E5 (4/5條解碼, 6條分發(fā))。但是這種SoC的真正出色之處是其功率消耗,嘉協(xié)達(dá)介紹說,在1.1GHz有負(fù)載時(shí)整個(gè)服務(wù)器節(jié)點(diǎn)功耗可低至5W,而在空閑時(shí)則為0.5W。
交換矩陣
該SoC中最后一個(gè)單元是EC矩陣交換機(jī),該EC矩陣交換機(jī)是一個(gè)連接到5個(gè)XAUI端口的8X8栓鎖式交換機(jī),這些外部的連接用于連接交換矩陣的其他部分(相鄰的服務(wù)器節(jié)點(diǎn)和SFP),或者連接SATA2端口。服務(wù)器節(jié)點(diǎn)上的操作系統(tǒng)可識(shí)別兩個(gè)10Gbit的以太網(wǎng)接口。
真如嘉協(xié)達(dá)在其廣告中所說的那樣,其產(chǎn)品帶有的可擴(kuò)展性是其重要功能之一,他們已經(jīng)在各個(gè)節(jié)點(diǎn)間創(chuàng)建了快速的而且大容量的連接。這種交換矩陣擁有多種連接拓?fù)溥x項(xiàng),以及針對(duì)所需要的速度,或在應(yīng)用為省電不需要高帶寬時(shí)而特別進(jìn)行的優(yōu)化。例如,這些交換矩陣的連接能夠設(shè)置在1、2.5、5和10Gb/s上。
他們的這種方法的一個(gè)重大加分項(xiàng)就是你不需要昂貴的10Gbit機(jī)架頂置交換機(jī)來連接各個(gè)節(jié)點(diǎn),取而代之的是你只需在兩個(gè)機(jī)箱間插入一根線纜,使交換矩陣相互融合擴(kuò)展而已。請(qǐng)注意這不同于虛擬化的交換機(jī),后者的CPU忙于處理layer-2層的流量。這種矩陣交換機(jī)實(shí)際上是一種物理的、分布式的layer-2交換機(jī),而且完全是自主化運(yùn)行——其CPU組合支持這種交換機(jī)的工作。
以上是關(guān)于Boston Viridis硬件部分的介紹。作為目前唯一一款送測(cè)的服務(wù)器,相信很多人會(huì)對(duì)這款產(chǎn)品的更多細(xì)節(jié)產(chǎn)生興趣,比如這款產(chǎn)品性能怎樣、能夠滿足什么樣的應(yīng)用環(huán)境等,這部分內(nèi)容將在下篇中全部展示。