宅中地 - 每日更新
宅中地 - 每日更新

贊助商廣告

X

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

2023年09月14日 首頁 » 熱門科技

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

最近一段時間,Hot Interconnects、Hot Chips、Google Cloud Next和Meta Networking@Scale等重量級會議先後亮相。藉此機會,我們打算通過本文以更有條理的方式對資訊亮點做一番整理,聊聊並深入分析我們聽到和看到的這些豐富內容。

這一次,我們將關注重點放在即將重新上市的Arm「Demeter」Neoverse V2核心。

如果Demeter核心出現在五年、甚至是十年之前,那肯定會成為引爆業界的大新聞。畢竟對於很多想要開發Arm伺服器晶片的廠商來說,設計出優秀核心確實非常困難。而從今年Hot Chips上亮相的「Genesis」計算子系統(CSS)來看,其實設計一款好的處理器也絕非易事。超大規模基礎設施廠商和雲服務商一直想要針對其工作負載採用大規模定製化處理器。相較於直接採用現成的處理器設計,這些大企業和面對特定工作負載需求的用戶當然希望計算方案能夠更貼合自身實際。

但處理器經銷商(請注意,經銷商跟製造商不是一回事)無法提供大規模定製產品,畢竟為每一代晶片架構開發多種變體的成本非常高昂。而我們所看到的所謂「變體」,大多只是開啟或關閉某些設計中的固有功能,屬於為了順應晶片良品率不足的無奈之舉。通過這種刻意控制性能水平的方式,廠商可以人為拉開產品差距、最大化業務收入。

Demeter核心是首款實現了2021年3月公布的Armv9架構的核心,也是迄今為止Arm為伺服器平台設計的最強核心。正因為如此,英偉達才會僅對該核心及其他組件開放72核「Grace」伺服器CPU授權,使其成為英偉達系統架構中的組成部分。這套方案屬於支持傳統高性能計算(HPC)仿真與建模工作負載的純CPU計算,並可提供輔助內存與計算容量。憑藉四個128位SVE2矢量引擎,Demeter核心成為一套可運行經典HPC工作負載及某些AI推理工作負載(但能夠承受的規模有限,所以大語言模型應該不在此列)的強勁引擎,在某些情況下甚至可用於AI模型的重新訓練。如果最終在設計中將核心數量設置為16到256個,那麼其算力規模自然也將水漲船高。

但最讓我們好奇的是,除了英偉達之外,還有哪些廠商願意在自家CPU設計中使用Demeter核心。

AWS很可能會在其內部自研的下一代Graviton 4伺服器處理器中採用V2核心,畢竟當前Graviton 3處理器使用的就是「Zeus」V1核心。阿里巴巴在自主研發的128核倚天710處理器中使用的則是Neoverse 「Perseus」N2核心;如果他們認為未來需要在標準伺服器中支持更強的矢量與矩陣數學計算能力,則可在後續倚天晶片中轉向V2核心,藉此支持愈發普遍且對數學運算能力要求更高的各類AI算法。華為旗下的晶片設計部門海思在其64核鯤鵬920伺服器晶片中使用了Arm的Neoverse「Ares」N1核心,出於同樣的原因,他們也可能在下代版本中轉而採用V2核心。目前還不清楚谷歌傳聞正在開發的兩款定製化Arm伺服器晶片採用什麼核心——其中之一據稱是與Marvell合作設計,另外一款則純為內部原研。如果事實證明他們採用的確實是V2,那也完全在情理之中。Ampere Computing已經將其192核「Siryn」AmpereOne晶片中的Arm「Ares」N1核心替換為自家原研核心(我們暫時稱其為A1)。印度高級計算發展中心(C-DAC)也針對高性能計算工作負載構建了自己的「Aum」處理器,其基於Arm的Neoverse V1核心。而根據之前的報道,富士通、Arm和日本RIKEN實驗室聯合為「富岳」超級電腦採用了48核A64FX處理器,其中使用的512位矢量定製Arm核心雖然專為A64FX所設計,但也可以被視為一種Neoverse V0核心。

