RDMA · RoCEv2 · ロスレス Ethernet

RDMA とは何か。

RDMA(Remote Direct Memory Access)は、一方のマシンがネットワーク経由で他方のマシンのメモリを直接読み書きすることを可能にし、双方の CPU とオペレーティングシステムをバイパスします。 ネットワークアダプタが両端のアプリケーションメモリ間でバイトを直接移動させるため、レイテンシは極めて低く、CPU オーバーヘッドはほぼゼロです。Ethernet 上では RoCEv2 が RDMA を伝送してルーティング可能にし、RDMA はパケットがドロップされないことを前提とするため、ロスレスファブリック上で動作します。

Zero-copyカーネルバイパス、アダプタ間
Near zeroデータパス上の CPU オーバーヘッド
UDP 4791RoCEv2 カプセル化、ルーティング可能
LosslessBroadcom TH5 上の OcNOS-DC
その仕組み

ゼロコピー、CPU バイパス、そしてそれが要点である理由

通常のネットワーク転送はデータをカーネル経由でコピーし、両端で CPU に依存します。RDMA はその両方を取り除きます。アダプタは送信側のアプリケーションメモリから直接読み取り、受信側のアプリケーションメモリへ直接書き込み、データパス上で CPU を経由するものは何もありません。これこそが、RDMA の極めて低いレイテンシ・極めて高いスループット・ほぼゼロの CPU コストという組み合わせを実現し、RDMA が GPU 間通信の標準となった理由です。

  • Zero-copy: バイトは両端のアプリケーションメモリ間を直接移動し、中間のカーネルバッファを介して段階的に受け渡されることはありません。
  • カーネルバイパス: オペレーティングシステムではなくネットワークアダプタが転送を駆動するため、CPU はデータパスから外れます。
  • ほぼゼロのオーバーヘッド: CPU はパケットの取り回しではなくワークロードの実行に振り向けられ、これは GPU 規模において決定的です。
Ethernet 上の RDMA

RoCEv2 が Ethernet 上で RDMA を伝送する仕組み

RoCEv2(RDMA over Converged Ethernet, version 2)は、宛先 UDP port 4791 を用いて RDMA を UDP および IP にカプセル化し、別個のネットワークを必要とせずに標準の Layer 3 Ethernet ファブリック全体にわたってルーティング可能にします。RDMA 操作は依然として同じゼロコピー動作でアダプタ間で実行され、RoCEv2 はそれにルーティング可能な Ethernet 経路を与えるだけです。これこそが、マルチベンダー Ethernet ファブリックが GPU クラスターにおいて InfiniBand の代わりを務めることを可能にします。

ルーティング可能なトランスポート

RDMA は次の内部を伝送されます: port 4791 上の UDP および IP。そのため専用ファブリックを必要とせず、標準のルーティングされたデータセンターを横断します。

ノードロップネットワーク

RDMA はネットワークがパケットをドロップしないことを前提とするため、次の上で動作します: ロスレスファブリック 。PFC と ECN があらゆるホップをノードロップに保ちます。

AI ファブリック

このトランスポートは次の基盤です: AIファブリック: the GPU-to-GPU network that carries every collective during training.

AI にとって重要な理由

AI コレクティブが RDMA に依存する理由と、ファブリックがロスレスでなければならない理由

AI トレーニングは AllReduce などのコレクティブ操作を実行します。各ステップの後、あらゆる GPU が他のすべての GPU と勾配を交換し、次のステップの前に全員がその交換を待ちます。データ量は大きくスケジュールは厳しいため、RDMA は各交換を高速かつ CPU から切り離して保ちます。単一のパケットロスでも回復処理が強制され、テールレイテンシが急増しコレクティブ全体を停止させかねないため、Ethernet 上の RDMA は常にロスレスファブリック上で動作します。

  • コレクティブは交換が完了するまであらゆる GPU をブロックするため、 レイテンシの低減はステップを短縮します 。クラスター全体がそのステップを待っています。
  • RDMA は交換を保ちます CPU から切り離し、コピーを排して。これは数百万ステップにわたって積み重なり、総トレーニング時間に対する直接的なレバーとなります。
  • OcNOS-DC はノードロップファブリックを次で提供します: PFC、ECN、動的ロードバランシング 。Broadcom Tomahawk 5 上で、フローをホットリンクから遠ざけます。
よくある質問

RDMA とは何か、その回答

RDMAとは?
RDMA stands for Remote Direct Memory Access. It lets one machine read or write another machine's memory directly over the network, without involving either machine's CPU and without copying the data through the operating system kernel. The network adapter moves the bytes straight between application memory on both ends. The result is very low latency and very high throughput with almost no CPU overhead, which is why RDMA is the standard way GPUs exchange data during AI training.
RoCEv2 は Ethernet 上でどのように RDMA を伝送しますか。
RoCEv2(RDMA over Converged Ethernet, version 2)は、宛先 UDP port 4791 を用いて RDMA を UDP および IP にカプセル化し、別個のネットワークを必要とせずに、RDMA を標準の Layer 3 Ethernet データセンター全体にわたってルーティング可能にします。RDMA 操作は依然として同じゼロコピー・CPU バイパス動作でアダプタ間で実行され、RoCEv2 はそれにルーティング可能な Ethernet 経路を与えるだけです。これこそが、マルチベンダー Ethernet ファブリックを GPU クラスターにおける InfiniBand の実用的な代替とします。
ゼロコピーと CPU バイパスは AI にとってなぜ重要ですか。
AI training runs collective operations such as AllReduce, where every GPU exchanges gradients with every other GPU after each step, moving enormous amounts of data on a tight schedule. If the CPU had to copy every message through the kernel, it would become the bottleneck and burn power doing it. RDMA removes the CPU and the copies from the data path, so a GPU's data lands in the peer GPU's memory with minimal latency, which shortens the exchange every GPU is waiting on.
なぜ RDMA にはロスレスファブリックが必要ですか。
RDMA はネットワークがパケットをドロップしないことを前提に設計されました。パケットが失われると回復処理は高くつき、テールレイテンシが急増し、GPU コレクティブ全体を停止させかねません。そのため Ethernet 上の RDMA はロスレスファブリック上で動作します。Priority Flow Control と ECN がネットワークをノードロップに保ちます。OcNOS-DC はそのファブリックを、Broadcom Tomahawk 5 ハードウェア上で PFC・ECN・動的ロードバランシングによって提供します。詳細はロスレス Ethernet および RoCEv2 のページをご覧ください。

RDMA ファブリックの設計をご検討ですか。ロスレスに構築しましょう

ワークロードと GPU 規模をお知らせいただければ、IP Infusion のエンジニアが、OcNOS-DC を動作させるオープンハードウェア上で RoCEv2 およびロスレスファブリックの設計をご一緒に進めます。