ARM 服務器:數據中心的移動 CPU 架構?

已發表: 2022-03-11

我漸漸老了。 回到我的時代,如果你想要一流的 CPU 性能,你必須使用高端的 x86 芯片,或者,如果你有更大的財力,你可以得到一些奇特的東西,比如 PowerPC 系統。 該行業對 x86 處理器的依賴似乎在增加,而不是在減少。

十年前,Apple 加入了 x86 俱樂部,這促使許多觀察家得出結論,非 x86 處理器在大眾市場上的時代已經結束。 僅僅幾年後,他們不得不信守諾言,而蘋果又一次與這件事有關。 ARM 服務器即將問世,它們可能會重振服務器行業。

重新思考處理器設計

隨著範式的轉變和主流用戶接受智能手機和平板電腦,英特爾、AMD 和威盛的 x86 芯片很快就無法勝任這項任務。 雖然 x86 是地球上最多產的指令集,但出於多種原因,它對於移動設備來說並不是一個好的選擇。 事實上,英特爾的指令集仍然不是移動處理器的熱門選擇,儘管由於英特爾的代工技術領先地位,這種情況開始發生變化。 無論如何,在這個細分市場中,x86 的效率不如其他 CPU 架構,即基於 ARM 的 32 位 ARMv7 和 64 位 ARMv8 指令集的處理器。

在過去的十年裡,尤其是在過去的五年裡,ARM 處理器已經在智能手機和平板電腦領域佔據主導地位,而且它們有很多優勢。 它們提供了大量的每瓦性能,設計、生產和部署成本低廉。 大供應商可以購買必要的構建塊並基於 ARMv7 或 ARMv8 設計自己的處理器,並根據需要添加其他組件(高速調製解調器和不同的 GPU 等等)。

這導致一些芯片設計人員採取了一些不同的方法來設計他們自己的定制 CPU 內核。 高通和蘋果一路領先,兩家公司都成為移動片上系統 (SoC) 市場的重要參與者,他們開發的複雜定制內核對他們的成功起到了重要作用。 然而,定制 ARM 內核仍用於高端處理器,而所有其他細分市場均由標準 ARM Cortex CPU 內核覆蓋,如 32 位 Cortex-A8、A9、A7 和 A15,其次是 64 位Cortex-A53、A57 和即將開始發貨的新 A72 內核等設計。

ARM 成功的另一個先決條件是微軟的失敗。

Windows 僅在 x86 處理器上運行,因此如果微軟要在移動領域站穩腳跟,它將使天平對英特爾有利。 然而,在過去十年結束時,很明顯雷德蒙德已經放棄了,將這個利潤豐厚的市場拱手讓給了谷歌和蘋果。 說到球,微軟的長期首席執行官史蒂夫鮑爾默幾年前離開了公司,承認他和他的團隊未能認識到智能手機和平板電腦的潛力。 無論如何,這不再是鮑爾默的問題了:他現在腦子裡還有其他的球,準確的說是籃球。

ARM 處理器在移動領域佔據主導地位,並且正在進軍其他產品類別。服務器是一個很好的起點。

ARM 處理器在移動領域佔據主導地位,並且正在進軍其他產品類別。 服務器是一個很好的起點。
鳴叫

然而,移動並不是第一個或唯一一個見證微軟大規模失敗的細分市場。 另一個是服務器市場。 從表面上看,智能手機和數據中心沒有太多共同點,但從技術和商業角度來看,它們有一些重疊之處。

無論您是在設計智能手機還是服務器,您都需要強調硬件平台的類似方面,例如電源效率、良好的散熱、每美元的性能等等。 最重要的是,智能手機和許多類型的服務器並不需要基於 x86 的處理器。 由於微軟的失敗,這些細分市場並沒有被任何 Windows 風格所主導。 他們依賴於基於 UNIX 的操作系統:Android、iOS 和各種 Linux 發行版。

微軟還試圖利用 ARM 處理器的潛力,因此它嘗試開發一個可以在 ARM 硬件上運行的 Windows 版本,這很方便地讓我想到了微軟的下一個失敗:Windows RT。 微軟最終取消了 Windows RT 的插件,或最初稱為“ARM 上的 Windows”。 微軟最新的 Surface 平板電腦採用 x64 處理器和標準 Windows 10。微軟的 Lumia 智能手機系列(前身是諾基亞 Lumia)仍然使用高通公司的 ARM 處理器,但 Windows Phone 作為主流智能手機平台幾乎已死。

