PFC · ECN · DCQCN

ロスレス Ethernet とは何か。

ロスレス Ethernet とは、選択したクラスのトラフィック(通常は RDMA)が輻輳下でドロップされないように構成された標準 Ethernet です。 Priority Flow Control(PFC)は特定の優先度キューがあふれる前に一時停止し、Explicit Congestion Notification(ECN)はパケットに早期にマークを付けて送信側の速度を落とし、DCQCN はスイッチの ECN マーキングを NIC のレート制御に結び付けます。RoCEv2 にはこのノードロップ経路が必要であり、OcNOS-DC はこれらの制御を Broadcom Tomahawk 5 上で提供します。

No-dropRDMA トラフィッククラス
3 controlsPFC · ECN · DCQCN
Tomahawk 5OcNOS-DC ロスレススタック
gNMIクローズドループテレメトリ
3 つの制御

PFC、ECN、DCQCN と、それらの階層構造

設計の意図は階段状の役割分担です。ECN と DCQCN はキューを浅く保ちトラフィックを流し続ける日常的な役割を担い、PFC はバーストがそれらを上回った場合にのみ作動し、ドロップする代わりに優先度を一瞬だけ一時停止します。PFC が常時発動するファブリックに必要なのは、追加の PFC ではなく ECN しきい値のチューニングです。

最後の砦

Priority Flow Control(PFC)

PFC は 1 つの優先度キューをホップごとに一時停止します 。バッファがあふれそうになった際に作動するため、何もドロップされません。粗く高速であり、日常的な制御ではなく最終防衛線として用いられます。

主要な制御

Explicit Congestion Notification(ECN)

ECN はキューが積み上がり始めた時点でパケットにマークを付けます。 受信側 NIC が送信側に通知し、送信側はキューが満杯になる前にレートを下げます。きめ細かく継続的であり、日常的な役割を担います。

The loop

DCQCN

DCQCN はスイッチ上の ECN マーキングを NIC のレート制御に結び付けます。 スイッチの役割は ECN マーキングであり、NIC がレート調整を行います。両者が連携することで、PFC を発動させることなくキューを低く保ちます。

なぜ RDMA にこれが必要か

RoCEv2 がロスレス経路を必要とする理由

RDMA はノードロップのトランスポート向けに構築されました。 RoCEv2 は RDMA を UDP および IP 上で伝送し、データセンター全体にわたってルーティング可能にしますが、そのロスに対する低い許容度も引き継ぎます。単一のパケットドロップでも回復処理が強制され、テールレイテンシが急増し、GPU コレクティブが停止しかねず、それがトレーニングステップ全体を停止させます。

PFC と ECN によって Ethernet 経路をロスレスにすることで、RoCEv2 は本来設計された動作を得られます。これこそが AI ファブリックにおいてロスレス Ethernet が存在するすべての理由であり、本番の RoCEv2 GPU ファブリックが常にロスレス構成のネットワーク上で動作する理由です。

オープンハードウェア上で

OcNOS-DC が提供するもの

Broadcom Tomahawk 5 プラットフォーム上で、OcNOS-DC は完全なロスレススタックのイネーブラーであり、推測ではなくクラスター立ち上げ時にクローズドループでチューニングされます。

  • PFC(DCBX および LLDP を用いた L3 上の PFC を含む)に加え、PFC Deadlock Detection and Recovery。
  • ECN および Dynamic ECN、加えて Enhanced Transmission Selection(ETS)と WRED。
  • ファブリック全体にフローを分散させるためのバッファチューニングと RTAG7 ハッシング。
  • クローズドループのしきい値チューニングのために、gNMI および OpenConfig テレメトリ上でストリーミングされる輻輳およびキューのカウンタ。
よくある質問

ロスレス Ethernet とは何か FAQ

ロスレスイーサネットとは?
ロスレス Ethernet とは、選択したクラスのトラフィック(通常は RDMA)が、ネットワークが輻輳した際にドロップされないように構成された標準 Ethernet です。これは、特定の優先度キューがバッファをあふれさせる前に一時停止する Priority Flow Control(PFC)と、いずれかのキューが満杯になる前に送信側の速度を落とすようパケットに早期マークを付ける Explicit Congestion Notification(ECN)によって実現されます。目的は、ネットワーク全体をノードロップ化することなく、ロスに悪く反応するトラフィックにノードロップ経路を提供することです。
PFC、ECN、DCQCN はどのように連携しますか。
これらは異なる速度で動作します。ECN は主要かつきめ細かい制御であり、キューが積み上がり始めるとスイッチがパケットにマークを付け、受信側 NIC が送信側にレートを下げるよう通知します。DCQCN は、スイッチ上の ECN マーキングを NIC のレート制御に連続ループで結び付けるエンドツーエンドのアルゴリズムであり、DCQCN におけるスイッチの役割は ECN マーキングです。PFC は高速な最後の砦であり、それでもキューがあふれそうになった際に、ECN と DCQCN が効果を発揮する間に何もドロップされないよう、その優先度をホップごとに一時停止します。よくチューニングされたファブリックは ECN と DCQCN に依拠し、PFC を最終手段として保ちます。
なぜ RoCEv2 にはロスレス Ethernet が必要ですか。
RoCEv2 は UDP および IP 上で伝送される RDMA です。RDMA はノードロップのトランスポート向けに設計されているため、パケットドロップは回復処理を強制し、テールレイテンシの点で高くつき、GPU コレクティブを停止させかねません。PFC と ECN によって Ethernet 経路をロスレスにすることで、RoCEv2 は期待するノードロップ動作を得られます。これが、本番の RoCEv2 GPU ファブリックが常にロスレス構成のネットワーク上で動作する理由です。
OcNOS-DC はどのロスレス機能をサポートしますか。
Broadcom Tomahawk 5 ハードウェア上で、OcNOS-DC は PFC(DCBX および LLDP を用いた L3 上の PFC を含む)、ECN、Dynamic ECN、Enhanced Transmission Selection(ETS)、WRED、PFC Deadlock Detection and Recovery を、バッファチューニングおよび RTAG7 ハッシングとともにサポートします。輻輳状態およびキューカウンタは、クローズドループのチューニングのために gNMI および OpenConfig テレメトリ上でストリーミングされます。それぞれの詳細については PFC デッドロックおよび DCQCN のページをご覧ください。

ロスレスファブリックのチューニングをご検討ですか。しきい値設定をご一緒に

GPU 規模とトラフィッククラスをお知らせいただければ、IP Infusion のエンジニアが、しきい値を当て推量に委ねることなく PFC・ECN・DCQCN をご一緒に設定します。