DCQCN:RDMA 向け Quantized Congestion Control
DCQCNは、RoCEv2 AIファブリックをPFCポーズから遠ざけ、パケットロスを回避するクローズドループの輻輳制御です:スイッチが早期にECNをマーキングし、受信側がCNPをエコーバックし、送信側がレートを量子化します。OcNOS-DCは、xCCL(NCCL/RCCL/oneCCL)の集合通信ワークロード向けに事前チューニング済みのデフォルト値を標準搭載し、逸脱が必要なファブリックのためにすべてのしきい値を公開します。
DCQCNクローズドループ
送信側NIC、輻輳スイッチ、受信側NIC。スイッチのWRED ECNマーカーが発火 before キューが PFC ポーズしきい値に達します。受信側は Congestion Notification Packet(CNP)を生成し、送信側のリアクションポイントがレートを下げ、その後再び上昇させます。ロスレス、PFC 圧力なし、高速収束。
AIファブリックにおいてDCQCNが担う役割
RoCEv2 には輻輳を処理する 2 つの方法があります。PFC ポーズ(ホップごとに伝播するバックプレッシャー)と DCQCN(エンドツーエンドのレート制御ループ)です。PFC 単独でも機能しますが、輻輳を上流へ押し上げ、ポーズストームやヘッドオブライン ブロッキングを招くリスクがあります。DCQCN は PFC に先んじて作用し、パケットを ECN でマーキングします before キューがpauseしきい値に達するため、スイッチがpauseをアサートする前に送信側が速度を落とします。
うまく設計すれば、ファブリックの運用時間の大半を DCQCN フィードバックのみで過ごし、PFC は安全策として機能します。設計が不適切だと、ECN しきい値が PFC ヘッドルームと整合せず、DCQCN を設定していてもポーズストームが発生します。 閾値チューニングこそがすべての鍵、OcNOS-DC は xCCL コレクティブトラフィック向けにチューニング済みのデフォルト値を提供しつつ、固有のトラフィックパターンを持つファブリック向けにすべてのパラメータを公開します。
3つの構成要素
- リアクションポイント(送信側 NIC)。 CNPを受信し、DCQCNのα更新/乗算的減少/加算的増加ループを実行して送信レートを量子化。
- 輻輳ポイント(スイッチ)。 ECN 対応パケットにマークを付与し
CEキュー深度がK-minを超えた時点でWREDカーブを用い、マーキング確率はK-maxでP-maxまで線形に上昇します。 - Notification Point(受信側NIC)。 マークされた各フローに対し送信側へCNPを生成し、レートを制限(通常フローあたり50 µsに1回)。
OcNOSのDCQCN実装
K-min, K-max, P-max
プライオリティキューごとに WRED ECN マーキング、K-min/K-max 閾値と P-max マーキング確率を設定可能。xCCL 級のデフォルトを標準搭載、YANG パスとして調整可能な形で公開。
PFC 非依存
ECN マーキングは PFC のポーズしきい値とは独立して設定されます。両者の不整合は最も一般的な DCQCN 設定エラーです。OcNOS は適用前に、K-max、ヘッドルーム、ポーズアサートの関係を検証します。
VXLAN上のECN
VXLANのカプセル化/カプセル化解除を通じてECNビットが保持されるため、アンダーレイだけでなくEVPN-VXLANオーバーレイ全体でDCQCNがエンドツーエンドに機能します。
キュー単位のECNカウンター
出力キューごとのECNマーク付きパケット、キュー深度分布、CNPトリガレートをgNMIでストリーミング。クラスタ立ち上げ時のクローズドループチューニングが可能です。
コミットする前に検証
K-min/K-max/PFCヘッドルームが、ロスレスプライオリティに割り当てたバッファ空間と数学的に整合しているかをCLIでサニティチェック。設定ミスを早期に検出します。
DC-PLUSライセンスティア
OcNOS-DC PLUSスキューの一部です。同一のイメージ、同一のサポートで提供され、ロスレスRDMAスタックを有効化するための機能別アドオンは不要です。
これが見かけ以上に重要である理由
「RoCEv2が正しく動作しない」というサポート案件の大半は、DCQCNのしきい値の不整合に帰着します。ECNが設定されているのにマーキングされず(K-minが高すぎる)、PFCが輻輳制御の負荷をすべて背負ってしまうか、ECNが過度に積極的にマーキングし(K-minが低すぎる)、実際の輻輳が発生する前に送信側がレートを下げてしまうかのいずれかです。OcNOS-DCは大半のTH4/TH5ファブリックで機能するデフォルト値を備えています。逸脱が必要なファブリックでも、全パラメーターがYANGモデル化されており、検証可能です。