因?yàn)楣跔畈《镜拇罅餍校?a class="innerlink" href="http://forexkbc.com/tags/Arm" target="_blank">Arm的年度技術(shù)日活動(dòng)采取了線上舉辦的模式,。在今年的會(huì)上,他們正式揭開(kāi)了全新Neoverse內(nèi)核和處理器設(shè)計(jì)的神秘面紗,。這些新的內(nèi)核和處理器設(shè)計(jì)將被渴望加入的人采用和修改,用于挑戰(zhàn)X86處理器的霸主地位,。眾所周知,,在現(xiàn)在的數(shù)據(jù)中心和邊緣處理器中,Intel和AMD的CPU建立了相當(dāng)堅(jiān)固的地位,。
從發(fā)布會(huì)上我們可以看到,,未來(lái)的Neoverse服務(wù)器體系結(jié)構(gòu)與一個(gè)月前發(fā)布的未來(lái)Armv9-A體系結(jié)構(gòu)緊密結(jié)合,并將在Neoverse“ Perseus” N2內(nèi)核中首次亮相,。盡管有許多Arm服務(wù)器芯片供應(yīng)商離開(kāi)了該領(lǐng)域,,但Arm Holdings卻一直呆在那里,似乎有許多芯片設(shè)計(jì)人員和供應(yīng)商為Arm替代方案提供動(dòng)力,。
像Neoverse N2內(nèi)核一樣,,它的設(shè)計(jì)已經(jīng)完成并且可以從Arm Holdings獲得許可,“ Zeus” V1內(nèi)核也已經(jīng)完成,,并且在Neoverse設(shè)計(jì)系列以及數(shù)據(jù)中心和邊緣的各種CPU中提供了顯著的差異,。
實(shí)際上,雖然我們還不知道,,但在今年下半年和明年年初的某個(gè)時(shí)候,我們應(yīng)該可以看到不止一個(gè)基于Arm Holdings的Zeus和Perseus平臺(tái)打造的的處理器,。
在本文中,,我們將分別探討Arm在服務(wù)器市場(chǎng)的性能和前景。首先,,我們將僅介紹V1和N2架構(gòu),。這是對(duì)原始Neoverse平臺(tái)路線圖的回顧:
當(dāng)Arm的Neoverse最早于2018年10月提出時(shí),那時(shí)Arm的想法是希望能擁有專門針對(duì)服務(wù)器的專用IP,。而在當(dāng)時(shí),,只有16納米的“ Cosmos” N0(實(shí)際上是Cortex-A72和Cortex-A75)設(shè)計(jì),7納米的“Ares”原計(jì)劃于2019年面世,,使用增強(qiáng)型7納米工藝的“Zeus” 則在2020年面世,,5納米的“Poseidon”在2021年。
Arm說(shuō),,它在每年的設(shè)計(jì)中可以提供30%的性能提高約,,合作伙伴也可以利用它們?cè)谧约旱姆?wù)器路線圖中創(chuàng)建的年度節(jié)奏,。
然而事實(shí)證明,這種年度節(jié)奏被證明是棘手的,,而且數(shù)據(jù)中心市場(chǎng)已經(jīng)分為核心數(shù)據(jù)中心(N系列),,邊緣計(jì)算(E系列)和非常高性能(V系列)核心。為此Arm似乎把Zeus N2重新命名為Perseus N2,,然后在V1高性能芯片上增加了很多功能,,并賦予了舊的Zeus新代號(hào)。
去年9月,,當(dāng)Arm推出Neoverse V1設(shè)計(jì)并將其投入使用時(shí),,N2設(shè)計(jì)尚不可用。兩大Arm服務(wù)器芯片Ampere Computing Altra和Amazon Web Services Graviton2均是基于N1內(nèi)核和平臺(tái)設(shè)計(jì),,并進(jìn)行了各種自定義,。N1設(shè)計(jì)支持常規(guī)DDR4內(nèi)存或HBM2堆疊內(nèi)存,以及PCI-Express 4.0外圍控制器和CCIX 1.0互連器(用于加速器),,并在處理器之間提供NUMA共享內(nèi)存,。CCIX是許多互連中的一種,以提供CPU和加速器之間的緩存一致性內(nèi)存共享,。Arm從一開(kāi)始就與CCIX一起使用,,并一直將其用作CPU互連,就像AMD具有Infinity Fabric(PCI-Express的超集或HyperTransport的子集,,取決于您如何看待它)一樣,。英特爾CXL的非對(duì)稱內(nèi)存模型也被加速器所采用,并運(yùn)行在PCI-Express 5.0傳輸之上,,并且正在逐漸被CPU制造商廣泛采用,。但這不適用于NUMA鏈接,僅適用于各種存儲(chǔ)和計(jì)算加速器,。
在深入了解具體細(xì)節(jié)之前,,Arm整理了一些不錯(cuò)的圖表,這些圖表顯示了Neoverse平臺(tái)中不同核心之間的區(qū)別,。這個(gè)很有趣:
這是另一個(gè)顯示E系列,,N系列和V系列在不同熱范圍,內(nèi)核數(shù)和用例中的位置的視圖:
確實(shí),,這種區(qū)別并不新鮮,。Arm在三年前就針對(duì)邊緣和各種數(shù)據(jù)中心計(jì)算工作負(fù)載談?wù)摿伺cNeoverse N1設(shè)計(jì)有關(guān)的各種設(shè)計(jì)SKU。它只是通過(guò)三個(gè)不同的芯片系列明確完成的,,因此Arm許可商為特定市場(chǎng)生產(chǎn)服務(wù)器芯片的某些核心和非核心工作將不再需要做,。
深挖V1
V1內(nèi)核將進(jìn)一步突破內(nèi)核數(shù),時(shí)鐘速度和每秒操作數(shù)的限制,。一切都變成了11個(gè),。這并不是因?yàn)锳rm想要炫耀什么,,而是因?yàn)橐恍┻\(yùn)行搜索引擎,機(jī)器學(xué)習(xí)培訓(xùn)和推理,,HPC仿真和建模以及數(shù)據(jù)分析工作負(fù)載的客戶需要一個(gè)怪物來(lái)處理他們的數(shù)據(jù),。此外,大型公共云希望擁有一個(gè)大型實(shí)例,,可以將其分解為小實(shí)例,,但重要的是,還可以將大型實(shí)例作為一個(gè)昂貴的實(shí)例出售給需要運(yùn)行該實(shí)例的用戶,,例如SAP HANA內(nèi)存數(shù)據(jù)庫(kù)在云中,。
與Ares N1內(nèi)核相比,Zeus V1內(nèi)核在整數(shù)工作負(fù)載上可提供50%的單線程性能提高,,這比Arm承諾的每代平均30%的性能還要好,。V1設(shè)計(jì)具有SVE向量引擎的Armv8-A實(shí)現(xiàn),在這種情況下,,它將支持一對(duì)256位寬的向量,,這些向量可以執(zhí)行Bfloat16以及并行進(jìn)行浮點(diǎn)和整數(shù)運(yùn)算的混合。這將基本上與每個(gè)Intel Xeon SP內(nèi)核中的AVX-512矢量單元以及AMD“ Milan” Epyc 7003內(nèi)核中的一對(duì)256位FMA單元相匹配,。
這是一個(gè)整潔的小圖表,,解釋了N1,V1和N2內(nèi)核中使用的向量單位的差異:
V1內(nèi)核中的寬矢量與GPU加速器的并行度不高,,但是它們運(yùn)行得相當(dāng)快,,并且性能差異并不像您想象的那么小。如果您可以獲得GPU的帶寬(大約是GPU的計(jì)算密度的一半),,并且沒(méi)有任何混合編程麻煩,,那么也許這是一種更聰明(或者至少更容易)的方式。大家似乎非常清楚,,矢量化代碼是性能的未來(lái),,而不管它是如何完成的以及使用哪種設(shè)備。
Zeus V1平臺(tái)將為需要高帶寬的用戶提供HBM2E堆棧存儲(chǔ)器的DDR5主存儲(chǔ)器支持,,并支持PCI-Express 5.0外圍設(shè)備以及CCIX 1.1協(xié)議用于加速器和NUMA互連。這將或多或少地取決于這些技術(shù)的比率,,并與英特爾未來(lái)的 “Sapphire Rapids”Xeon SP和AMD的“ Genoa” Epyc 7004s相提并論,。
這些芯片公司必須在7納米和5納米工藝之間做出非常謹(jǐn)慎的選擇,因此如果我們看到一些使廠商使用CCIX進(jìn)行小芯片互連的小芯片實(shí)現(xiàn),,并不會(huì)感到驚訝,。按照Arm的設(shè)計(jì),允許使用7納米或5納米工藝實(shí)現(xiàn)核心,,對(duì)于非核心區(qū)域,,則可能允許使用14納米或7納米工藝蝕刻,,因?yàn)闇p小晶體管尺寸會(huì)最大程度地降低其電壓泄漏問(wèn)題。然而鑒于現(xiàn)在對(duì)芯片的巨大需求以及7納米或5納米制造能力的局限,,做出這些呼吁將非常困難,。
Zeus V1在技術(shù)上符合Armv8.4 ISA和AMBA CHI.D片上互連規(guī)范,這意味著它支持SVE向量,。實(shí)際上,,這是Arm的第一個(gè)本地化SVE實(shí)現(xiàn),它支持將這對(duì)256位SVE單元作為128位NEON加速器的四路運(yùn)行,,這對(duì)于那些將應(yīng)用程序調(diào)整為在Arm GPU加速器上運(yùn)行的用戶來(lái)說(shuō)非常有用,。V1核心增強(qiáng)了nested virtualization,內(nèi)存分區(qū)和加密技術(shù),,并在可靠性和可伸縮性方面進(jìn)行了許多改進(jìn),。它還從Armv8.5規(guī)范以及Armv8.6規(guī)范的SVE引擎中的Bfloat16和Int8處理中拉開(kāi)了深遠(yuǎn)的持久性和推測(cè)障礙??梢钥隙ǖ氖?,V1內(nèi)核中的內(nèi)容比N1內(nèi)核中的更多。
在設(shè)計(jì)中,,沒(méi)有提到的的是同時(shí)多線程或SMT,。Arm已從其許多服務(wù)器芯片許可證持有者的觀點(diǎn)出發(fā),認(rèn)為良好的圍墻不會(huì)減少嘈雜的鄰居,,并且不會(huì)對(duì)其內(nèi)核進(jìn)行線程化,,因此出于性能和安全性原因,可以隔離最小的計(jì)算單元(即內(nèi)核),。
此設(shè)計(jì)中的許多內(nèi)容都針對(duì)百億級(jí)HPC,,而SiPearl為歐洲第一臺(tái)使用V1內(nèi)核的百億級(jí)計(jì)算機(jī)設(shè)計(jì)加速器并非巧合。
“在考慮百億億次級(jí)系統(tǒng)時(shí),,我們?cè)贑MN-700互連和核心中都牢記了一些設(shè)計(jì)目標(biāo),,” Arm基礎(chǔ)設(shè)施產(chǎn)品管理高級(jí)總監(jiān)Brian Jeff告訴The Next Platform?!白钪匾氖切阅?,這很重要,因?yàn)樵谶@些系統(tǒng)中,,通常您連接到具有真正強(qiáng)大功能的GPU或其他加速器,,但根據(jù)Amdahl's law,它們通??梢缘却龁尉€程工作負(fù)載,。但是性能對(duì)于在這些計(jì)算機(jī)上運(yùn)行的工作負(fù)載也很重要。”
內(nèi)存和I / O帶寬顯然也很重要,,因此保持所有這些平衡也很重要,,因此沒(méi)有一個(gè)組件會(huì)等待很多時(shí)間。
考慮到所有這些,,V1內(nèi)核是Arm進(jìn)入該領(lǐng)域以來(lái)性能最高的內(nèi)核,,該平臺(tái)也將把帶寬限制推到了極限。
這是Zeus V1核心pipeline的外觀:
這是V1核心,,并包含CPU元素:
這是深入研究?jī)?nèi)核以及大規(guī)模芯片中V1設(shè)計(jì)元素的理論用法:
“這一切都始于一個(gè)非常好的前端,,”在Arm中央工程部門從事內(nèi)核工作的杰出工程師Chris Abernathy解釋說(shuō)。
“ V1分支預(yù)測(cè)器與N1內(nèi)核中的分支預(yù)測(cè)器一樣,,已與指令提取分離,,這使得分支預(yù)測(cè)可以提前運(yùn)行并將指令預(yù)取到L1指令緩存中。這是我們微體系結(jié)構(gòu)的一個(gè)非常重要的特征,。為了提高基準(zhǔn)測(cè)試和實(shí)際工作負(fù)載的性能,,我們擴(kuò)大了分支預(yù)測(cè)帶寬?!?/p>
分支預(yù)測(cè)器每個(gè)周期有兩個(gè)32字節(jié)的flights ,,其分支目標(biāo)緩沖區(qū)(BTB)增大了33%,達(dá)到8 KB,。Abernathy說(shuō),,這個(gè)想法是要捕獲更多具有更大指令足跡的分支,同時(shí)還可以為更緊湊,,更小的內(nèi)核降低分支等待時(shí)間,。其他提高分支準(zhǔn)確性以及將可跟蹤的代碼區(qū)域數(shù)量加倍的調(diào)整,確實(shí)有助于Java工作負(fù)載和其他具有較大且稀疏代碼區(qū)域的應(yīng)用程序,。新的V1前端的最終結(jié)果是分支錯(cuò)誤預(yù)測(cè)減少了90%,,前端停滯減少了50%。
根據(jù)Abernathy的說(shuō)法,,V1設(shè)計(jì)也在推動(dòng)寬度和深度的極限,。內(nèi)核每個(gè)周期可以發(fā)送8條指令,是N1內(nèi)核的兩倍,,并且指令高速緩存的解碼帶寬每個(gè)周期提高4倍至5倍,。內(nèi)核中的指令解碼延遲也減少了1個(gè)周期。V1內(nèi)核中的亂序執(zhí)行窗口大小也要大一倍,,這為內(nèi)核暴露了更多的指令并行性,,以使自己能夠處理任務(wù)。整數(shù)分支執(zhí)行單元增加了一倍(到兩個(gè)),,算術(shù)邏輯單元(ALU)的數(shù)量每個(gè)內(nèi)核增加了25%,達(dá)到四個(gè)。加載/存儲(chǔ)單元和緩沖區(qū)都得到了提升,,許多功能的寬度或帶寬(或兩者)加倍,,最終結(jié)果是V1內(nèi)核比N1內(nèi)核的流傳輸帶寬性能提高了45%。
最終結(jié)果是,,在相同的頻率下,,V1內(nèi)核在N70內(nèi)核上具有比N1內(nèi)核高50%的每個(gè)內(nèi)核(IPC)指令,如果客戶希望在時(shí)鐘速度上犧牲一點(diǎn)性能,,他們可以從根本上減少功率,。我們不希望客戶購(gòu)買基于V1內(nèi)核的服務(wù)器CPU來(lái)做到這一點(diǎn)。這是一輛有肌肉的汽車,,它將運(yùn)行迅速且充滿激情,。
揭開(kāi)N2的面紗
現(xiàn)在,我們談一下Perseus N2的內(nèi)核和CPU設(shè)計(jì),,該設(shè)計(jì)針對(duì)每美元性能和每瓦性能進(jìn)行了優(yōu)化,,而不僅僅是像V1內(nèi)核和CPU那樣不惜一切代價(jià)提高性能極限。如果V1是肌肉車,,則N2是跨界運(yùn)動(dòng)型多功能車,。
Abernathy說(shuō)N2內(nèi)核上的前端與V1內(nèi)核上的前端相似,但是該內(nèi)核將基于Armv9-A架構(gòu),,該架構(gòu)具有各種有趣的安全功能,,坦率地說(shuō),這些功能很少用于百億億次計(jì)算設(shè)施,。
V1設(shè)計(jì)針對(duì)具有32到128個(gè)內(nèi)核且散熱范圍在80瓦到350瓦之間的CPU,,而N2內(nèi)核則針對(duì)可能具有12到36個(gè)內(nèi)核,運(yùn)行功率在30瓦到80瓦之間的主流基礎(chǔ)架構(gòu)服務(wù)器,。但這并不是說(shuō)不會(huì)有N2芯片無(wú)法突破核心限制,,我們認(rèn)為Ampere Computing,AWS以及Nvidia可能會(huì)在某些設(shè)備中使用N2內(nèi)核,。(Ampere和AWS不太可能在各自的Altra或Graviton芯片中使用V1內(nèi)核,。)
N2確實(shí)是對(duì)N1的升級(jí),在恒定頻率下IPC提高了40%,,功耗與N1大致相同,,但其時(shí)鐘速度提高了10%,并且內(nèi)核和緩存可能更多,,這得益于N1縮小到5納米,。
這是N2核心的框圖:
N2設(shè)計(jì)具有5個(gè)寬的調(diào)度單元,并且較少依賴于深度和寬度攻擊來(lái)驅(qū)動(dòng)V1內(nèi)核具有的最佳性能,。正如Abernathy所言,,與N1相比,,N2設(shè)計(jì)中的性能特征必須在功率效率和面積效率上“付出代價(jià)”,而這實(shí)際上是對(duì)采用新型Armv9-A架構(gòu)的N1的優(yōu)化,,以及V1前端嫁接到了它上,。可以將分支預(yù)測(cè)視為燃料噴射,,并且V1的氣缸比N2的多得多,,并且還具有更多的燃料噴射器。一種是進(jìn)行拉力賽,,其中燃料費(fèi)并不重要,,但到達(dá)終點(diǎn)線的時(shí)間卻很重要;另一種是在度假時(shí)進(jìn)行長(zhǎng)途旅行,,而不用花費(fèi)比在廉價(jià)旅館更多的汽油費(fèi),。
N2內(nèi)核將占用多達(dá)30%的面積,并消耗更多的功率以提供40%的吞吐量,,重要的是,,N2內(nèi)核將比V1內(nèi)核小25%,因此您可以將更多的N2內(nèi)核塞入給定的芯片中尺寸,。那些繁瑣的向量和繁瑣的緩存不是免費(fèi)的,。CPU架構(gòu)中沒(méi)有任何東西。而且,,除了Armv9-A架構(gòu)中的所有安全功能之外,,這就是為什么我們希望云構(gòu)建人員希望N2設(shè)計(jì)勝于V1設(shè)計(jì)。如果他們(或者他們的芯片合作伙伴,,如果他們不像AWS那樣設(shè)計(jì)自己的芯片,,或者微軟正在這樣做),我們不會(huì)感到驚訝,,可以使用小芯片設(shè)計(jì),,再一次使用CCIX作為小芯片互連,并且可能將其核心限制提高到128個(gè)以上的內(nèi)核像AMD的Epyc X86服務(wù)器CPU一樣,,突破了I / O和內(nèi)存中心的局面,。
這就是我們要做的,也許是在單插槽設(shè)計(jì)中,,這實(shí)際上可以降低系統(tǒng)成本,,并增加云實(shí)例的大小以及您可以分割的切片數(shù)量。
這是Abernathy展示的N2參考設(shè)計(jì):
這是針對(duì)32核單芯片的,,具有四到八個(gè)DDR5內(nèi)存通道(運(yùn)行頻率為5.6 GHz,,是的)和十二個(gè)用于NUMA擴(kuò)展或用作CXL端口的端口。該參考資料沒(méi)有施加任何限制,,但是其模擬器將幫助公司為N2和硬件工程師編寫軟件,,以考慮他們可能會(huì)做出的更改,,以創(chuàng)建自己的N2設(shè)計(jì)。