AMD CPU不但在消費端市場攻城略地,在伺服器領域,也越來越被廣大廠商採用。這不,前不久我們公司又部署了一批CI伺服器,CI指令碼大都工作良好,就兩臺虛擬機器編譯指令碼怎麼都執行不了。經過兩個禮拜的折騰,CI小哥已經快要放棄了,忽然想到,是不是這臺虛擬機器執行在AMD的EPYC上呢?結果一查,果然是。這就好辦了,更換了編譯庫,完美解決問題,編譯速度甚至更快了。
這也難怪,基於AMD EPYC的伺服器市佔率不斷提高:
從幾乎為0到超過10%的市佔率,發生了什麼?為什麼EPYC的伺服器市佔率越來越高呢?
AMD CPU涅槃重生之旅
逆轉發端於採用Zen核心的Naples(那不勒斯),也就是EPYC 7001。Naples,這是個義大利西南部城市,採用它作為code name的第一代EPYC伺服器CPU於2017釋出,從此涅槃重生,一段環遊義大利的神奇之旅就此展開:
來源:AnandTech
經歷了推土機架構的徹底失敗之後,揹負著“i3秒全家”沉重負擔的AMD臥薪嚐膽,推出了顛覆性架構Zen。Naples就是基於Zen的第一代EPYC伺服器CPU,儘管開始的路並不是十分順利,前一代Opteron伺服器CPU效能低下,留下了可怕的印象。但廣大伺服器廠商並不希望Intel一家壟斷全部市場,這給AMD留下了一絲機會。AMD能不能抓住它呢?
當時高效能計算和人工智慧興起,而算力的主要提供者是GPU,哪個主機板能夠插更多的GPU,哪個主機板就能提供更多算力。於此相應,需要大量記憶體。AMD敏感的抓住了這個強需求,推出Naples CPU:
Zen一代核心效能儘管有了跨越性的提高,但相比Intel當時CPU仍有些許不足;四Die的設計延遲增高,被人嘲笑為膠水伺服器CPU。儘管有這些缺憾,但正如AMD Naples宣傳海報突出的那樣,單CPU 64,雙CPU高達128 PCIe Lanes相較同時代的Intel 伺服器CPU Skylake SP,提高了三成GPU連線能力(128 vs 98 Gen3連線);另一方面,記憶體通道從6個提高到8個,也同樣提高了三成記憶體連線能力。這些加上小Die帶來的成本優勢,AMD生生在細分市場中開始生長,並不斷開始侵蝕Intel的固有領地。
第二代EPYC,代號是另一個義大利城市:Rome,在2019年釋出。彼時,Zen 2在消費端市場上,效能已經得到很多使用者的認可。AMD更進一步,在Naples的基礎上引入更先進的Chiplet設計:
這種劃分IO Die和 CPU Die的方式放大了小Die的成本優勢。CPU Die這種計算Die,對製程比較敏感,可以用臺積電最新的製程生產;而IO Die對製程不敏感,可以用上一代製程,做的大一點。這種天才設計讓CPU內部組合超級靈活,而經過最佳化的Package封裝走線讓延遲的問題進一步改善。於此同時,作為賣點的更多PCIe(Gen 4)和記憶體通道得到了保留,而另一邊意識到問題的Intel卻受制於大Die的設計,無法在Die的Floor Plan中為放入更多的PCIe和記憶體控制器。Zen2的架構也進行了改善,加上臺積電7nm製程工藝,這些彌補了核心效能的差距。提高的效能 + 低價格 + 更多GPU + 更多記憶體,這些差異化特點,讓AMD EPYC伺服器CPU的市佔率開始爬坡。市佔率逐漸增加。
這裡要提一句,看Naples和Rome的介紹都說單Socket有128個PCIe Lanes,有的圖片卻說只有64個Lanes,怎麼回事呢?其實另外64個Lanes可以做Infinity Fabic,也可以作為PCIe。在雙路上就是Infinity Fabic,而單路上完全可以做PCIe link。這就讓基於Rome CPU的伺服器主機板,派生了一種典型用法,用一個EPYC 7002 CPU替換兩顆Intel 低端Xeon CPU,同時卻能提供更多的PCIe連線,並大大簡化了主機板設計和擁有低得多的成本。
環繞義大利的旅程,去年來到另一個城市,Milan(米蘭)。以它命名的第三代EPYC CPU封裝形式和第二代幾乎一樣:
Milan帶來的更多是核心Zen3 帶來的升級。
Zen3效能提高亮點
Zen3究竟做了哪些改動,讓單核心新能提高了19%?核心架構Zen 3相比Zen 2進行了很大提高:
改進的分支預測、更寬的浮點unit、更快的LOAD/STORE指令(每時鐘3次LOAD和2次STORE,比Zen2各增加一次)和更多的TLB Walker,這些改動都提高了Zen3的IPC。更重要的是,Zen3將分離的兩塊16MB L3 Cache合併成一塊32MB L3 Cache,讓Cache效能得到了極大提升:
架構的這些改進, 輔以7nm+的工藝,AMD宣佈效能有19%的核心效能提升。加上Infinity Fabric的升級(16Gbps->18Gbps),讓Milan相比Rome效能進一步提高:
效能資料
那麼究竟代號Milan的EPYC 7003效能如何呢?知名網站AnandTech做過測評(參考資料1),大家可以參考。有意思的也加入了Ampere的雙路Altra處理器來參與比較,還有需要注意的是Intel參賽選手是基於14nm Cascade Lake的8280,而不是最新的10nm的Icelake,有些不太公平(可能是AnandTech沒有Icelake的平臺),而且Intel平臺只有6個Channel,導致記憶體少了三成。
這裡引用一些網站的評測結果:
來源: AnandTech
來源: AnandTech
可以看到EPYC 7003 CPU的成績是碾壓性的,其他單核和浮點測試等等資料大家感興趣可以直接閱讀參考資料1。據AnandTech評測,Milan的單核效能提高幅度在20%到25%,達到了AMD的宣稱值。這裡要大家注意一下Ampere的Altra,ARM伺服器效能也十分突出。
總結
AMD的神奇之旅的故事不但沒有減慢,還在加速。這不,AMD這次不是來到一個地方,而是兩個地方,分別是熱那亞 (Genoa)和貝加莫(Bergamo)。Genoa有96個Zen 4的核心
而Bergamo是專門為了雲廠商(CSP)最佳化過的,含有128個 Zen 4c核心
這個‘c’的意思是Cloud,凸顯了雲廠商的牛逼地位。兩者都是基於5nm的工藝,並支援現在堪稱高效能計算的標配的PCIe Gen5和DDR5。同時AMD更新了路線圖:
Genoa和Bergamo將在2022年正式產品面世,到時候將和Intel 10nm伺服器第二代Sapphire Rapids正面對抗。兩者ecosystem的小夥伴們都已經忙碌了起來,2022年,註定又是一個不平凡的一年!
AMD YES!