眾所周知,在大型模型訓練中,通常采用每台伺服器配備多個GPU的集群架構。在上一篇文章【 】中,我們對GPU網路中的核心術語與概念進行了詳盡介紹。本文將進一步深入探討常見的GPU系統架構。
關於CPU、伺服器和儲存詳細技術,請參考「 」,「 」、「 」、「 」、「 」、「 」、「 」、「 」等等。
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記憶體中,以及將計算結果寫回儲存系統。
為了滿足AI套用對高效能的需求,在計算網路和儲存網路上,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(高頻寬記憶體)芯片,這些芯片作為圖形記憶體使用,儲存圖形處理所需的數據。
文章來源:
https://community.fs.com/cn/article/unveiling-the-foundations-of-gpu-computing1.html
相關閱讀:
轉載申明:轉載 本號文章請 註明作者 和 來源 ,本號釋出文章若存在版權等問題,請留言聯系處理,謝謝。
推薦閱讀
更多 架構相關技術 知識總結請參考「 架構師全店鋪技術資料打包 (全) 」相關電子書( 41本 技術資料打包匯總詳情 可透過「 閱讀原文 」獲取)。
全店內容持續更新,現下單「 架構師技術全店資料打包匯總(全) 」一起發送「 」 和「 」 pdf及ppt版本 ,後續可享 全店 內容更新「 免費 」贈閱,價格僅收 249 元(原總價 399 元)。
溫馨提示:
掃描 二維碼 關註公眾號,點選 閱讀原文 連結 獲取 「 架構師技術全店資料打包匯總(全) 」 電子書資料詳情 。