直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊

週末看到一份資料覺得不錯,因此寫點東西分享給大家。

談到存儲服務器,或者說盤位數比較多的Server,在前些年大多是SAS和SATA硬盤/SSD接口。從主板(CPU)到盤之間一般會經過多端口SAS RAID/HBA卡(8口的最流行),可能還有SAS Expander芯片。單個12Gb SAS驅動器不超過1.2GB/s全雙工的理論接口帶寬(實際上許多SSD達不到這麼快,HDD就更不用說了),SATA 6Gb/s只有一半,PCIe存儲控制卡有時可能成為瓶頸,而在需要的情況下可以配多卡。

到了NVMe SSD時代,由於單盤接口提升到PCIe 3.0 x4,為了讓現在讀帶寬動輒超過3GB/s的企業級SSD能“吃飽”,直連CPU(從主板上轉接)看上去是性價比較高的一種選擇。

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊


關注服務器的朋友應該都知道,每顆Xeon Scalable CPU提供個48條PCIe 3.0 lane,假設把2顆CPU的96 lane全部用來連接前置U.2 NVMe SSD的話,剛好夠24盤位。而事實上幾乎沒有服務器會如此設計,因為還有網卡等PCIe設備需要連接。

在這種情況下,就需要選擇和取捨。

2U雙路Intel Xeon SP NVMe x12(最大帶寬型)

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊

PowerEdge R740xd CPU mapping with twelve NVMe drivesand twelve SAS drives

上圖是Dell R740xd服務器的一種2.5英寸盤位支持方式——12個NVMe SSD+12個SAS(兼容SATA)。我們看到背板上NVMe熱插拔位分成3組,每組通過線纜連接到插在PCIe x16槽位的PCI Extender卡上,其中一組由CPU 1支持,另外兩組連接CPU 2。

擴展閱讀:《Dell PowerEdge R740xd解析:服務器只看參數那就錯了》

在此基礎上,CPU 1的PCIe控制器還能支持一塊x8 PERC RAID卡或者BOSS卡(參見:《Xeon SP服務器的M.2 SSD RAID:揭秘PowerEdge 14G BOSS》),以及一個x16插槽可用於像Mellanox IB或者Intel Omnipath這樣的高速網卡;CPU 2也還能提供2個PCIe x8全高擴展槽。

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊


上面照片就是我以前見過的PCI Extender Card。其主芯片應該是一顆PCIe Switch,通過2個連接器(x8)和線纜將信號引到背板(中板),除了保持PCIe信號完整性和放大之外,還有助於實現lane拆分(4個x4 lane)和NVMe熱插拔支持。

有朋友可能會有疑問:上述設計中的PCI Extender Card加上線纜也會增加成本?而R740xd這樣做無疑是為了靈活性,一旦用不到那麼多NVMe SSD,PCIe槽位就可以安裝別的擴展卡。

上述第一種方案,12個NVMe盤的帶寬性能可以得到最大發揮。但也有一些應用場景對容量密度的要求更高,單盤性能可以放在其次。

2U雙路Intel Xeon SP NVMe x24(最大容量型)

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊

PowerEdge R740xd CPU mapping with twenty-four NVMedrives

這個是24盤全NVMe的R740xd機型,Dell使用2塊PCI Extender Card各自連接到一個80 port PCIe Switch交換芯片(位於背板的Daughter卡上),分別支持12個NVMe SSD。也就是2組PCIe x16上行x48下行的設計,I/O壓力仍然分擔在2顆CPU上。

上述“最大容量型”NVMe方案,比前面的最大帶寬型配置還多空閒出一個PCIe x16槽位。

介紹完Intel主流機型,我再帶大家看看AMD服務器的情況。早在兩年前我就給大家介紹過AMD平臺更強的PCIe擴展能力,參見:《超越Xeon?AMD Naples服務器的理想與現實》。

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊


在雙路EPYC服務器上,每顆CPU有64 lane PCIe控制器被重定義為CPU之間的Infinity Fabric,所以用於連接PCIe設備的仍然是總共128 lane,與單路AMD服務器一樣。

2U雙路AMD EPYC NVMe x12(最大帶寬型)

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊

PowerEdge R7425 CPU mapping with twelve NVMe drivesand twelve SAS drives

R7425是Dell第一代AMD EPYC服務器中的2U雙路機型。我們看到同樣是12 x NVMe + 12 x SAS/SATA的盤位支持,卻有2組共8個NVMe SSD直連CPU(主板),另外一組4個NVMe連接PCIe x16插槽上的Extender Card。

在這裡AMD機型的特點顯而易見——上述配置下剩餘的PCIe x16全高插槽還有3個。

不知是否有朋友還記得我在《AMD EPYC二代服務器預覽:Dell擴展2U 4節點HPC機型》中曾經提到,PowerEdge R7425可以提供6個PCIe 3.0 x16插槽來支持NVIDIA Tesla T4 GPU。那麼對於上圖中的Slot 5、Slot 2以及Slot 7肯定還有另外的配置形式。

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊

引用自《Dell EMC PowerEdge R7425 Technical Guide》,如果採用我紅圈標註的方式來配置,估計驅動器熱插拔背板就是純SAS/SATA了。此時仍有可能支持NVMe SSD,別忘了在6個PCIe x16之外還有一個PCIe x8的Slot 6插槽。

注:本文中討論的PCIe lane數量指的都是實際電氣信道,而非物理插槽長短。

為了給大家看下CPU插座邊的PCIe連接器長啥樣,下面我列出《Dell PowerEdge R640:NVMe直連、NDC網卡、PERC10一覽》中的一張照片。

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊

2U雙路AMD EPYC NVMe x24(最大容量型)

講完了AMD的NVMe“最大帶寬型”,我們再來看看“最大容量型”。

直聯還是交換?Intel、AMD服務器NVMe SSD IO拓撲速查手冊

PowerEdge R7425 CPU mapping with twenty-four NVMe drives

如上圖,在R7425平臺上,CPU 1和2各自用x16 PCIe直連PCIe Switch,然後2顆Switch芯片一共連接24個NVMe SSD。每個PCIe Switch同樣是16 lane上行、48 lane下行的配置,而在這裡已經不需要PCI Extender Card,前面一種方案( Riser卡 1A)被佔用的PCIe Slot 3 x16被釋放出來。

此時也可以選擇將這部分I/O資源,改配 Riser卡 1D分拆為Slot 2和Slot 3的2個PCIe x8。如果插上個H840這樣的外部接口SAS RAID卡,可以用來連接PowerVault MD/ME4 JBOD磁盤擴展機箱。

憑我的感覺,儘管AMD EPYC服務器推廣初期的銷量比Intel機型還有較大差距,但Dell在設計上依然投入了不少心思。

參考資料《NVMe and I/O Topologies for Dell EMC PowerEdge Servers

https://downloads.dell.com/manuals/common/nvme-io-topologies-poweredge.pdf

文檔裡除了我介紹的R740xd和R7425之外,還有R440、R640、R6415、R7415、R840、R940和R940xa服務器的NVMe和I/O拓撲說明,希望這份速查手冊能夠對大家有幫助。

擴展閱讀:《服務器SSD RAID性能速查手冊》

注:本文只代表作者個人觀點,與任何組織機構無關,如有錯誤和不足之處歡迎在留言中批評指正。進一步交流技術,可以加我的QQ/微信:490834312。如果您想在這個公眾號上分享自己的技術乾貨,也歡迎聯繫我:)

尊重知識,轉載時請保留全文。感謝您的閱讀和支持!


分享到:


相關文章: