PowerEdge MX7000 + Liqid PCIe擴展機箱
我在國外網站看到一條新聞消息《Liqiddiet boosts Dell MX7000 composable system》https://blocksandfiles.com/2020/08/14/dell-liqid-mx7000-composable-upgrade,討論的就是下面這個參考架構。
關於Dell PowerEdgeMX7000模塊化伺服器機箱,如果看過下面3篇我寫的東西應該不陌生了。如上方圖例,在「刀箱」中的一個伺服器Sled節點使用PCIe連接到Liqid PCIe擴展機箱——最多可以容納20個全高全長GPU卡。
有點意思的是MX伺服器節點引出PCIe的方式,通過一個U.2 PCIe Adapter,插在前端的NVMe SSD驅動器位上,也就是起到一個PCIe 3.0 x4 Retimer的作用。
眾所周知,傳統刀片伺服器屬於相對昂貴一些的Cluster-in-Box方案,裡面通常集成網絡交換模塊、FC光纖通道交換模塊,乃至SAS交換機,為其中的伺服器節點連接標準PCIe插卡的情況不太多。也有些針對HPC高性能計算的高密度「變種」刀片伺服器,把InfiniBand網卡接口設計在了機箱前端。參考下面的主板圖:
上圖是當初在2U機箱中的8節點雙路伺服器方案,Dell PowerEdge FC430的主板。可以看到用於連接x16 IB Mezz夾層卡的連接器特別設計在機箱前端,而傳統上為了把PCIe擴展引到機箱後端設計的PCIe Switch還是在後側。
相比之下,在U.2 SSD槽位把PCIe信號引出,應該算是更討巧的一種設計,甚至不用涉及到協議信號的轉換。這樣擴展連接GPU應該說是更加高效的。
PowerEdge MX + Liqid PCIe擴展機箱的方案,在7U伺服器裡最多安裝8個計算節點(MX740c)。與GPU直連的PCIe Gen3 x4通道也可以有多條鏈路,因為在MX機箱中的伺服器節點可以支持6個NVMe SSD盤位。
Liqid PCIe機箱恰好也是7U高度,其中20個全尺寸GPU,已經可以支持最新的NVIDIA安培A100等,同時也能兼容FPGA和NVMe存儲(AIC標準插卡)等。
圖片點開後雙擊可放大,以下同
不難看出Liqid機箱的核心硬體應該是PCIeSwitch。上圖列出了GPU之間的2種通信方式——在沒有點對點的情況下需要經過伺服器端的CPU;而點對點的I/O則在PCIe擴展機箱內部的PCIeSwitch之間完成,效率對比如下:
儘管有多鏈路PCIe3.0 x4,但沒有Peer-To-Peer時數據還需要經過伺服器CPU的PCIe控制器,多少會有一些影響。我們看到測得的帶寬為8.59GB/s,延時33.65微秒。
Peer-To-Peer啟用之後,GPU之間帶寬提高到25.01 GB/s,延時降低到3.1微秒。按道理這個應該是PCIe 3.0 x16雙向(全雙工)測得的,不過看數字怎麼有點像NVLINK呢?
Liqid LQD300x20X擴展機箱的管理處理器使用了一個ARM晶片
如上表,我找Liqid的資料印證了一下,應該就是純PCIe交換結構。除了我們在前面參考架構中提到的PCIe主機連接之外,這款擴展機箱還有一種100GbE乙太網接口的配置,而後者沒有看到用在Dell合作方案中(原因我在下文中會講)。
PCIe vs. 100GbE連接GPU性能對比
我們來看看PowerEdgeMX + Liqid PCIe擴展機箱的性能。AI機器學習/深度學習方面不是我的特長,從圖表中看到Inception V3、ResNet152、VGG16和ResNet50這幾項測試,從1-8塊Quadro RTX 8000基本都達到了線性提升。
下面對比一下乙太網連接GPU擴展的方案。
也就是說,當「計算刀片」+GPU伺服器之間換成乙太網連接之後,有少數測試項目變化不大,但整體上性能還是比PCIe連接有小幅降低。
GPU-oF參考架構:MX7000+ DSS 8440
這就是本文介紹的第二種參考架構——GPU-oF(GPU over Fabrics,不是NVMe-oF哈)仍然是使用Liqid Command Center軟體來管理,但硬體上從GPU擴展機箱換成了Dell EMC自己的DSS8440伺服器,中間的連接是100GbE。
GPU Expansion OverEthernet方案裡的計算節點OS支持,當前限制在Linux估計是Liqid軟體的原因。GPUover Fabrics我理解也要跑在RDMA(RoCE)網絡上的。
為了給PowerEdgeMX7000機箱提供100GbE乙太網口,這裡配置了Fabric MX9116n交換模塊。DSS 8440伺服器可以支持10塊全尺寸雙寬GPU,或者16個像Tesla T4那樣的半高半長卡。2個機箱的整體高度為11U(7U+4U)。
以我的理解,由於DSS8440是通用伺服器並使用乙太網連接,把LiqidCommand Center軟體換成本文開頭提到的VMwareBitfusion是不是也可以?這種修改後的方案DSS 8440上要運行VMware ESXi,對前端支持CUDA應用,可以實現細粒度的池化。
理論上來講,乙太網連接的方案,通過交換機的擴展規模可以大很多,所以這裡寫每個MX7000計算刀箱可以連接多節點16x GPU(DSS 8440)。在DSS 8440伺服器內部也有GPU Peer-2-Peer能力。
PowerEdge MX7000內部GPU支持方案
最後再帶大家回顧下MX7000自身內部對GPU的支持,算是一個參考吧。
如上圖,2塊NVIDIA T4 GPU先組成一個CoreCartrideg,然後4個CoreCartrideg再組成一個CoreModule。8個GPU的模塊加起來不到600W TDP。
在MX7000機箱背部偏下的第2對網絡交換模塊槽位,就可選安裝1-2個GPUCoreModule。