RDMA · RoCEv2 · ロスレス Ethernet

RDMA とは何か。

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

ゼロコピーカーネルバイパス、アダプタ間
ほぼゼロデータパス上の CPU オーバーヘッド
UDP 4791RoCEv2 カプセル化、ルーティング可能
ロスレスBroadcom TH5 上の OcNOS-DC

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

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

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

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ファブリック:学習中のすべての集合通信を運ぶ GPU 間ネットワークです。

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

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

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

RDMA とは何か、その回答

RDMAとは?
RDMA は Remote Direct Memory Access の略です。あるマシンが、どちらのマシンの CPU も介さず、オペレーティングシステムのカーネルを経由したデータコピーもせずに、ネットワーク越しに別のマシンのメモリを直接読み書きできるようにします。ネットワークアダプターが、両端のアプリケーションメモリ間でバイトを直接移動します。その結果、CPU のオーバーヘッドがほとんどないまま、非常に低い遅延と非常に高いスループットが得られます。これが、AI 学習中に GPU がデータを交換する標準的な方法として RDMA が使われている理由です。
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 the gradients from every GPU are combined across all GPUs 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 およびロスレスファブリックの設計をご一緒に進めます。