AMD EPYC官方資料烏龍?談伺服器CPU互連效率
AMD Zen架構的16-32核用了「膠水」封裝已經不是新聞,有朋友曾經說過這次EPYC主攻單路伺服器而不是雙路,我也來湊個熱鬧聊聊。
點擊可放大
由於整合了SATA控制器等傳統南橋晶元組的功能,AMD SP3插槽的新品也可以稱之為SoC。當然具體的主板設計也可以用PCIe再連個南橋。
有位老朋友還在文章下面留了言,今天看到更多資料後終於可以做個回答,並進一步討論下EPYC處理器的插槽間、核間通信效率,不只是紙面上的數字哦:)
AMD ppt烏龍?Die間連接到底是4還是6
上圖為了在微信文章中看著方便,我裁了一部分見諒
在從國外網站放出的ppt圖中,終於看到我想要的幾個數字說明。其中一顆CPU(同插槽)上4個Die之間的Fabric帶寬為每4B(32bit寬度)連接42.6GB/s,這裡算的bi-dir雙向,我更喜歡用21.3GB/s全雙工來看。
那麼,4個Die間的對開總帶寬為4 x 42.6≈170GB/s(85GB/s全雙工)?我在這裡為什麼要加一個問號,是因為對於該乘4還是乘6有疑問。如果只是按照AMD畫出的「8」形狀連接符號來看似乎合理,但實際的片上連接如果只有這些效率有點低。下面我會列出一張圖,並繼續討論。
順便提下另外兩組數字。首先,跨CPU插槽之間的Fabric帶寬為每2B(16bit)連接37.9GB/s,即18.9GB/s全雙工。我們知道在單路伺服器中該Fabric可以重定義為PCIe,那麼用於CPU間互連時其速率似乎比PCIe 3.0的8GT/s要高一些。
插槽之間的對開總帶寬為4 x 37.9≈152GB/s(76GB/s全雙工),這裡的x4沒有問題,後面還會列出清晰的拓撲示意圖,我將依此討論效率問題。上圖還寫了內存帶寬,今天先不聊它。
我在《Intel Optane P4800X SSD系列評測》中使用的Dell PowerEdgeR830伺服器,採用的就是這種架構。
上圖是四路Xeon E5-4600伺服器的CPU互連示意圖,它與E7的主要一點區別就是QPI通道的數量——每顆CPU由3條減少到2條,所以位於對角線上的兩顆CPU通信需要「2跳(2 hop)」。網路上有篇文章《幾輪PK幫你優選「真四路」!》提到有認真的技術同行,發現某些低端XeonE7四路伺服器在主板設計上縮水,以至於像Xeon E5那樣只用上2條QPI。
我今天的討論雖然是在「片上」,卻與之前的四路有相通之處。下面這張AMD的ppt,我覺得才應該是實際正確的互連情況。
看這個4組8核Die之間的連接,像不像Xeon E7?細心的朋友可能會發現,照此計算Die-to-Die Interconnect總帶寬似乎應該按照6 x42GB/s bi-dir。那麼前面一頁官方ppt中寫錯了吧?
沒辦法,我這人就喜歡摳細節,真理不辯不明。剛說了AMD一顆EPYC就有點像Intel四路互連,這點是優勢嗎?不是的…
據了解,AMD是受限於晶圓的良品率才選擇設計8核的Die來切割,再做MCM封裝。當然我還想到一點,就是桌面和伺服器共用Die設計,降低研發成本。
Intel Xeon Scalable網格互連替代環形匯流排
在Skylake的Cache和每個Core之間,看來還是有局部對應的關係。有一點原則:Die內部通信效率一般比跨Die要高。
上圖是即將發布的Xeon SP(Skylake架構)示意圖,大家可以看到CPU核心之間的連接採用網格矩陣,與之前的環形匯流排有了很大不同。類似架構在KNL代號的Xeon Phi上已經採用,感覺核心數量多了還是這樣相對高效。
當前Intel Xeon的設計參見上圖,我在《一項Xeon E5-2600 v4測試數據的背後》中也曾討論過。24個核心的設計在v4上最多只開放了22個,而Xeon SP第一代就達到28核。
AMD EPYC雙路互連效率:帶寬不代表效率
在看到這張圖之前,我甚至想過自己手工畫一個示意。2顆CPU之間的互連,實際上是靠4條Die-to-Die的跨插槽連接來實現的。我們不要只看帶寬數字,因為每個EPYC Die只在與另一個CPU插槽中直連的那個Die通信時效率最高——到另外3個Die都需要「2跳」。這種相對複雜的現象在Intel平台上不存在,而且雙路Xeon之間的QPI/UPI連接還可以有2條。
舉例來說,我標紅的Core 1和Core 8,如果是Die之間沒有那兩條紅色的對角線連接的話,就不可能做到「2跳」,而是需要「3跳」了。
開個玩笑,好像有朋友說過AMD是ppt公司,果然又拿插槽間帶寬數值跟Intel現有的Xeon E5來比較了:)
最後,該肯定的地方還是要肯定。單路AMD EPYC就能提供128 lane PCIe信道,這一點擴展性沒的說,有同行朋友說用來連NVMe SSD合適。不過我也有個小小的問題,24-32個M.2/U.2 SSD一起跑要消耗多少CPU資源?這裡更多指的是實際應用環境而不是某種特定Benchmark條件。如果只是要容量的話,SATA還便宜吧?
還有內存子系統,8通道、單條最大支持128GB。這個在單顆CPU上就要注意NUMA優化了吧?
其實我覺得以AMD EPYC這樣的設計規格,能做到現有功耗已經是成功了。如果再輔以合適的價格,相信能在Intel獨大的伺服器市場攪動出一些新的波瀾。
歷史文章匯總(傳送門):http://chuansong.me/account/huangliang_storage
※低延時應用&伺服器TurboBoost不可得兼?
※評測:當Xeon核顯遇上3ds Max、Solidworks
※Intel Optane P4800X評測:不用緩存和電容保護的SSD?
TAG:企業存儲技術 |
※ACCESS資料庫
※ICDE:POLARDB定義雲原生資料庫
※TCGA、GEO及SEER資料庫挖掘與應用學習會
※混合雲利器:VMware 上可運行 AWS RDS 資料庫
※辦公資料隨身帶,東芝CANVIO PREMIUM升級版帶你飛
※CFPS和CHARLS資料庫分析技巧大指南
※SAS-你還在手動配置ODBC連接資料庫嗎
※PowerBI從SCCM資料庫中分析數據和KPI展現
※阿里雲POLARDB資料庫為啥全線標配Intel「傲騰」?
※對話 CTO〡和 PingCAP CTO 黃東旭聊開源資料庫新藍海
※TCGA資料庫mRNA&lncRNA數據提取
※AWS擁抱混合雲,RDS雲計算關聯式資料庫支持VMware
※從Dell EMC vs.HPE的HCI資料中看到華為首次進入IDC全球TOP5……
※防彈少年團師弟組合TOMORROW X TOGETHER公布成員資料
※AMD新款速龍CPU現身資料庫;小米MIX 2S大曝光
※SAP S/4 HANA Cloud資料庫加強AI能力
※AMD移動端再次發力:移動標壓APU現身AOTS DX12資料庫
※DeBeers戴比爾斯ARIA光之舞限量珠寶資料手冊
※UCI機器學習資料庫的Python API介紹
※MATLAB學習教材與圖像處理資料