服務器不必花費 ARM 和一條腿

目前,我們擁有數十億部智能手機和平板電腦,其中絕大多數都基於 ARM 處理器。 然而,ARM 芯片並沒有進入其他細分市場。 只有少數基於 ARM 的大容量計算平台不屬於智能手機和平板電腦類別。 Google Chromebook 可能是最著名的例子。 然而,ARM 芯片用於大量其他設備:路由器、機頂盒和智能電視、智能手錶、一些遊戲設備、汽車信息娛樂系統等。

ARM 服務器呢?

這就是棘手的地方。 自 2010 年以來,我一直在聽到有關 ARM 服務器的討論,但進展緩慢且有限。 ARM 在服務器領域的市場份額仍然微不足道,生態系統仍然分別由英特爾和 AMD 的 x86 Xeon 和 Opteron 部件主導。 由於 AMD 在 CPU 方面陷入困境,英特爾近年來設法擴大了其市場份額的領先地位。

ARM 服務器最終可能比基於 Intel 和 AMD x86 芯片的同類服務器便宜得多。

ARM 服務器最終可能比基於 Intel 和 AMD x86 芯片的同類服務器便宜得多。
鳴叫

但為什麼一開始 ARM 服務器聽起來是個好主意呢?

錢。 我可以嘗試列出使 ARM 在服務器市場上成為 x86 的可行替代品的所有令人討厭的點,但歸根結底,這主要是為了錢,所以我將嘗試用幾行來解釋它。

  • 價格/性能
  • 數據中心工作負載正在發展和變化
  • 能夠從各種供應商處採購處理器
  • 為各種利基市場使用定制設計的芯片
  • ARM芯片更適合一些基礎設施應用
  • 固守英特爾,蠶食其市場地位,這是一個好辦法(英特爾在服務器領域處於壟斷地位的邊緣)

我們不需要龐大而昂貴的 Xeon 處理器來處理所有事情。 此外,使用過時的 x86 處理器來處理要求不高的工作負載並不是一個好的選擇,因為它們的功耗很高。 請記住,我們談論的是服務器,而不是您的 MacBook 或台式 PC。 服務器全天候運行,因此每一項效率提升(包括相對較小的提升)往往都很重要。 這不僅僅是為了獲得更大的電費; 數據中心必須進行冷卻和維護,因此具有較低熱設計功率 (TDP) 等級的處理器對企業用戶而言比個人更有價值。

為什麼使用 ARM 服務器?

那麼,ARM 處理器適合什麼樣的企業應用呢?

嗯,ARM 預計將在網絡基礎設施應用程序中獲得絕大多數設計勝利。 由於其靈活性、小尺寸、效率和低廉的價格,ARM 處理器是基礎架構的絕佳選擇。 您可以在路由器、高性能存儲解決方案和某些類型的服務器中使用 ARM 處理器。

然而,ARM 預計這十年的大部分企業增長將來自服務器,因為它的其他細分市場已經成熟並且在其中擁有健康的市場份額。 服務器工作負載也在發生變化,這種趨勢與雲服務的增長有關。 因此,服務器必須處理越來越多的小任務。

許多組織更願意保持他們的選擇開放,因此他們從多個供應商處採購硬件。 這對 ARM 服務器處理器來說是個好消息,因為它們可以由許多不同的公司銷售。 此外,ARM 的許可政策和處理器設計的模塊化方法可用於為特定應用設計定制處理器。 顯然,這不是小公司的選擇,但如果像亞馬遜、Facebook 或谷歌這樣的大公司開始要求定制服務器處理器,以在某一特定應用程序上表現出色,會發生什麼?

至於“固守英特爾”,我要說明的是,我並不是說英特爾有什麼害處,我不希望看到它失敗或被逐出各個細分市場,但同時我也擔心英特爾的主導地位最終可能會扼殺增長和創新。 更多的競爭應該會降低最終用戶的價格,這就是 ARM 服務器的全部意義所在。

多線程:多少 CPU 內核才足夠?

僅在十年前,多核 x86 處理器被保留用於高性能計算機和服務器,但現在您可以在 100 美元的平板電腦中獲得四核 x86 芯片。

