在諸如亞馬遜、谷歌、Facebook、微軟等 IT 巨頭公司的超級數據中心以及其他超大規模服務器集群中運行的云軟件堆棧極大地改變了當前數據中心的設計并顛覆了傳統的企業 IT 應用的智慧。在戶外,會有諸如容錯的基于 x86 系統的服務器、大型主機以及企業存儲整列等鍍金的硬件集成式系統;在室內,會有相互連接的配有本地硬盤驅動器的普通比薩盒服務器超級陣列(pizza box server,服務器封裝在一個矩形的水平方向的底盤里,經常和其它一樣的幾個服務器安裝在一個架子上。這種服務器的大小就和外買的比薩餅的盒子一樣)、構建云基礎架構和應用的計算和存儲節點綜合體。復雜的云管理軟件能夠跨系統分配工作負載,根據實際的應用需求和硬件故障情況來自動調整工作負載,而這一切都不會打斷應用的運行和用戶的操作。鑒于此,在「云」這種層面上,硬件設備的尺寸、能耗以及成本顯得格外重要。云設施的運營人員牢記一則箴言,「像悉心照看奶牛那樣管理系統」。
售價便宜、占用空間小且能耗低這三大特點威脅到英特爾以及其他品牌服務器制造商的市場統治地位,而實際上最近的市場調研報告結果顯示組裝 ODM 貼牌系統設備也正在瘋狂地攫取市場份額。然而英特爾顯然不會再犯那種將移動處理器市場拱手讓給 ARM 的悲劇。但就目前公司的反應來看,雖說英特爾是牢牢把握住數據中心市場,但鑒于云系統設計的需求,這所謂的市場地位也似乎存在一些不確定性。盡管云架構為低端、消費者導向的處理器留下生存空間,但就目前來看,并無預兆顯示下一代 ARM 處理器會發生重大變化。
「云」到底有何不同?
基于「云」的硬件是完全虛擬化的,這意味著現如今的處理器能夠處理十多種工作負載。同樣一群性能稍弱但是效率更高的處理器也能完成同樣的工作負載,為何要在服務器里配置高性能的處理器來完成同樣的工作負載呢?實際上在「云」系統環境中,工作負載是均勻分布和共享與各種計算和存儲節點之間。相較于企業級數據中心而言,云系統看起來更像是一群螞蟻,而非一群大象。
云系統的集群式設計似乎專為密集排列的低功耗 ARM 處理器量身定做。而英特爾的處理器架構的演化發展進程則是以單層客戶端-服務器應用程序的需求為主導,而這類應用往往將工作負載局限在一臺服務器上進行,因此最大程度地發揮了處理器多個處理核心多線程的工作性能,相應的性能衡量尺度是性能功耗比(每瓦特能耗能輸出多少計算性能)以及性能尺寸比(每立方英寸空間能輸出多少計算性能)而非純粹的最大性能輸出。這非常像 RISC 指令集充分利用了當時采用全新優化架構傳統處理器的硬件瓶頸,進而成為上世界 90 年代 Unix 設備的主流平臺。鑒于 ARM 處理器更能滿足虛擬化工作負載的需求,并且在占用空間、性能效率以及性價比上占據優勢,所以說超大規模的云系統為 ARM 處理器打開了一扇機會之門。而基于目前的表現來看,英特爾似乎已經「砰」的一聲重重地關上了這扇機會之門。
ARM 的進擊:64 位、支持虛擬化功能的服務器芯片
相較于智能手機平臺而言,ARM 在數據中心的表現則顯得黯淡無光。盡管在服務器領域有所嘗試,但既沒有得到市場的廣泛認可,技術上也未能得到大規模使用,從而導致專注開發 ARM 架構服務器處理器的 Calxeda 公司在去年關門倒閉。當時的產品最大的缺點在于僅支持過時的 32 位指令集并且在硬件上不支持虛擬化技術,從而致使基于 ARM 平臺的系統無法運行云軟件堆棧或者企業級的虛擬化軟件 VMware。ARM 公司解決了 Cortex A-57 在設計上的局限性并推出了首款針對服務器和嵌入式設備的 64 位 ARM SoC(片上系統)。ARM 服務器芯片制造商 Applied Micro 近期推出 ARM 服務器意味著不久之后我們會看到基于 ARM 平臺的系統在服務器工作負載中的實際性能表現。
圖為:Applied Micro 推出的 APM X-Gene 主板
CERN(歐洲核子研究組織)進行了首次獨立的 64 位 ARM 服務器性能基準測試。這次測試將搭載有 8 核 Cortex-A57 SoC 的 Applied Micro X-Gene 主板的系統與兩款英特爾系統(分別是搭載傳統的 8 核 Xeon 處理器的系統以及搭載多核計算加速協處理器 XeonPhi 的系統)。鑒于 Xeon Phi 是專為高度并行的工作負載
而設計的,所以對于數據中心設計者而言,最為有趣的對比結果是 ARM 和 Xeon 的性能表現對比。不出所料,在純粹的最大化性能輸出對比測試中,Xeon 服務器系統把 ARM 服務器系統甩出十幾條大街外,但在性能功耗比對比測試中,兩個系統的數據非常接近。當然考慮到此次測試中所采用的是現已過時的第一代 E5 Xeon(代號為 Sandy Bridge)的處理器,而非最新的 Haswell Xeon E5-v3,所以從對比測試結果來講,CERN 有點低估英特爾系統的實際表現。
拿英特爾的舊款 E5 Xeon 處理器來進行測試,雖然在性能功耗比對比測試中,ARM 系統能夠取得與英特爾平臺接近的數據,但是這樣做有失公允。在筆者進行的測試中,通過最后 SPEC 總體性能基準測試可以發現,三款 Xeon 處理器無論是在最大化性能輸出還是性能功耗比上,都完勝 ARM。所以英特爾根本無需擔心 ARM 的進擊。筆者在測試中所采用的 Xeon 處理器在性能規格上和 CERN 所說采用的 E5 Xeon 基本一致。在最大化性能上,英特爾 Xeon 系統是 ARM 系統的三倍。而在性能功耗比對比測試中,差距有所縮小,但 ARM 系統也僅有 Sandy Bridge Xeon 的 10% 不到。鑒于 Haswell v3 性能更為強勁且效率更高,在計算效率對比測試中,ARM 系統也僅有英特爾 Xeon 系統的 65%。詳情請參看下圖
英特爾-ARM 服服務器平臺性能對比測試(分別拿 Xeon E5、Xeon E5 v2 以及 Xeon E5 v3 與 ARM64 位處理器 Cortex-A57 進行對比,對比的內容有 CMS 內容管理系統的性能和效率)
英特爾仍然統治云系統平臺
首款 64 位 ARM 服務器處理器的推出僅僅是意味著與英特爾在數據中心服務器領域同臺競爭成為可能。這僅僅意味著全新的密集處理器分布設計產品發展戰略的誕生,這種設計思路能和單一集中處理器設計一樣都能帶來性能的穩定提升。單一的 CERN 的測試并不能說明什么,基于云架構的數據中心依舊會尋求英特爾 Haswell 架構的 Xeons 處理器,絕對的最大性能輸出,良好的性能功耗比表現以及久經時間考研的 x86 指令集才是王道。
對于那些尋求最大化密集架構設計的云系統設計人員而言,用于 VMware EVO:RAIL 的超大規模 2U 四節點服務器 x86 服務器才是上乘之選。