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