在多核計算的早期,您仍然需要大 CPU 內核來獲得足夠的性能水平。 許多軟件無法利用這些新處理器及其額外內核,因此良好的單線程性能至關重要。 事情肯定發生了變化; 如今,我們擁有八核智能手機、四核英特爾平板電腦和手機,以及 16 核 x86 服務器處理器。

這是有充分理由的。 從技術和財務角度來看,構建多核處理器非常有意義。 將負載分配到幾個更小、更高效的 CPU 內核比開發一個能夠在高頻下運行的單個巨大內核要容易得多。 多核方法確保了卓越的效率和芯片良率。

像老闆一樣的多線程:ARM 服務器處理器可以運行比普通 x86 服務器部件更多的物理內核。

像老闆一樣的多線程:ARM 服務器處理器可以運行比普通 x86 服務器部件更多的物理內核。
鳴叫

ARM 有可能將核心熱潮提升到一個新的水平。 ARM CPU 內核往往比用於服務器和台式機部件的英特爾所謂的“大內核”要小(英特爾的“小內核”Atom 是為移動設備保留的,儘管也可以使用基於 Atom 的服務器部件)。 然而,這並不意味著我們很快就會看到 128 核或 256 核 ARM 處理器,儘管理論上它們是可能的。 這取決於新的 ARMv8 服務器處理器如何處理多線程負載。 有一些令人鼓舞的跡象,對於可以從多核處理器中受益的一系列工作負載來說,ARM 服務器很有可能是一個不錯的選擇。

高通的第一款服務器處理器有 24 個 ARMv8 CPU 內核,這家芯片製造商明確表示,未來的型號將配備更多內核。 還記得 AMD 及其服務器市場的困境嗎? 好吧,就在幾週前,該公司推出了早該推出的基於 ARM 的 Opteron A1100 處理器。 高通公司在 10 月份宣布了這一消息,因此這兩款產品都將在未來幾個月內上市。

當然,英特爾不會參加這次 ARM 派對,但高通和 AMD 並不是唯一一家致力於基於 ARM 的企業芯片的芯片公司。 Broadcom、Calxeda、Cavium Networks 和華為海思等芯片製造商也致力於開發基於 ARM 的服務器產品。 英偉達和三星是 SoC 和 GPU 業務的兩大巨頭,他們也曾嘗試過使用 ARM 服務器部件,直到幾年前他們決定停止開發。 德州儀器、賽靈思和 Marvell 也在探索 ARM 服務器部件。

其中一些公司也致力於定制 ARM 內核,但目前唯一可用的非 Apple 64 位定制 ARM 內核是 Nvidia 的 Denver,它只獲得了少數設計勝利。

什麼是 ARM 定制內核?

我知道大多數人都不會費心跟踪所有行業利基市場,包括 CPU 空間,所以我認為現在是解釋 ARM 內核的不同之處以及定制內核實際是什麼的好時機。 我不會剖析處理器並解釋 x86 和 ARM 指令集之間的區別,但我將從業務角度概述它們的區別。

你看,ARM 並沒有因為它使用不同的指令集而有所不同,儘管這會做出一個快速而令人討厭的解釋,但在我看來,英特爾、AMD 和 ARM 之間最大的區別不是架構,而是商業模式. 此外,架構發生了變化,新的 CPU 設計定期發布,但 ARM 對其技術進行營銷和許可的方式多年來並沒有改變。

這是一個簡單的例子。

英特爾處理器由英特爾開發,使用英特爾指令集。 它由英特爾代工廠製造,包裝和發貨時帶有“Intel Inside”品牌。 這聽起來可能很簡單,但我們不要忘記幾十年來投入了數十億美元的研發費用,或者英特爾依靠自己的晶圓廠進行製造的事實(如果你在市場上購買 14nm 代工廠,請確保你有一些備用改變你,因為芯片廠的成本與核航空母艦一樣高)。

ARM 產品呢? 嗯,ARM 不是芯片製造商,它是芯片設計者,或者是“無晶圓廠”芯片公司,所以它不涉及製造,也不銷售自有品牌的芯片。 ARM 賣的東西更有趣:知識產權。 這意味著 ARM 客戶可以選擇多種不同的許可計劃中的任何一種,並開始製作自己的設計。 他們中的大多數選擇 ARM 的內部設計(Cortex 系列 CPU、Mali 系列 GPU),因此他們為生產的每個 CPU/GPU 內核支付許可費。

