GPU 組網拓撲
AI 集群的網絡是分層構建的,每一層使用不同的互連方式——也使用不同的光模組。理解這些層次,就能明白一個集群為何有這麼多光模組、一個壞模組又會在哪裏傷害最大。
Scale-up 與 scale-out
| Scale-up | Scale-out | |
|---|---|---|
| 連接對象 | 一台伺服器或一個機櫃內的 GPU | 伺服器彼此之間 |
| 技術 | 私有 GPU 到 GPU 鏈路(如 NVLink/NVSwitch) | InfiniBand 或 Ethernet/RoCE |
| 介質 | 銅背板和線纜,機櫃間越來越多使用光模組 | 可插拔光模組:400G/800G OSFP、QSFP-DD |
| 單 GPU 頻寬 | 最高 | 高,與組網共享 |
可插拔光模組主要用在 scale-out 層——每台 GPU 伺服器都有若干面向組網的 400G/800G 端口,此外還有獨立的前端/儲存網絡。
Fat-tree 與無阻塞
scale-out 組網通常是 fat-tree(Clos) 結構:leaf 交換機連接伺服器,spine 交換機連接各 leaf,leaf–spine 上行鏈路數量足夠多,使任意伺服器都能以全速與任意其他伺服器通訊(無阻塞)。集群中大多數光模組都用在這些 leaf–spine 和伺服器–leaf 鏈路上——成千上萬個完全相同的 DR4/DR8 模組。
Rail-optimised 設計
訓練流量主要由跨伺服器、相同 rank 的 GPU 之間的集合操作主導。 rail-optimised 拓撲正是利用了這一點:每台伺服器的 GPU 0 都接到 leaf 交換機 0,GPU 1 接到 leaf 1,依此類推,使相同 rank 的 GPU 相隔一跳,集合操作永遠不必穿過 spine。這對光模組的影響是:單條 rail 上的故障會影響每台伺服器中的同一個 GPU 位置——這是一個值得識別的模式。
相互獨立的網絡
一個集群通常運行若干在物理上相互獨立的組網:
- 計算網絡——GPU 到 GPU(IB 或 RoCE),規模最大、光模組用量最多。
- 儲存網絡——連接並行檔案系統和對象儲存,常用以太網(儲存組網)。
- 前端/管理網絡——用戶接入、編排調度、遙測。
每一個都有各自的光模組庫存和各自的廠商驗證規則。
為甚麼一條壞鏈路影響這麼大
一次集合操作的完成速度取決於其中最慢的參與者。一個通道正在劣化的光模組—— FEC 糾錯次數增多、偶爾重傳——會拉長每一步的尾延遲,可能拖累整個集群吞吐量的一個可觀比例。這就是為甚麼 AI 營運方要在整個機群範圍內跟蹤每通道 DDM 趨勢,並主動更換光模組(AI 集群中的光模組)。
在 CodingBox 中
在光模組進入 rail 之前先在台架上完成驗證:通過 CMIS 核對身份資訊,在 DDM 介面記錄每通道基線,並存入代碼資料庫,這樣當某條 rail 開始出現錯誤時就能查到該模組的歷史記錄。
這些組網中 GPU 端的適配器——BlueField、ConnectX-8 SuperNIC、Pensando—— 及其雙端口 OSFP 光模組:智能網卡與 DPU。