高性能GPU服務器基礎知識(下篇)
眾所周知,在大型模型訓練中,通常採用每臺服務器配備多個GPU的集群架構。在上一篇文章《高性能GPU服務器基礎知識(上篇)》中,我們對GPU網絡中的核心術語與概念進行了詳盡介紹。本文將進一步深入探討常見的GPU系統架構。
8臺配備NVIDIA A100 GPU的節點/8臺配備NVIDIA A800 GPU的節點
如上圖所示的A100 GPU拓撲結構中,8塊A100 GPU所組成的拓撲包含以下組件:
-
兩顆CPU芯片(及其兩側相關的內存,NUMA架構):中央處理器負責執行通用計算任務。
-
兩塊存儲網絡適配卡(用於訪問分布式存儲,具備帶內管理等功能):這些網卡用於訪問分布式存儲資源。
-
四顆PCIe Gen4交換芯片:PCIe Gen4是PCIe接口的第四代,提供了更高的數據傳輸速率。
-
六顆NVSwitch芯片:NVSwitch使得GPU與GPU之間能夠以極高的速度直接通信,這對於大規模深度學習節點和並行計算任務的有效運行至關重要。
-
八塊GPU:A100 GPU作為主要處理單元,負責執行並行計算,尤其適合深度學習工作負載。
-
八塊GPU專用網絡適配卡:每塊GPU配備一塊專用的網絡適配卡,旨在優化GPU之間的通信,並提升並行處理任務的整體性能。
接下來的部分我們將對這些組件進行詳細解讀。
下一張圖片將提供更詳盡的拓撲結構信息供參考。
存儲網絡卡
在GPU架構中,存儲網絡卡的定位主要涉及其通過PCIe總線與中央處理器(CPU)的連接,以及負責促進與分布式存儲系統的通信。以下是存儲網絡卡在GPU架構中的主要作用:
-
讀寫分布式存儲數據:存儲網絡卡的主要功能之一是高效地從分布式存儲系統讀取和寫入數據。這對於深度學習模型訓練過程至關重要,在此過程中頻繁訪問分布在各處的訓練數據以及將訓練結果寫入檢查點文件極為重要。
-
節點管理任務:存儲網絡卡的功能不僅限於數據傳輸,還包括節點管理任務。這包括但不限於通過SSH(安全外殼協議)進行遠程登錄、監控系統性能以及收集相關數據等任務。這些任務有助於對GPU集群的運行狀態進行監控和維護。
雖然官方推薦使用BF3 DPU,但在實踐中,只要滿足帶寬需求,可以選用其他替代解決方案。例如,為了成本效益考慮,可以考慮使用RoCE;而為了最大限度提升性能,則優先選擇InfiniBand。
NVSwitch 網絡結構
在完全互聯網絡拓撲中,每個節點都直接與所有其他節點相連。通常情況下,8塊GPU通過六個NVSwitch芯片以全互聯配置相連接,這一整體也被稱為NVSwitch架構。
在全互聯結構中,每條線路的帶寬取決於單個NVLink通道的帶寬,表示為n * bw-per-nvlink-lane。對於採用NVLink3技術、每條通道帶寬為50GB/s的A100 GPU,在全互聯結構中,每條線路的總帶寬為12 * 50GB/s = 600GB/s。需要注意的是,此帶寬是雙向的,既支持數據發送也支持接收,因此單向帶寬為300GB/s。
相比之下,A800 GPU將NVLink通道的數量從12減少到了8。因此,在全互聯結構中,每條線路的總帶寬變為8 * 50GB/s = 400GB/s,單向帶寬為200GB/s。
以下是一個由8*A800組成的設備的nvidia-smi拓撲結構圖示。
-
GPU與GPU之間的連接(左上區域):
所有連接均標記為NV8,表示有8條NVLink連接。
-
網絡接口卡(NIC)連接:
在同一CPU芯片內:標記為NODE,表示無需跨越NUMA結構,但需要穿越PCIe交換芯片。
在不同CPU芯片之間:標記為SYS,表示必須跨越NUMA結構。
-
GPU至NIC的連接:
在同一CPU芯片內且處於同一PCIe交換芯片下:標識為NODE,表示僅需穿越PCIe交換芯片。
在同一CPU芯片內但不在同一PCIe交換芯片下:指定為NNODE,表示需要同時穿越PCIe交換芯片和PCIe主機橋接芯片。
在不同CPU芯片之間:標記為SYS,表示需要跨越NUMA結構、PCIe交換芯片,並覆蓋最長距離。
GPU節點互聯架構
以下圖表展示了GPU節點間的互聯架構:
計算網絡
計算網絡主要用於連接GPU節點,支持並行計算任務之間的協同工作。這包括在多塊GPU之間傳輸數據、共享計算結果以及協調大規模並行計算任務的執行。
存儲網絡
存儲網絡用於連接GPU節點和存儲系統,支持大規模數據的讀寫操作。這包括將數據從存儲系統加載到GPU內存中,以及將計算結果寫回存儲系統。
為了滿足HPC應用對高性能的需求,在計算網絡和存儲網絡上,RDMA(遠程直接內存訪問)技術至關重要。在兩種RDMA技術——RoCEv2和InfiniBand之間進行選擇時,需要權衡成本效益與卓越性能,每種選項都針對特定應用場景和預算考慮進行了優化。
公共雲服務提供商通常在其配置中採用RoCEv2網絡,例如CX配置,其中包含8個GPU實例,每個實例配備8 * 100Gbps。與其他選項相比,只要能滿足性能要求,RoCEv2相對較為經濟實惠。
數據鏈路連接中的帶寬瓶頸
該圖表突出了關鍵連接的帶寬規格:
-
同一主機內GPU之間的通信:通過NVLink技術,雙向帶寬達到600GB/s,單向帶寬達到300GB/s。
-
同一主機內GPU與其各自網絡接口卡(NIC)之間的通信:採用PCIe Gen4交換芯片,雙向帶寬為64GB/s,單向帶寬為32GB/s。
-
不同主機間GPU之間的通信:數據傳輸依賴於NIC,帶寬取決於所使用的具體NIC。當前在中國,對於A100/A800型號常用的NIC提供主流的單向帶寬為100Gbps(12.5GB/s)。因此,相較於同一主機內的通信,不同主機間的GPU通信性能顯著下降。
200Gbps(25GB/s)接近PCIe Gen4的單向帶寬。
400Gbps(50GB/s)超越了PCIe Gen4的單向帶寬。
因此,在此類配置中使用400Gbps的網卡並不能帶來顯著優勢,因為要充分利用400Gbps帶寬需要PCIe Gen5級別的性能支持。
8x NVIDIA H100/8x NVIDIA H800 主機
H100主機內部的硬件拓撲結構
H100主機的整體硬件架構與A100八卡系統的架構非常相似,但也存在一些差異,主要體現在NVSwitch芯片的數量和帶寬升級上。
-
在每個H100主機內部,配置了4顆芯片,比A100配置減少了兩顆。
-
H100芯片採用4納米工藝製造,底部一行配備了18條Gen4 NVLink連接,從而提供了900GB/s的雙向總帶寬。
H100 GPU 芯片
-
該芯片採用尖端的4納米工藝製造,表明其採用了先進的製造技術。
-
芯片底部一排包含18個Gen4 NVLink連接,提供雙向總帶寬為18條通道 * 每通道25GB/s = 900GB/s。
-
芯片中央藍色區域代表L2高速緩存,用於存儲臨時數據的高速緩衝區。
-
芯片左右兩側則集成了HBM(高帶寬內存)芯片,這些芯片作為圖形內存使用,存儲圖形處理所需的數據。
網絡連接方面
H100在聯網方面與A100相似,唯一的不同之處在於其標準配置包含了 400Gbps的CX7網卡。
相關文章推薦
郵箱地址
-
Cat5e、Cat6、Cat6a和Cat7網線有什麼區別?哪個更好?
2020年08月21日
-
一文帶你了解SFP、SFP+、SFP28、QSFP+和QSFP28之間的區別
2024年04月13日
-
OM1、OM2、OM3、OM4和OM5多模光纖有什麼區別?
2021年11月24日
-
SFP端口是什麼?有什麼作用?可以接RJ45嗎?
2020年09月15日
-
PCIe卡知識掃盲:你想了解的都在這裡
2020年03月24日