但是,客戶不必為這些現成的 CPU 授權; 它可以改為許可架構集,並基於 ARM 指令集開發自定義內核。 這就是蘋果所做的。 它使用 ARMv8 指令集為其 iOS 設備構建強大的 64 位 CPU 內核。 Nvidia 的 Denver CPU 在這方麵類似,Qualcomm 的定制內核(32 位 Krait 和 64 位 Kryo 系列)也是如此。

設計一個定制的 CPU 內核並不容易。 並不是說你會發現芯片設計師失業並在 Craigslist 上提供設計定制處理器,所以這種方法通常是為那些擁有必要技術、財務和人力資源的大玩家保留的。 因此,大多數公司改用現成的 ARM Cortex 內核(64 位 Cortex-A57 內核可用於服務器環境,並且被大多數下一代 ARM 服務器處理器使用)。

需要注意的是,實際上基於 ARM 的芯片是定制設計的,但大多數使用的 CPU 內核不是

絕大多數 ARM 處理器依賴於標準 ARM CPU 設計 (Cortex CPU),而不是定制 CPU 內核。 這意味著芯片製造商可以選擇任意數量的 ARM CPU 內核、第三方 GPU 和其他組件,並定制處理器以滿足他們的需求,而無需開發定制的 CPU 內核。 這是使架構更靈活的一種廉價方式,而且它更多地與 ARM 的許可政策有關,而不是工程。

新一代 64 位 ARM 服務器處理器,例如 AMD 的 Opteron A1100,擁有令人印象深刻的功能集。

新一代 64 位 ARM 服務器處理器,例如 AMD 的 Opteron A1100,擁有令人印象深刻的功能集。
鳴叫

還需要注意的是,這些即將推出的 ARM 服務器基於最新的 ARM 64 位 CPU 架構,與多年前的實驗性 ARM 服務器沒有太多共同之處。 例如,我們的一位同事使用過 Scaleway ARM 服務器,但它們基於 ARMv7 處理器並且有許多硬件限制(例如,Scaleway 使用共享 I/O 控制器,並且缺乏 64 位支持創建了另一個一系列挑戰)。 新一代基於 ARM 的服務器不會遇到這些初期問題; 它們在功能和標準方面更接近英特爾硬件。

ARM 服務器的優缺點

ARM 服務器的問題在於它們傾向於用於小眾市場,不適合可以與任何服務器共存的小型開發人員。 雖然一些大公司覺得它們很有吸引力,但目前可用的 ARM 服務器並不適合大多數個人開發人員。

但是,即將推出的服務器解決方案有所不同,應該會吸引更多的利基市場。 這可以使它們吸引更廣泛的用戶群:

  • 降低硬件成本,潛在的卓越效率(每美元的性能,每瓦的性能)。
  • 提高流行端口的兼容性和可用性。
  • 支持尖端技術和新的行業標準。
  • 能夠勝任某些類型的工作負載(簡單但多線程負載)。
  • 與 x86 空間相比,具有更多競爭和產品多樣性的潛力。

我必須強調,在這個階段,其中一些觀點是理論上的,因為硬件還沒有推出。 然而,雖然我不能斷然聲稱知道未來幾個季度會發生什麼,但我相信新型 ARM 服務器將帶來這些(以及更多)優勢。 為什麼我這麼自信? 好吧,如果他們沒有潛力做出改變,ARM、高通、AMD 和其他公司就不會在他們的開發上浪費時間和燒錢。

那麼,ARM 服務器的缺點呢? 有很多,其中一些很大。 幸運的是,該行業正在努力解決這些問題。

  • 命中和錯過軟件支持
  • 可用性、潛在的部署問題
  • 投資回報率問題
  • 微小的生態系統
  • 舊習難改

與軟件相關的問題可能是最直接的問題。 雖然許多流行的服務將在 ARM 服務器上運行,但軟件支持將是一個問題。 僅僅將東西移植到新硬件是不夠的; 我們必須確保一切正常運行,以免性能受到影響或出現故障。 換句話說,移植的軟件必須成熟。 沒有人會開發和部署建立在有缺陷的基礎上的服務。

ARM 服務器生態系統很小,但已經有許多行業巨頭加入其中。

