国内AIデータセンターにおける400GbE RoCEv2ファブリック設計――PFC・ECN輻輳制御とパケットロスゼロ運用の実務
1. RoCEv2におけるパケットロスゼロ要件とAllReduce通信の特性
NVIDIA HopperやBlackwell世代のGPUクラスタにおける分散深層学習(Distributed Deep Learning)では、ノード間で勾配データを同期する「AllReduce」通信が極めて高頻度で発生する。このトラフィックパターンは「Incast」と呼ばれ、全ノードから同時に同一スイッチポートへパケットが殺到するため、スイッチのパケットバッファが瞬時に枯渇するリスクを常に孕んでいる。標準のTCP/IPではパケット再送によりスループットが激減するため、RDMA over Converged Ethernet(RoCEv2)を用いたハードウェアレベルのロスレス(Lossless)ネットワークファブリックの構築が不可欠である。
2. PFC(Priority-based Flow Control: 802.1Qbb)の設定指針
PFCは、802.1p優先度(CoS)に基づき、特定のトラフィッククラス(通常はCoS 3またはCoS 4)のみを対象にPAUSEフレームを送信して送信側NICを一時停止させるL2フロー制御技術である。データセンター内スイッチ(Arista EOSやCisco Nexus)では、DSCP値とCoSの厳密なマッピングを定義する。
# QoSマッピングおよびPFC設定例(Arista EOS風CLI) qos map dscp 26 to cos 3 qos map dscp 48 to cos 6 ! interface Ethernet1/1-32/1 description TO_GPU_LEAF speed forced 400gfull priority-flow-control mode on priority-flow-control priority 3 no-drop
3. ECN(Explicit Congestion Notification)とWREDによる輻輳の早期解消
PFCのみに過度に依存した場合、バッファ逼迫時にネットワーク全体へPAUSEフレームが連鎖波及し、無関係なトラフィックまで停止させる「PAUSE Storm」や「PFC Deadlock」を引き起こす。これを防ぐため、バッファが溢れる前にパケットヘッダのECNビット(CE: Congestion Encountered)をマークするWREDキュー監視を併用する。
# スイッチバッファWRED閾値設定(400Gbpsリンク用)
qos profile AI_LOSSLESS_QOS
queue 3
random-detect ecn minimum-threshold 150 kbytes maximum-threshold 1500 kbytes mark-probability 10
受信側NICがCEビットを検出すると、即座に送信元へCNP(Congestion Notification Packet)を送り返し、送信レートを自律的に引き下げる。PFCトリガー閾値をECN最大閾値よりも十分に高く設計することで、通常運用時はECNによるレート抑制でパケットロスをゼロに抑え、PFCは突発的マイクロバースト時のみの最終安全弁として機能させることが最新ファブリック設計の神髄である。