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 圧力なし、高速収束。

DCQCN クローズドループ輻輳制御 左から右へ3つのボックス:送信側NIC(リアクションポイント)、WRED ECNマーカーを備えた輻輳スイッチ、受信側NIC(通知ポイント)。順方向の矢印は、パケットが左から右へ流れ、スイッチによってマーキングされる様子を示します。逆方向の矢印は、CNPが右から左へ送信側に戻る様子を示します。ラベルは、ECN K-min、K-maxのしきい値とCNPフィードバックパスを示しています。 データ+ECN 対応 ECN = CE(マーク付き) CNP:Congestion Notification Packet 送信側NICリアクションポイントα更新・カット・ランプ OcNOS-DCスイッチWRED ECNマーカーK-min · K-max · P-max レシーバー NIC通知ポイント50µsごとにCNP DCQCN・WREDマーキング・CNPフィードバック・量子化レート制限・ロスレスRoCEv2

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実装

WRED曲線

K-min, K-max, P-max

プライオリティキューごとに WRED ECN マーキング、K-min/K-max 閾値と P-max マーキング確率を設定可能。xCCL 級のデフォルトを標準搭載、YANG パスとして調整可能な形で公開。

Per-Priority

PFC 非依存

ECN マーキングは PFC のポーズしきい値とは独立して設定されます。両者の不整合は最も一般的な DCQCN 設定エラーです。OcNOS は適用前に、K-max、ヘッドルーム、ポーズアサートの関係を検証します。

VXLAN 対応

VXLAN上のECN

VXLANのカプセル化/カプセル化解除を通じてECNビットが保持されるため、アンダーレイだけでなくEVPN-VXLANオーバーレイ全体でDCQCNがエンドツーエンドに機能します。

テレメトリ

キュー単位のECNカウンター

出力キューごとのECNマーク付きパケット、キュー深度分布、CNPトリガレートをgNMIでストリーミング。クラスタ立ち上げ時のクローズドループチューニングが可能です。

Diagnostics

コミットする前に検証

K-min/K-max/PFCヘッドルームが、ロスレスプライオリティに割り当てたバッファ空間と数学的に整合しているかをCLIでサニティチェック。設定ミスを早期に検出します。

Scope

DC-PLUSライセンスティア

OcNOS-DC PLUSスキューの一部です。同一のイメージ、同一のサポートで提供され、ロスレスRDMAスタックを有効化するための機能別アドオンは不要です。

これが見かけ以上に重要である理由

「RoCEv2が正しく動作しない」というサポート案件の大半は、DCQCNのしきい値の不整合に帰着します。ECNが設定されているのにマーキングされず(K-minが高すぎる)、PFCが輻輳制御の負荷をすべて背負ってしまうか、ECNが過度に積極的にマーキングし(K-minが低すぎる)、実際の輻輳が発生する前に送信側がレートを下げてしまうかのいずれかです。OcNOS-DCは大半のTH4/TH5ファブリックで機能するデフォルト値を備えています。逸脱が必要なファブリックでも、全パラメーターがYANGモデル化されており、検証可能です。

実ワークロード向けにDCQCNをチューニング中か。トレースをお持ちください。

技術デモをリクエスト →