ARM 服務器生態系統很小,但已經有許多行業巨頭加入其中。
鳴叫

在服務器市場上賺到了所有的錢,人們會期望看到快速的進展,但情況並非總是如此。 採用新硬件並調整在其上運行的所有軟件絕非易事,其速度取決於市場採用情況。 ARM 服務器生態系統的規模(非常)有限,我懷疑幾個新處理器在短期內會產生很大的不同。 儘管 ARM 和高通等有影響力的公司對看到 ARM 服務器需求的回升有著既得利益,但他們對軟件無能為力。 他們對軟件開發人員幾乎沒有影響力,因此他們不能強迫他們將 ARM 支持添加到現有產品中。

長話短說:仔細查看您的堆棧並嘗試確定一切是否可以在 ARM 硬件上正常運行。 如果有足夠的時間,開發人員將開始添加對 ARM 硬件的支持,但這不會是一個快速的過程。 他們將不得不調整框架和應用程序以適應新的架構,而且我懷疑,在有足夠的 ARM 服務器(可能需要數年時間)之前,他們中的許多人不會打擾。 對遺留軟件的支持是另一個明顯的問題。

這將我們帶到了下一點:市場可用性和潛在的部署問題。 那裡沒有那麼多 ARM 服務器,因此選擇有限,可用性也有限。 一兩年後,我們可以看到許多基於 ARM 的託管軟件包,但我們不會看到太多。 更糟糕的是,這些服務器很有可能會集中在世界的某些地方,從而降低它們對某些開發人員的吸引力。 與部署相關的未知數很多,所以現在說事情會如何發展還為時過早。

緩慢的採用可能會帶來另一組挑戰。 這些不僅限於 ARM 服務器; 它們適用於大多數企業技術。 許多組織一定會探索使用 ARM 服務器的可能性,但這並不一定意味著他們會真正使用它們。 為了保證足夠的發展和消費需求,市場採用率需要穩步增長。 否則,規避風險的人可能會遠離,採取觀望態度。 另一個潛在的問題是經濟問題:如果開發人員不確定生態系統的增長速度是否足夠快,他們可能會認為潛在的回報根本不值得付出努力。

這些老習慣怎麼辦? 好吧,由於服務器空間發展不快,人們傾向於堅持使用經過驗證的平台,即 x86 硬件。 座右銘很簡單:如果它沒有壞,就不要修理它。 業內資深人士可能會將 ARM 服務器視為一個機會,並對其進行賭博。 將復雜項目的一部分與許多人仍然認為未經測試或不成熟的硬件平台聯繫起來需要相當大的勇氣和信心。 我擔心很多人不會願意冒險,至少不會這麼早。

光明的未來和一小撮炒作

我成年後的大部分時間都在研究尖端芯片,而我個人對 ARM 服務器的看法是它們具有很大的潛力,但它們並不適合所有人。 他們可以通過為基礎設施提供廉價的構建塊和處理利基服務器工作負載,在未來的互聯網中發揮重要作用。

然而,與此同時,我無法擺脫 ARM 服務器往往被過度炒作的感覺。 儘管如此,我並不認為它們是一種時尚。 我認為他們會留下來,但供應商必須開闢一些可以真正從新架構中受益的特定領域。

換句話說,我們不會看到很多基於 ARM 的簡單 LAMP Web 託管服務器,但我們可以在更奇特的領域(以及一些非常無聊的領域)中看到它們的負載。 ARM 處理器可能非常適合特定負載,尤其是那些可以利用大量小型物理 CPU 內核(不受 CPU 限制)的處理器。 聽起來可能不多,但這實際上涵蓋了很多潛在用途:數據記錄、大量簡單查詢、某些類型的數據庫、各種存儲服務等等。

我可以繼續列出 ARM 服務器的各種用例、優缺點以及潛在問題,但歸根結底,我懷疑 ARM 服務器的採用將取決於良好的舊現金。 拋開技術不談,ARM 服務器只有在經濟成分得到驗證的情況下才有意義。 換句話說,如果它們要證明它們的存在是合理的,它們將不得不提供比 x86 處理器更多的物有所值。

由於這或多或少是將這種新架構引入服務器行業的全部意義所在,因此我希望價格具有吸引力,但我們還需要幾個月的時間才能確定。