AMD:模塊化數(shù)據(jù)中心通羅馬?
看起來似乎有強行把芯片設計和數(shù)據(jù)中心建設拉到一起尬聊的感覺,但世間也沒有那么多的一見如故,一些有意義的討論未嘗不是從尬聊開始的。
就我個人而言,今年已經(jīng)多次在關(guān)于數(shù)據(jù)中心的文章和(線上)分享中提到AMD:“從1月29日開始到2月6日,騰訊會議每天都在進行資源擴容,日均擴容云主機接近1.5萬臺,8天總共擴容超過10萬臺云主機,共涉及超百萬核的計算資源投入,全部由騰訊云自研的服務器星星海提供支撐?!边@款服務器基于AMD去年8月發(fā)布的代號Rome(羅馬)的第二代EPYC處理器,最大的特點就是核多——雙路配置再算上超線程,一臺采用騰訊云定制版EPYC處理器的星星海服務器可以為云服務器提供多達180個核——也就是說,這100萬核服務器資源,“只”需要不到6000臺該款自研服務器即可滿足。
騰訊云星星海SA2服務器采用2U高度結(jié)合類似遠程散熱片(remote heat-sink)的設計,配合6個60mm風扇,據(jù)稱可以支持2個300W級別的CPU(AMD第二代EPYC處理器公開版本最高TDP為280W)
實際上,官方名稱為AMD EPYC 7002系列的第二代EPYC處理器最多能提供64個核芯、128個線程,騰訊云定制版本選擇了48核芯(96線程)而已。至少在CPU的核數(shù)(core count)上,AMD給Intel(英特爾,昵稱“大英”)造成了很大的壓力。上個月英特爾發(fā)布了代號為Cooper Lake的第三代至強可擴展處理器(Xeon Scalable Processor,XSP),主打四路和八路市場,四路配置可提供112核芯224線程,核數(shù)上堪與雙路EPYC 7002系列抗衡,為10nm制程的Ice Lake爭取時間。
摩爾定律難以延續(xù)的后果就是CPU的功耗持續(xù)攀升,第一代至強可擴展處理器(公開版)里TDP最高的205W,到第三代已是尋常,250W算是克制——畢竟要考慮四路的散熱需求
話說上一次AMD搞得大英如此狼狽,還要追溯到本世紀初的64位路線之爭。眾所周知,英特爾是x86及其生態(tài)(特別是軟件生態(tài))的締造者,屬于“親媽”級別,AMD充其量是個“后媽”。但是,x86幾十年的發(fā)展史證明,“親媽”未必就比“后媽”更了解孩子的發(fā)展?jié)摿?。也可以前一陣大火的劇集《隱秘的角落》為例,看完就會發(fā)現(xiàn),對于朱朝陽的隱藏能力,后媽的認知似乎先于親媽。
Cooper Lake:你看我還有機會嗎?
簡單的說,Intel建立發(fā)展x86生態(tài),AMD堅定捍衛(wèi)x86路線——不斷改造作為生態(tài)核心的x86處理器,煥顏新生。
盛衰無常:架構(gòu)與制程的雙簧
雖然已經(jīng)在過去十年中逐漸淪為愛好者口中的“牙膏廠”,但在歷史上,英特爾一直不乏創(chuàng)新精神。對待x86的態(tài)度可以算是這種精神的一個體現(xiàn),起碼在進入64位時代之前,英特爾其實不太瞧得上x86,總覺得這個娃太low——可能是親媽更了解孕育過程中的種種先天不足吧——幾次三番地在重大的轉(zhuǎn)折點,想要“與時俱進”,重起爐灶,帶給用戶“船新體驗”。反而是AMD屢屢在關(guān)鍵時刻出來捍衛(wèi)x86,通過翻新加蓋來維持其生命力。
64位是關(guān)鍵的轉(zhuǎn)折點。上世紀九十年代末,還是32位的x86剛“插足”服務器市場不久,英特爾選擇與惠普(HP)聯(lián)手開發(fā)基于IA-64架構(gòu)的Itanium(安騰)作為接班人,與已經(jīng)64位了的RISC陣營大佬們對抗。然而,AMD認為x86還可以搶救一下,決定通過64位擴展來“續(xù)命”,并在2003年4月發(fā)布首款64位x86處理器Opteron,兩年后又把x86(-64)帶入多核時代。
此時,英特爾已經(jīng)在IA-64的路上走了十多年。時過境遷,當初設定的目標并沒有實現(xiàn),而x86擴展到64位和多核之后,不僅軟件和應用的生態(tài)系統(tǒng)得到了完整的繼承,性能也完全可以一戰(zhàn)。用戶用腳投票,大英不得不從。
第二代EPYC處理器發(fā)布會上,Google出示2008年7月9日上線的其第100萬臺服務器的照片,追訴與AMD的革命友情……還是臺四路服務器
英特爾痛定思痛,決定用架構(gòu)和制程構(gòu)筑雙保險,在2007年提出了Tick-Tock(取自于時鐘的“嘀-嗒”周期)量產(chǎn)模式,即先通過制程升級將芯片面積縮小,是為Tick;再基于操練純熟的制程改用新的微架構(gòu),是為Tock。當時的英特爾工廠在技術(shù)和產(chǎn)能上都占據(jù)明顯優(yōu)勢,只要架構(gòu)上回到正軌,左右手組合拳一出,產(chǎn)量受限的AMD哪里支撐得?。吭?008年推出Nehalem微架構(gòu)之后,英特爾終于奪回主動權(quán)。
在英特爾施加的強大壓力下,AMD在處理器架構(gòu)上也犯了錯誤,2011年推出的Bulldozer(推土機)架構(gòu)采用了即使現(xiàn)在看來也過于激進的模塊化設計。隨著2012年英特爾開啟至強E5時代,AMD在節(jié)節(jié)失利后不得不退出服務器市場,上一個巔峰期徹底結(jié)束。
有道是:福兮禍所依,禍兮福所伏。先賢曾經(jīng)曰過:縱有架構(gòu)、制程雙保險,奈何CEO是單點。2016年英特爾推出最后一代至強E5/E7(v4),這是英特爾首批采用14nm制程的服務器CPU,同時也宣告了Tick-Tock模式的終結(jié),改用Process–Architecture–Optimization (制程-架構(gòu)-優(yōu)化)的三步走模式。
在這個可以簡稱為PAO的模式里,雖然仍是先制程、后架構(gòu)的節(jié)奏,但新加入的優(yōu)化不管是針對兩者中的哪一個還是兼而有之,都起到了拉長制程換代周期的效果。第三代至強可擴展處理器已經(jīng)是第四波采用14nm制程的服務器CPU,14nm后面的“+”都數(shù)不清楚有幾個了——還好預計年底發(fā)布的Ice Lake將終止這個“土撥鼠之日”式的制程循環(huán)。
架構(gòu)層面上,從代號Skylake的初代至強可擴展處理器開始,由環(huán)形總線改為6×6的2D-mesh,然后持續(xù)“優(yōu)化”。在架構(gòu)的角度,Mesh和環(huán)形總線都屬于所謂傳統(tǒng)的單片(Monolithic)式架構(gòu),優(yōu)點是整體性好,涉及到I/O的性能比較有保證;缺點是對制程不太友好,隨著規(guī)模的擴大,譬如核數(shù)和Cache的增加,良率上的挑戰(zhàn)很大,高端產(chǎn)品的成本下不來,這對于追求高核數(shù)的云計算服務提供商顯然不是個好消息。
至強E5/E7 v4的四環(huán)(2組雙向環(huán)形總線)與至強SP的6×6 Mesh架構(gòu)
關(guān)鍵時刻,又是沉寂多年的AMD挺身而出,接盤Tick-Tock,以自己的方式“維護”摩爾定律。
這個方式,就是模塊化。
MCM:同構(gòu)對等模塊化的利與弊
先簡單回顧一下AMD之前的模塊化設計為什么會失敗。Bulldozer架構(gòu)的模塊化設計,建立在AMD對未來應用趨勢的不靠譜假設上,即整數(shù)(Integer,INT)運算將占據(jù)絕對主導地位,結(jié)論是增加整數(shù)運算單元,減少浮點(Floating Point,F(xiàn)P)運算單元。于是,Bulldozer架構(gòu)很“雞賊”的采用了兩個(具有完整整數(shù)運算單元的)核芯共用一個浮點運算單元的模塊化設計,兩個模塊就可以提供4個核芯(但只有2個浮點運算單元),6核以此類推。
模塊化本身并沒有錯,Intel Nehalem的模塊化設計就很成功。Bulldozer錯在“拆東墻補西墻”,結(jié)果連補強都算不上
不用放馬后炮,這也是一個妄揣用意(用戶意志)的行為。即使是在AI大行其道的今天,第二代英特爾至強可擴展處理器已經(jīng)支持INT8加速推理運算,也不能和通常意義上CPU的整數(shù)運算劃等號。貿(mào)然押寶,錯了當然怪不得別人。
不難看出,Bulldozer的模塊化,與之前Intel Nehalem架構(gòu)的模塊化設計,只限于架構(gòu)層面,并不是為制程考慮——CPU不論幾個模塊多少核,都是作為一個整體(die)來制造的,畢竟十年前制程還沒到瓶頸。
然而,到了AMD以代號Naples的(第一代)EPYC處理器重返服務器市場的2017年,摩爾定律放緩的跡象已很明顯。同樣的14nm(可能還沒有英特爾的先進)制程,AMD如何以更低的成本提供更多的核芯?
EPYC系列處理器基于AMD的Zen系列架構(gòu),從Zen、Zen+到Zen 2,以及規(guī)劃中的Zen 3的發(fā)展路線,有點像前面提到的Tick-Tock:開發(fā)一個良好的基礎然后交替演進,不斷優(yōu)化。
與先輩們不同,Zen系列的模塊化明顯側(cè)重于解決制程面對的挑戰(zhàn),即芯片在物理上被切割為多個die(晶片),通過Infinity Fabric(IF)互連為一個整體,所以每個die就是一個模塊,但不一定是模塊化設計的最小單位。
第一代EPYC處理器的4個die及Infinity Fabric示意
還是從初代EPYC處理器所采用的Zen架構(gòu)說起。Zen確立了該系列計算單元模塊化的最小單位CCX(Core Complex,核芯復合
體),每個CCX包括4個Zen核芯(Core),以及8 MiB共享L3 Cache,每核芯2 MiB。
從AMD公開的示意圖來看,各片(Slice)L3 Cache之間的連接方式像是full-mesh(全網(wǎng)狀,即每兩個點之間都有直接連接,無需跳轉(zhuǎn)),CCX內(nèi)部的跨核芯L3 Cache訪問是一致的
Zen的CCD里除了2個CCX,還有2個DDR內(nèi)存控制器(各對應1個內(nèi)存通道),用于片上(die之間)互連的Infinity Fabric(IF On-Package,IFOP),而CPU之間互連的Infinity Fabric(IF Inter-Socket,IFIS)與對外的PCIe通道是復用的——這個知識點在后面會用到。
芯片層面的模塊是CCD(Core Complex Die),包括2個CCX,共8個Core、4 MiB L2 Cache、16 MiB L3 Cache。官方名稱為AMD EPYC 7001系列的第一代EPYC處理器只有CCD這一種(die層面的)模塊,所以每個CCD除了2個CCX,還有大量I/O接口器件,包括DDR、Infinity Fabric/PCIe控制器,CCX占CCD面積的比例只比一半略多(56%)。
這個多芯片模塊(multi-chip module,MCM)架構(gòu)的代號為Zeppelin(齊柏林),四個這樣的“復合型”CCD構(gòu)成完整的第一代EPYC處理器,最多能提供32核芯、64 MiB L3 Cache,直接減少CCD的數(shù)量就會得到面向PC市場的高端(2×CCD)和主流產(chǎn)品(單CCD)。
按照AMD提供的數(shù)據(jù):每個die的面積為213mm2(平方毫米),4個die的MCM封裝總面積為852mm2,如果要用大型單一芯片來實現(xiàn),面積可以縮小到777mm2,大約節(jié)省10%,但是制造和測試成本要提高約40%,完全32核的收益下降約17%、成本提高約70%。投入產(chǎn)出比當然非常劃算,也變相的說出了大英的苦衷——可是,后者為什么還在堅持單片路線呢?
MCM這種完全對稱的模塊化方案,如果套用到數(shù)據(jù)中心領(lǐng)域,相當于一個園區(qū),幾棟建筑結(jié)構(gòu)和功能完全一樣,都包含了機房、變配電、柴發(fā)、冷站、辦公和接待區(qū)域等。好處當然是彼此之間沒有硬性依賴,每棟建筑都可以獨立作為數(shù)據(jù)中心使用,照此復制就可成倍擴大規(guī)模;缺點是沒有其他類型的建筑,而有些功能還是需要專門的建筑集中和分區(qū)管理的,譬如人員辦公和統(tǒng)一接待……
如果一個數(shù)據(jù)中心園區(qū)只有黃框里這一種建筑(模塊)……實際上,加上左邊的66KV變電站,這里也只是整個園區(qū)的一角
況且,與絕大多數(shù)的數(shù)據(jù)中心園區(qū)不同,CPU對各模塊之間的耦合度要求高得多,否則無法作為一個整體來運作,分工合作快速完成數(shù)據(jù)處理等任務。而這,正是MCM方案的局限性所在。
第一代EPYC的每個CCD都有“自己的”內(nèi)存和I/O(主要是PCIe)通道,加上CCD之間的互連,每個CCD的外部I/O都很“重度”
多芯片(對稱)設計、全“分布式”架構(gòu)的特點是內(nèi)存和I/O擴展能力與CCD數(shù)量同步,隨著核芯數(shù)量的增加,內(nèi)存和I/O的總“容量”(包括帶寬)會增加,這當然是優(yōu)點,但缺點也隨之而來:
首先是局部性(locality)會降低I/O的性能,主要是跨CCD的內(nèi)存訪問時延(latency)明顯上升。因為每組(2個)CCX都有自己的本地內(nèi)存,如果要訪問其他CCD上連接的內(nèi)存,要額外花費很多時間,即所謂的NUMA(Non-Uniform Memory Access,非一致性內(nèi)存訪問)。雖然Zen的CCD上有足夠多的IFOP,讓4個CCD之間能組成全連接(full-mesh),無需經(jīng)其他CCD跳轉(zhuǎn)(類似于CCX內(nèi)4個核芯之間的狀況),但I/O路徑畢竟變長了;如果要訪問其他CPU(插槽)連接的內(nèi)存,還要經(jīng)過IFIS,時延會進一步上升。
CCD里的兩個CCX也通過Infinity Fabric連接,同樣會增加跨CCX的Cache訪問時延
根據(jù)AMD提供的數(shù)據(jù),不同內(nèi)存訪問的時延水平大致如下:
隨著訪問路徑變長和復雜,時延以大約一半的比例增加,這個幅度還是很明顯的。
同一個CCD里的內(nèi)存訪問沒有明顯差異,而跨CCD的內(nèi)存訪問,時延增加就很明顯了
然后是PCIe,前面已經(jīng)有圖說明,Zen用于CPU之間互連的IFIS與PCIe通道是復用的,即單路(單CPU)的情況下全都用于PCIe通道,共有128個;雙路(雙CPU)的情況下每個CPU都要拿出一半來作為(兩者之間的)IFIS,所以(對外的)PCIe通道數(shù)量仍然是128個,沒有隨著CPU數(shù)量的增加而增長。
簡單歸納一下,Zen架構(gòu)的問題是:核數(shù)越多,內(nèi)存訪問的一致性越差;CPU數(shù)量增加,外部I/O的擴展能力不變——NUMA引發(fā)的跨CPU訪問時延增長問題還更嚴重。
單CPU就能提供128個PCIe 3.0通道原本是第一代EPYC處理器的一大優(yōu)勢,但雙CPU仍然是這么多,就略顯尷尬了
核數(shù)進一步增加的困難很大,不論是增加每個CCD的核數(shù),還是增加CCD的數(shù)量,都要面臨互連的復雜度問題,也會進一步惡化一致性。
說得更直白一些,就是Zen架構(gòu)的擴展能力比較有限,難以支持更大的規(guī)模。
既然雙路配置有利有弊,AMD又是時隔多年重返服務器市場,單路一度被認為是EPYC的突破口,譬如戴爾(Dell)在2018年初推出三款基于第一代EPYC的PowerEdge服務器,其中就有兩款是單路。
1U的R6415和2U的R7415都是單路服務器
類似的情況在通常用不到那么多核及I/O擴展能力的PC市場體現(xiàn)得更為明顯,在只需要一到兩個CCD即可的情況下,消費者更多感受到的是低成本帶來的高性價比,所以“AMD Yes!”的鼓噪主要來自個人用戶,服務器市場在等待EPYC的進一步成熟。
只有1個die的Ryzen將Zen架構(gòu)的缺點最小化,獲得個人用戶的喜愛也就不足為奇了
Chiplet:異構(gòu)混合模塊化的是與非
時隔兩年之后,AMD推出基于Zen 2架構(gòu)的第二代EPYC處理器,通過架構(gòu)與制程一體優(yōu)化,達到最高64核、256 MiB L3 Cache,分別是第一代EPYC的2倍和4倍,內(nèi)存訪問一致性和雙路的擴展性也有不同程度的改善,終于獲得了一眾云服務提供商(CSP)的青睞。
Zen 2的整體設計思維是Zen的延續(xù),但做了很多明顯的改進,配合制程(部分)升級到7nm,突破了Zen和Zen+在規(guī)模擴展上的限制。
首先,Zen2架構(gòu)延續(xù)了Zen/Zen+架構(gòu)每個CCD有2個CCX、每個CCX有4個核芯共享L3 Cache的布局,但是每個核芯的L3 Cache增大一倍,來到4MiB,每個CCX有16 MiB L3 Cache,是Zen/Zen+架構(gòu)的兩倍。
CCD層面的主要變化是把DDR內(nèi)存、對外的Infinity Fabric(IFOP/IFIS)和PCIe控制器等I/O器件剝離,以便于升級到7nm制程。AMD表示,第一代EPYC中,上述I/O器件占CCD芯片面積的比例達到44%,從制程提高到7nm中獲益很小;而第二代EPYC的7nm CCD中,CPU和L3 Cache這些核心計算、存儲器件的占比,高達86%,具有很好的經(jīng)濟性。
被從CCD中拿出來的DDR內(nèi)存控制器、Infinity Fabric和PCIe控制器等I/O器件,組成了一個單獨的I/O芯片,即I/O Die,簡稱IOD,仍然采用成熟的14nm工藝。
自左至右,分別是傳統(tǒng)單片式、第一代EPYC的MCM、第二代EPYC的Chiplet三種架構(gòu)的示意圖
一個IOD居中,最多8個CCD圍繞著它,AMD把這種做法稱為Chiplet(小芯片)。
如果繼續(xù)拿數(shù)據(jù)中心的模塊化來強行類比,相當于把整個園區(qū)內(nèi)的變電站、柴發(fā)、冷站、辦公和接待區(qū)域都整合到一個建筑里,位于園區(qū)中央,周圍是構(gòu)造完全相同的一座座機房樓……你說,這樣一個所有機房樓都離不開的建筑,該有多重要?
僅從布局看,和第二代EPYC處理器有點像的數(shù)據(jù)中心,但變電站在園區(qū)外,制冷也是分布式的(與4個機房模塊在一起),中間的建筑并沒有上面設想的那么重要
第一代EPYC處理器(Naples)與第二代EPYC處理器(Rome)的片上布局對比,后者是1個IOD + 8個CCD,共9個小芯片組成的混合多die設計
因為CCD的數(shù)量增加一倍,所以Rome的核數(shù)可以達到Naples的兩倍;因為每個CCX/CPU核芯的L3 Cache容量也增加了一倍,所以Rome的L3 Cache總?cè)萘靠梢赃_到Naples的四倍。
14nm IOD + 7nm CCD的組合——因為不是全部升級到7nm,所以我更愿意稱之為制程的“優(yōu)化”——體現(xiàn)了更高的擴展性和靈活性,使第二代EPYC能夠以較低的制造成本提供更豐富的產(chǎn)品組合,提高了市場競爭力。但是,事情并沒有看起來這么簡單,要了解產(chǎn)品的具體構(gòu)成和預期的性能表現(xiàn),您還需要繼續(xù)往下看。
2019年8月,第二代EPYC正式發(fā)布后不久,AMD在Hot Chips大會上介紹了Zen 2產(chǎn)品的Chiplet設計??赡苁侵坝衂en+架構(gòu)采用12nm制程的緣故吧,IOD的制程被寫成了12nm,其他場合的官方材料都是14nm,所以我們還是以后者為準
今年2月IEEE的ISSCC(International Solid-State Circuits Conference,國際固態(tài)電路峰會)2020上,AMD更詳細的介紹了Zen 2這一代產(chǎn)品的設計。結(jié)合前一幅圖可以看到,第二代EPYC的IOD具有83.4億晶體管,數(shù)量與同樣采用14nm制程的英特爾Skylake/Cascade Lake相當——雖然兩者的晶體管類型構(gòu)成有很大差別,但可以作為一個參照,說明這個IOD自身的規(guī)模和復雜度。
從紅框中的選項來看,EPYC 7302 CPU有4個CCD,每個CCX有2個核芯,可以選擇各啟用1個
IOD集中所有I/O器件的一個好處是,CPU能提供的內(nèi)存通道數(shù)量與CCD的數(shù)量無關(guān)。E企實驗室前一陣測試了基于第二代EPYC處理器的Dell PowerEdge R7525服務器,送測配置包括2個AMD EPYC 7302處理器,從PowerEdge R7525的BIOS設置中可以看到,這款16核的CPU有4個CCD(而不是8個),應該對應下圖中右二的情形:
上方柱狀圖是AMD列出7+14nm Chiplet方案與假設的單片7nm方案相比,成本優(yōu)勢可以達到一半以上(64核沒有假設,可能是指單片式很難制造);下方從左至右依次是8、6、4、2個CCD的布局,原則是盡可能的對稱
雖然7302在EPYC 7002系列產(chǎn)品中定位偏低端,只有16個核芯,用4個CCX就能滿足,但是它擁有128MiB的L3 Cache,這又需要8個CCX才可以。因此,7302的每個CCX只有2個核芯,享受原本屬于4個核芯的16 MiB L3 Cache。
從EPYC 7002系列的配置表中可以看出,7302下面72開頭的產(chǎn)品才是真正的低端,譬如同樣是16核的7282,不僅L3 Cache容量只有7302的一半(倒是符合每核4 MiB的“標配”),而且僅支持4個內(nèi)存通道,也是7302等產(chǎn)品的一半——說明其CCD數(shù)量是2個,就像前一幅圖右下方所示的情況——4個內(nèi)存通道配置的運行頻率也低,只有DDR4-2667,與標準的8通道DDR4-3200相比,理論內(nèi)存帶寬僅為40%多
Dell PowerEdge R7525用戶手冊里對內(nèi)存條的安裝位置有很詳細的說明,畢竟插滿8個內(nèi)存通道和只用4個內(nèi)存通道,性能差距太大
IOD集中所有I/O對性能也有好處,因為內(nèi)存控制器集中在一個芯片上,有助于降低內(nèi)存訪問的局部性(NUMA)。不過,AMD在很多場合放出的示意圖很有誤導性,容易讓人以為,對Rome(下圖右側(cè))來說,同一個CPU上的內(nèi)存訪問是不存在NUMA的。
從上面的數(shù)據(jù)來看,第二代EPYC處理器的“本地”內(nèi)存訪問時延有所增長,畢竟內(nèi)存控制器和CCX不在一個die上了;收益是跨CPU內(nèi)存訪問的時延有所下降,總體更為平均
好在,稍微詳細一點的架構(gòu)示意圖表明,一個EPYC 7002系列CPU內(nèi)部的內(nèi)存訪問仍然會有“遠近”之分:
Dell PowerEdge R7525的BIOS配置中,可以在L3 Cache的NUMA設置為Enabled之后,看到每個CPU內(nèi)部其實還是可以像EPYC 7001系列一樣,分成4個不同的NUMA區(qū)域
這時學術(shù)性會議的價值就體現(xiàn)出來。AMD在ISSCC 2020上的演講表明,完整版的Server IOD要承載的功能太多,已經(jīng)有太多的晶體管,中間都被Infinity Fabric和PCIe相關(guān)的I/O所占據(jù),內(nèi)存控制器只能兩兩一組布置在IOD的四角,每2個CCD就近共享2個內(nèi)存控制器。由于中間已經(jīng)沒有走線空間,只能構(gòu)成一個沒有對角線連接的2D-mesh拓撲——僅從拓撲角度而論,還不如EPYC 7001系列4個CCD的full-mesh連接方式。所以,臨近的訪問有長短邊造成的延遲差異,對角線的內(nèi)存訪問因為要走過一長一短兩條邊,沒有捷徑可走,自然要更慢一些。
注意放大看IOD布局示意圖和右側(cè)1~4的不同等級時延注解,可以理解為每個CPU內(nèi)部仍然分為4個NUMA區(qū)域:本地、短邊、長邊、(拐個彎才能抵達的)對角線
Hot Chips大會上的這張示意圖突出了不同功能的Infinity Fabric導致的IOD中部擁擠,和DDR內(nèi)存控制器都被擠到邊角上的感覺。結(jié)合前一張圖,不難理解,像EPYC 7282這樣只有2個CCD對角線布置的低端SKU,另一條對角線上的4個DDR內(nèi)存控制器主要起增加內(nèi)存容量的作用,不如只保留CCD就近的4個內(nèi)存通道
總之,不管是EPYC 7001系列的MCM,還是EPYC 7002系列的Chiplet,隨著芯片數(shù)量的增長,性能肯定會受到越來越明顯的影響(而不是近乎線性的同步提升),只是好的架構(gòu)會延緩總體性能增長的衰減速度。
這里我們可以回過頭來看看同樣基于Zen 2架構(gòu)的第三代AMD Ryzen處理器,主流PC產(chǎn)品沒有那么多核數(shù)要求,只用2個CCD即可滿足,所以其配套的Client IOD(cIOD)正好是Server IOD的四分之一,從前面圖中晶體管數(shù)量的對比(20.9億 vs. 83.4億)也可以看出來。
代號“Matisse”的第三代Ryzen,仍然可以看到兩個DDR4內(nèi)存控制器偏居一隅的“遺存”,但對兩個CCD已經(jīng)公平了很多,基本不存在NUMA問題。也就難怪“AMD真香”黨在消費類用戶中比例要大得多
盡管CCD升級到了7nm,但更多核芯、更大得多的L3 Cache,意味著整體功耗的上升,譬如同樣16核的7302和7282,前者Cache大一倍,頻率略有提高,默認TDP就來到了155W,Dell為送測的R7525配備了180W的散熱器——而EPYC 7282的TDP則“只有”120/150W。當然,CCD應用7nm的效果還是比較明顯的,同樣16核、L3 Cache只有7302四分之一,運行頻率還低500MHz的7301,TDP也有150/170W,基本與7302相當。
為了滿足云計算、高性能計算(HPC)和虛擬化等場景的用戶需求,AMD又向EPYC 7002系列CPU中增加了大量多核大(L3) Cache以及核數(shù)雖少但頻率很高的型號(如今年初發(fā)布的7Fx2系列),導致全系列產(chǎn)品中TDP在200W以上的SKU占比很高,也給服務器的散熱設計帶來了更高的挑戰(zhàn)。
200W+的CPU將越來越常見
EPYC 7002系列的另一大改進是PCIe從3.0升級到4.0,單路仍然是128個通道,但雙路可以支持多達160個通道(譬如Dell PowerEdge R7525的特定配置)——在主板支持的情況下。第一代EPYC處理器推出時的一個賣點是,為其設計的主板也可以支持第二代EPYC處理器。沒有廣而告之的是,要支持PCIe 4.0,主板需要重新設計。用老主板可以更快的把第二代EPYC處理器推向市場,卻不能充分發(fā)揮新CPU的全部能力。
不過,PCIe 4.0本身就是一個很大的話題,留待以后(有機會的話)專文討論。
聲明:免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)
送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時
需注明出處:新網(wǎng)idc知識百科