這幾年在The Next Platform上,,我們在一直思考以后IBM在 Power10處理器方面會做什么的同時,,我們也一直在進(jìn)行相應(yīng)的分析,試圖明確已經(jīng)采用獨特內(nèi)存架構(gòu)十多年的Big Blue能做什么,。
現(xiàn)在我們知道了,。Power10不僅是一個設(shè)計精美的芯片,,更是一個由其主要內(nèi)存緊密鏈接在一起的系統(tǒng)集群(在涉及到系統(tǒng)時可能會非常緊密)。自從公司參與美國國防高級項目研究機構(gòu)的超級計算體系結(jié)構(gòu)探索以來,,這種體系結(jié)構(gòu)就一直在不斷發(fā)展,,這項探索推動Power7處理器的兩個超級計算機變體于2010年誕生。這兩種機器都是PERCS項目的成果,, 并且于2006年11月,,DARPA投入2.44億美元用于IBM未來硬件和軟件的開發(fā)。借助Power10,,IBM可以擴(kuò)展和商業(yè)化多年以前PERCS項目奠定的技術(shù)基礎(chǔ),。
這種新架構(gòu)是無法一次性介紹清楚的。因此,,我們將分為兩部分,,首先討論Power10處理器,然后再討論這種新的內(nèi)存體系結(jié)構(gòu),。此外,,我們將討論一個簡單的問題:IBM是如何在橡樹嶺國家實驗室和勞倫斯·利弗莫爾國家實驗室輸?shù)袅藘纱伟賰|億級超級計算交易的。有了IBM的支持,,這本來就可以達(dá)成協(xié)議,,而且這還可能意味著未來的AMD Epyc處理器將具有類似的基于SerDes的內(nèi)存和I / O控制器以及基于硬件的內(nèi)存和全局尋址。
話不多說,,讓我們深入研究探討Power10處理器,。
任何其他名字的云端
首先,據(jù)我們所知,,IBM并沒有給Power10芯片起代號,。即使這是事實,但這還是也難以讓人相信,,而且要是真的沒有命名,,那就太愚蠢了。有了多種語言版本的代號,,在進(jìn)行相關(guān)交流時會非常方便,。此外,名字要酷,,這一點很重要,。畢竟我們是人類,,標(biāo)簽不僅具有意義,,還要具有魔力。因此,,我們將在Power10芯片上賦予一個代號,,這是對IBM工程師所做工作的一種洗禮,,也是為出于某些原因而無法解決這類問題的銷售人員提供幫助。
在IBM內(nèi)部,,低端Power9芯片被稱為“ Nimbus”,,而針對大型NUMA鐵的高端Power9芯片被稱為“ Cumulus”,這兩者都與當(dāng)今服務(wù)器基礎(chǔ)架構(gòu)日趨多云的性質(zhì)保持一致,。這些是大的“暴風(fēng)云”,,有時會合并為“積雨云”,從地面一直延伸到地面以上12公里,。對于Power10,,鑒于其更具空靈的本性,我們正式將其稱為“卷云”,,即高聳在對流層外緣9至12公里間稀疏的龍鳳祥云,。
既然第一個問題已經(jīng)解決了,那就來談?wù)処BM有望在一年后上市的Cirrus處理器,。
William Starke和Brian Thompto于本周在Hot Chips上發(fā)表了有關(guān)Power10的演講,。Starke是Power10處理器的首席架構(gòu)師,并參與了IBM幾代Power芯片的設(shè)計,。Starke在2019年8月與我們談?wù)摿薖ower10會對帶寬方面給予多少關(guān)注,,然后我們還討論了Power9的“ Axone”處理器問題。該處理器是實現(xiàn)Power10內(nèi)存子系統(tǒng)原型Power9芯片的推動者,,該消息本該于去年宣布,,但至今還沒有任何動靜。(我們的猜測是,,該原型旨在為購買IBM級計算機的HPC中心提供一個軟件開發(fā)平臺,,但前提是IBM能拿下美國能源部的合同。)Thompto是Power10的核心架構(gòu)師,,專門負(fù)責(zé)對Cirrus核心進(jìn)行重新設(shè)計,,重點是提高核心各個方面的能源效率
Power10內(nèi)核遵循新的Power指令集版本3.1,該版本于去年8月在OpenPower Foundation下開工,。根據(jù)Thompto的說法,,Power10內(nèi)核已添加了200多個新指令,這些指令旨在使微體系結(jié)構(gòu)在某些功能上更高效,,此外還增加了新功能,。以下是Power10內(nèi)核支持的重要新指令和數(shù)據(jù)格式的細(xì)分:
對于商業(yè)和HPC工作負(fù)載而言, Power10芯片在其矢量和矩陣數(shù)學(xué)單元中支持混合精度浮點數(shù)和整數(shù)格式非常重要,,這使其能夠在本地處理器上支持機器學(xué)習(xí)訓(xùn)練和推理工作負(fù)載,。我們非常懷疑是否能在Power10芯片方面經(jīng)行有效的機器學(xué)習(xí)培訓(xùn),但我們確信,,推理將在主機處理器而不是在加速器上進(jìn)行,,因為推理將需要嵌入到應(yīng)用程序中,,并且與應(yīng)用程序中的其他處理過程非常緊密地結(jié)合在一起。如果推理將成為商業(yè)應(yīng)用程序中相對較少和稀疏的部分,,那么這才有意義,。
以下是Power10芯片上SIMD向量引擎和矩陣數(shù)學(xué)輔助(MMA)單元的提要和速度,表明Power10內(nèi)存所粘貼的DDR4內(nèi)存緩沖區(qū)上的OpenCAPI內(nèi)存接口(OMI)的路徑一直使用到矩陣數(shù)學(xué)單元的路徑,。
上面顯示的數(shù)據(jù)是針對胖Power10內(nèi)核的,,該內(nèi)核具有同時設(shè)置的線程,每個內(nèi)核具有八個線程(在IBM中稱為SMT8模式),。對于IBM鎖定為SMT4模式的Power10芯片,,將每個內(nèi)核的SIMD和MMA單元數(shù)量減少一半,然后將芯片上的內(nèi)核總數(shù)乘以2,。同樣,,它只是為了性能和每個內(nèi)核軟件許可調(diào)整硬件。
如您所見,,向量單元支持標(biāo)準(zhǔn)的32位單精度浮點數(shù)和64位雙精度浮點數(shù),,這些浮點數(shù)是HPC工作負(fù)載的主體,并且也經(jīng)常被AI工作負(fù)載使用,。但是Power10上的數(shù)學(xué)單元還支持兩種16位半精度浮點格式– IEEE float-16格式和Google更好的Bfloat-16替代方案,,其動態(tài)范圍比FP16大,并且實際上與FP32相同,。在不犧牲數(shù)字動態(tài)范圍的情況下,,犧牲一些精度對于AI來說是一個折衷方案,這對機器學(xué)習(xí)訓(xùn)練和推理結(jié)果的影響很小,,并且允許在任何給定時間內(nèi)通過數(shù)學(xué)單元運行更多數(shù)據(jù),。而這對機器學(xué)習(xí)結(jié)果有巨大的影響。英特爾于6月宣布的“ Cooper Lake” Xeon SP處理器在其矢量引擎中支持Bfloat16處理,,Nvidia的“ Ampere” A100 GPU加速器也支持,。顯然,谷歌的TPU AI引擎也支持它發(fā)明的Bfloat16格式,,Tachyum的未來Prodigy處理器和Arm Holdings的Neoverse Arm服務(wù)器芯片設(shè)計也將支持這種格式,。Ampere Computing和Marvell都為未來的Arm服務(wù)器芯片設(shè)計提供了Bfloat16支持。
Power10芯片還支持4位,,8位和16位整數(shù)運算,,這對于機器學(xué)習(xí)推理工作負(fù)載最為重要。數(shù)學(xué)單元根據(jù)具體情況累積為64位或32位,,并提供Power9芯片SIMD處理能力的兩倍和矩陣數(shù)學(xué)能力的4倍至32倍,。這對于處理器而言是一個巨大的提速障礙,并且許多客戶將能夠使用Power10芯片進(jìn)行推理而無需使用加速器-就像他們在數(shù)據(jù)中心中使用Intel CPU一樣。
讓我們把Power10內(nèi)核放大,,然后逐步研究微體系結(jié)構(gòu),,再研究片上系統(tǒng),。讓我們看一看power10的核心部分:
同樣,,這是Power10內(nèi)核的SMT8版本,您可以在內(nèi)核上看到2 MB的L2緩存段,,它是Power9內(nèi)核上的L2緩存的四倍,。加載和存儲單元的數(shù)量是存儲單元的兩倍,而內(nèi)存管理單元的數(shù)量則是存儲管理單元的四倍,,它們分別裝入SIMD和矩陣數(shù)學(xué)單元,,分別是Power9的2倍和4倍?;陔p插槽Power10服務(wù)器的硅前仿真,,與標(biāo)準(zhǔn)的4 GHz時鐘周期的雙插槽Power9服務(wù)器相比,此設(shè)置可產(chǎn)生比雙插槽Power9服務(wù)器高約20%的單線程性能,,并且平均核心性能提高了30%( 大概包括來自那些SIMD和MMA單元的少量數(shù)學(xué)運算),。
深入研究微體系結(jié)構(gòu),下圖是Power10內(nèi)核的工作流程:
這張圖只顯示了SMT8設(shè)置的一半,,這一半很難繪制出來,,但是其等效于SMT4內(nèi)核。您可以在系統(tǒng)的核心看到四個128位執(zhí)行片,,它們的前端是48 KB L1指令高速緩存,,后端是32 KB L1數(shù)據(jù)高速緩存。如您所見,,此Power10內(nèi)核的許多功能是Power9內(nèi)核的2倍或4倍,,盡管其中一些功能僅作了適度的改進(jìn)。加起來,,SMT8內(nèi)核平均可多完成30%的工作,,而且由于設(shè)計的原因,該過程從與Power9一起使用的GlobalFoundries的14納米工藝縮減到了三星的7納米工藝(其中還有一些額外的IBM產(chǎn)品)不僅是三星的V1流程),,每個內(nèi)核的功耗也減少了一半,。這是每瓦性能提高2.6倍的一個因素,聽起來不同系列之間相差很多,,但您必須記住,,Power9和Power10系列之間也差不多有四年的時間。
這是令人印象深刻的改進(jìn),,但是IBM是否能用兩年時間完成這項工作,?
IBM相對于Power Systems機器中的Nimbus和Cumulus接口,使接口的功率或多或少保持恒定,,但并未透露這些接口的功率是多少,。Starke所說的是,,再次針對4 GHz性能進(jìn)行了標(biāo)準(zhǔn)化的Power10插槽,其整數(shù)性提升至約3.25倍,,浮點或Java性能約3倍,,以及Power9插槽的內(nèi)存帶寬性能約2.25倍。
該內(nèi)存帶寬數(shù)據(jù)是基于STREAM Triad基準(zhǔn)測試的,,這一點很有趣,,因為這使Power9上的直接連接的DDR4內(nèi)存與OMI內(nèi)存相對,在OMI內(nèi)存上有由Power10芯片上的Serdes驅(qū)動的DDR4記憶棒上的緩沖區(qū),。SerDes和緩沖區(qū)設(shè)置增加了大約10納秒的內(nèi)存訪問時間,,因此它不是免費的,而是正常的,。但是有趣的一點是,,因為OMI SerDes并非是針對DDR4進(jìn)行硬編碼的(但緩沖芯片是)。當(dāng)DDR5內(nèi)存出現(xiàn)時,,它會位于相同的緩沖區(qū)后面,,并且可以直接交換到Power10機器中,此時內(nèi)存性能會在無需更改處理器或系統(tǒng)時即可突然再次翻倍,。
干得漂亮,。
在討論了上述的Power10通用接口性能提升之后,我們可能應(yīng)該看看該個接口,。因此,,這里是已硬化為SMT8模式的Power10芯片,其功能標(biāo)記為:
如您所見,,Power10裸片上有16個內(nèi)核,,但是IBM僅為其中的應(yīng)用激活15個(如果是SMT4模式則為30個)內(nèi)核。因為考慮到三星7納米工藝的良率,,第16個內(nèi)核并不是多余的(盡管IBM從統(tǒng)計學(xué)上來考慮的話的確如此),,三星正在使用IBM Power10來制造其首個服務(wù)器芯片。Power10的存在使得用于客戶端設(shè)備和智能手機的Samsung Exynos處理器看起來像個玩具,。相比之下,,確實如此。無論如何,,在某個時候,,當(dāng)收益提高時,IBM將能夠出售該第16核,,并且我們肯定他們會這么做,。
Power10芯片有180億個晶體管,目前還很輕,它的面積為602平方毫米,,堆疊了18層金屬,。該芯片具有128 MB的L3緩存,我覺得很有趣的是IBM沒有像Power7,,Power8和Power9那樣使用嵌入式DRAM設(shè)計,,而是使用了三星蝕刻的常規(guī)SRAM。Starke表示,,由于流程縮減,,IBM可以做到這一點,。
這是一點很有趣,。多年來,我們在Power10幕后看到的所有路線圖都將其固定在48個核心上,。如今,,由于上面提到的良率問題,我們非常懷疑IBM是否會將48個內(nèi)核塞入甚至7納米的單片芯片中,,我們只是認(rèn)為IBM會基本上縮小Power9芯片,,增加改進(jìn)的I / O和內(nèi)存SerDes。并將其中兩個以SMT4模式放入單個插槽中,,以達(dá)到48核,。當(dāng)然這只是一個計劃,而不是IBM實際所做的,。
確切來講,,IBM一直向整個計劃靠近,創(chuàng)建了具有16個SMT8內(nèi)核或32個SMT4內(nèi)核的芯片,,并且還配備了雙芯片模塊選件,,以使內(nèi)核數(shù)量增加一倍,同時時鐘頻率適度減少在鐵心上保持最高速度,,并且仍保持在為自己的電源系統(tǒng)設(shè)置的散熱范圍內(nèi),。因此,它可以在一個接口中提供30個較大或60個較小Power10內(nèi)核,,每個接口總共240個線程,。
為了讓其正常運行,有16個x8(八通道)OMI內(nèi)存接口,,總帶寬為1 TB /秒(車道以32 GT / sec的速度運行),,還有16個PowerAXON x8接口也以32的速度運行GT /秒,并提供1 TB /秒的帶寬,。這些PowerAXON接口可以運行NUMA或OpenCAPI接口,,并且沒有充分的理由說明它們不能運行與Nvidia A100 GPU加速器一起使用的NVLink 3.0協(xié)議,但事實是它們卻沒有。(嗯……)Power10處理器還具有兩個PCI-Express 5.0控制器,,每個控制器有16條通道,,在您意識到IBM希望通過PowerAXON鏈接將很多東西加入Power10芯片之前,這聽起來并不多,。我們將看看IBM是否在這些PCI-Express 5.0控制器上支持Intel的CXL協(xié)議,。這使其沒有理由不正常運行,并且從理論上講,,IBM不能通過PCI-Express鏈接支持AMD Radeon Instinct和Intel Xe GPU加速器,。但是,除非使用PCI-Express開關(guān),,否則這將限制每個CPU,,使只能連接兩個GPU設(shè)備。目前尚不清楚是否可以通過PCI-Express協(xié)議在CPU和GPU內(nèi)存之間提供一致性,,但是從理論上講,,如果IBM仍想出售混合CPU-GPU系統(tǒng),則沒有理由不起作用,。至少在我們看來是如此,。
這是IBM最初考慮在服務(wù)器中安裝Power10的方式:
我們認(rèn)為這些主題會有所變化,并且Power10的SMT4變體也可以根據(jù)需要提供,。但是,,正如您所看到的,IBM將把其NUMA大部件集中在單芯片模塊上,,像在Power8和Power9機器中所做的那樣擴(kuò)展到16個插槽,,但在具有以下功能的機器中使用的Power10雙芯片模塊最多達(dá)到四個接口。為了使每個插槽的內(nèi)核數(shù)量增加一倍,,IBM只需將時鐘速度降低大約12.5%(從大約4 GHz降低到大約3.5 GHz),,但這仍然可以將性能提高1.9倍,并且使該系統(tǒng)擁有更多的I / O和同樣多的內(nèi)存容量,。所以說這是一場公平交易,。
順便說一句,這并不是IBM首次采用雙芯片模塊,。無論客戶是否知道,,具有Power5 +,Power6 +,,Power7 +和Power8處理器的系統(tǒng)都具有DCM的一些變體,。
HotChips 2020:采用三星7nm工藝的IBM POWER10 處理器
在日前舉辦的Hot Chips 2020會議上,IBM 介紹了公司最新一代的處理器——POWER10的一些進(jìn)展,。Power10對Power9進(jìn)行一些重大改進(jìn),。IBM聲稱在相同的功率范圍內(nèi),,其容量和處理器能效比上一代芯片提高了3倍。
Power10處理器具有動態(tài)執(zhí)行寄存器控制功能,,這意味著用戶可以設(shè)計出更能抵抗攻擊且性能損失可忽略不計的應(yīng)用程序,。除此之外,它還附帶有IBM所謂的“內(nèi)存啟動”功能,,該功能使集群中任何基于Power10的系統(tǒng)都可以與其他系統(tǒng)共享內(nèi)存,。同時,在等式的AI方面,,IBM表示,,與Power9相比,Power10處理器在企業(yè)AI推理任務(wù)方面的性能將提高10到20倍,。