我們還想知道,除了在Hot Chips 2023上公布N2核心晶片之外,Arm為什麼沒有立即推出基於V2核心的CSS伺服器晶片設計。或者說,為什麼不能在CSS設計中同時使用N2和V2兩種核心?關於這個問題,我們的猜測是不少數據中心運營商更看重性價比方面的優化,對於矢量計算能力的需求相對不是特別強;當然,這裡關於軟體和工作負載的推斷是否正確仍有待觀察。但AWS選擇V1、英偉達選擇V2應該傳遞出了明確的信號。Ampere Computing的A1核心在矢量計算方面更接近N2核心,其搭載兩個128位引擎,明顯是認為沒必要在雲端設置太多矢量計算核心。

前有V2飛彈,現有V2核心

Arm於2020年9月宣布將Neoverse核心和CPU設計劃分為三大類別,首先是主線N系列核心(重點關注整數性能),第二是剝離出來的V系列高性能核心(搭載雙矢量引擎),最後則是入門級E系列核心(重點關注能效和邊緣應用場景)。多年以來,該路線圖已經歷多輪擴展和更新,最新一代路線圖(即引入了N2平台的CSS子系統變體)前段時間正式登陸Hot Chips:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

為了顯得更親切,我們在圖表中添加了各核心和平台的代號。

Arm研究員兼首席CPU架構師Magnus Bruce在Hot Chips介紹了V2平台,解釋了該架構與Zeus V1平台間的區別。具體細節,請參考以下圖表:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

Bruce解釋道,「整個管線的運行基礎,在於其中的提前運行分支預測器。這個分支預測器充分的是指令預取器,負責把提取與分支區分開來。這樣的大型分支預測結構能夠覆蓋相當一部分現實伺服器工作負載。我們在其中使用到發出後才進行讀取的物理寄存器文件,這樣就能讓發出隊列擁有極大的規模,且不會增加數據存儲負擔。只有這樣,我們才能解鎖ILP(即指令級並行性)。我們使用低延遲的私有L2緩存、低延遲L1與私有L2緩存,再配合最先進的預取算法和主動存儲到加載轉發,藉此將核心上的冒泡和停頓減至最少。此外,系統的動態反饋機制還允許核心調節這種主動性,防止系統擁塞。正是憑藉這些基本概念,我們才能擴大機器的寬度和深度,同時繼續保持管線足夠短小以實現較快的錯誤預測恢復速度。」

更重要的是,這是一款基於Armv9、但又旨在顛覆該架構的實現。與之前十多年來長期用於定義Arm晶片的多代Armv8架構相比,新方案在性能、安全性和可擴展性方面均實現了增強。

V2晶片的架構調整非常微妙,但顯然也頗為有效。可我們可以看到,區區13%的性能提升距離Arm在2019年定下的每時鐘指令數(IPC)30%的提升目標還有很長的路要走:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

先拋開這個問題,下面我們通過圖表具體看看V2核心的分支預測器、獲取單元和L1緩存的設計變化:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

如大家所見,V1核心中的很多功能都被照搬到了V2核心,但後者也不乏更多更新。其隊列、表和帶寬大多實現了倍增,只有微操作緩存在轉向V2時反而有所減少。根據晶片模擬器對V1和V2建模進行的SPEC CPU 2017整數基準測試,V2核心調整讓每時鐘指令數增加了約2.9%。

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

同樣的,V1核心微架構上的一些解碼和指令分派優勢也被V2核心直接繼承,同時對解碼器通道和隊列做出了增強。總體效果就是每時鐘指令數提高了2.9%,結果同樣來自SPEC CPU 2018整數基準測試。(每時鐘指令數往往需要由混合測試進行計算,單憑SPEC CPU測試可能不夠準確,但我們目前就只有這份結果,所以姑且用之。)

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

在V2核心上,Arm架構師又添加了兩個單周期算術邏輯單元(ALU),增加了發出隊列的大小,並將謂詞運算符的帶寬加倍。這些調整配合其他改進,讓核心在2.8 GHz的頻率下將性能進一步提升3.3%。

與V1核心一樣,V2核心設有兩條加載/存儲管線和一條加載管線,但表後備緩衝區(TLB)上的條目從40個增加到48個,各種存儲和讀取隊列也變得更大。

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

這些調整配合其他改進,又讓V2核心性能再度增長3%。

Arm架構師實現的最大性能提升,則是通過硬體預取數據來實現:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

Bruce解釋道,「Neoverse V1已經具備了最先進的預取功能。」而在對預取增強功能做簡單介紹時,他思考半晌給出了這樣的說明:「通過對L1和L2未命中進行多引擎訓練,並將結果預取至L1和L2緩存中,我們的預取器能夠主要使用虛擬地址來實現頁面交叉,藉此使其充當TLB預取。預取器使用來自互連的動態反饋及CPU內部的準確性/及時性測量指標來調節主動性。V2繼續沿用V1的硬體基礎,但改進了訓練以增強過濾效果並提高操作準確性,能夠在更多預取器中使用程序計數器來實現更好的關聯和防混疊效果。V2還添加了新的預取引擎。L2獲得了全局空間內存流引擎,藉此增加了所能覆蓋的預取器領銜範圍,而且相較之前的標準SMS引擎實現了很大改進。我們又添加了一個採樣間接預取器,用於處理指針解除引用的情況。但到這裡,所有這些新增的預取器及其主動性設置又會造成新的潛在系統擁塞,特別是影響到系統級緩存或DRAM等共享資源。為此,我們對需求和預取提供了差異化的QoS級別,這樣既能主動執行預取,又不會給需求請求帶來額外的加載延遲。預取動態反饋機制能夠將預取器的主動性調節至合理的可持續水平。以上種種調整讓sepc管理器增加了5.3%,但同時讓SLC未命中率降低了8.2%。也就是說,我們能夠用更少的DRAM流量獲取更高性能。」

下面來看L2緩存如何發揮其魔力:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

將L2緩存加倍並沒有對性能產生太大影響,但系統級緩存未命中率的降低確實間接提高了性能水平。

以下是每時鐘指令數的提升總和:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

各數值之間是加法、而非乘法關係,V2核心的整數性能最終提升了13%。當然,這是建模計算的結果,借代表在SPEC CPU 2017整數基準測試中的表現。此外,V2核心將系統級緩存的總體未命中率降低了10.5%。

每當有新的核心或者晶片問世,具體產品都會根據性能、功耗和尺寸等指標間的綜合作用進行分級。下面來看V1和V2核心的綜合情況:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

採用7納米製程工藝的V1核心尺寸為2.5平方毫米,L2緩存為1 MB,功耗約為1.2瓦。V2核心的尺寸稍小一些,L2緩存倍增至2 MB,功耗提高了18%。所有指標均在2.8 GHz時鐘速率下做標準化比較。

當然,V2所代表的不只是核心,更是一整套可供授權的平台規範:

除了英偉達,ARM NEOVERSE V2核心還有沒有其他受眾?

藉助CMN-700互連,獲得Arm許可的廠商可以構建起至高256核心、512 MB系統緩存的V2 CPU。該互連可在網格上的所有核心、內存和I/O控制器之間提供4 TB/秒的截面帶寬。

V2核心的大部分演示都集中在整數性能層面。但在演講後的問答環節中,Bruce也介紹了不少關於矢量性能的有趣內容。V1核心搭載兩個256位SVE1矢量引擎,但V2核心則調整為四個128位SVE2矢量引擎。根據Brice的說明,這樣做是因為將混合精度數學運算分配給四個單元、要比分配給兩個單元更容易(應該也更高效)。

但正如我們在文章開頭所說,除了英偉達和可能的AWS之外,還有誰會願意申請V2核心的授權許可?這個問題真的很難回答,畢竟V2核心的潛在受眾基本上都已經在自主設計架構,似乎沒有理由非要花錢選擇這樣一種CSS變體。

宅中地 - Facebook 分享 宅中地 - Twitter 分享 宅中地 - Whatsapp 分享 宅中地 - Line 分享
相關內容
Copyright ©2025 | 服務條款 | DMCA | 聯絡我們
宅中地 - 每日更新