イーサネットベースの GPU スケールアップ ネットワーク

Scale-UP 相互接続に RoCE を利用する Intel の Gaudi-3 の最近の発売と、NVLink の Ethernet への置き換えに関する Jim Keller の議論により、この革新的なアプローチが注目を集めています。特に、Jim Keller が関与している Tenstorrent は、イーサネットを使用したチップ間のネットワーク相互接続を巧みに実装しています。したがって、NVLink をイーサネットに置き換えるための課題と要件に対処することが重要です。

NVLink を Ethernet に置き換えることは、単に新しいトランスポート プロトコルを採用するだけの問題ではありません。 GPU アーキテクチャに一連の変更を加える必要があります。本質的に、この問題は、イーサネット ネットワーク上に高帯域幅メモリ (HBM) を吊るし、スケールアウトと一連の通信最適化の両方を実現して、SHARP に代表されるインネットワーク コンピューティングなどの計算需要を満たす方法を見つけ出すことと同じです。世界的に見ても、この多面的な問題に対処できる人はほんのわずかしかおらず、ウルトライーサネットがこの概念を完全に理解していないことは明らかです。

先に進むには、次の重要な質問に対処する必要があります。

  • 待ち時間の境界: 許容可能な待ち時間の境界はどれくらいですか?高スループット、高速 SerDes FEC、および数万枚のカードの規模を超える相互接続によって引き起こされるリンク遅延は避けられません。これらの問題は、パケット プロトコルの変更や HPC-Ethernet の導入だけでは解決できません。
  • 送信セマンティクス: 送信のセマンティクスは何ですか?ネットワークの専門家は通常、基本的な SEND/RECV 操作を理解しています。たとえば、UEC の冪等操作に対する信頼性の高い非順序配信 (RUDI) の定義は技術的な誤りです。これは交換法則とべき等法則を満たしていますが、リダクション加算のべき等性などの特定の演算をどのように実装できるかについては言及していません。さらに、NVLink でのきめ細かいメモリ アクセスにはサポートされていない結合則に基づく最適化も必要です。より広範には、セマンティクスは半格子のセマンティクスに進化する必要があります。
  • NVLink での大容量メモリのプール: NVLink での大容量メモリのプールにどのように対処するか? これには、KV キャッシュなどの計算問題における Compute Bound 演算子の時間と空間のトレードオフを解決することが含まれます。
  • 動的ルーティングと輻輳制御: 1:1 の非収束ロスレス ネットワークで動的にルーティングして輻輳を制御する機能は、ハードコードされたチューニングを通じて数万枚のカードを備えたクラスタにとっては重大な問題ではありません。ただし、数十万から数百万枚のカード規模のクラスタでは、長距離伝送に RDMA が必要になる場合もありますが、これらの問題を解決できる商用ベンダーはまだありません。

現在の ScaleUP 相互接続ソリューションの概要

インテル ガウディ3

Gaudi3 ホワイトペーパーによると、Gaudi Die は次のような構造になっています。24 個の RoCE 200Gbps リンクが組み込まれており、そのうち 21 個は内部フルメッシュに使用され、XNUMX 個は外部接続に使用されます。

ガウディの死

超大規模ネットワーク向けのトポロジが計算されており、リーフ スイッチの帯域幅は 25.6T スイッチに相当します。

超大規模ネットワークのトポロジ

輻輳制御

Intel のホワイトペーパーには、PFC を使用する代わりに、選択的 ACK メカニズムが採用されていると記載されています。さらに、ECN の使用を回避するために、SWIFT アルゴリズムが輻輳制御 (CC) に使用されます。基本的に、これは、Intel の IPU 上の Google Falcon の Reliable Transport Engine を再利用したものです。

マルチパスとネットワーク内の削減

Intel はパケット スプレーをサポートすると主張していますが、どの会社のスイッチが使用されているかは不明です。それは確かに彼ら自身のトフィーノではありません。したがって、Broadcom でなければなりません。さらに、ネットワーク内削減は FP8/BF16 などをサポートし、演算子は Sum/Min/Max のみをサポートします。 UEC の In-Network-Computing (INC) に関するワークグループと組み合わせると、全体像がより明確になります。

マイクロソフト マイア 100

入手できる情報は限られていますが、シングルチップの帯域幅は 4800Gbps です。 100 つのサーバー シャーシには 32 つの MaiaXNUMX カードが含まれており、XNUMX つのサーバーを備えたキャビネット全体が XNUMX 枚のカードのクラスターを形成します。

マイクロソフト マイア 100

拡大されたスイッチと相互接続ケーブルを調べると、24 つのスイッチがあり、各サーバーには 400 個の XNUMXGbps ネットワーク インターフェイスがあります。ポート (図の黒色で示されている) と外部相互接続ライン (紫色で示されている) の間には、ループバック接続があります。

相互接続ケーブル

これは、マザーボード内に口の形の相互接続を形成し、X 方向にリングを作成し、Y 方向の 3 つの平面にある 3 つのスイッチに接続するトポロジを示唆しています。

マザーボード内に口の形の相互接続を形成するトポロジ

スイッチのアップリンクはキャビネット間のスケールアウト接続を実行し、各キャビネットの各プレーンには合計 32 の接続が行われます。 400G インターフェース。 1:1 コンバージェンスを追加すると、アップリンク スイッチがリンクして 25.6T スイッチを形成し、理論的にはマルチレイヤ拡張が可能になります。これは、スケールアップ ネットワークとスケールアウト ネットワークの合併を表します。プロトコルに関しては、単純なポイントツーポイント RoCE がトーラス リングに問題を引き起こすことはありません。ただし、スケールアウト スイッチに相互接続する場合は、マルチパス機能が必要になります。

欠点は、遅延が長くなる可能性があることです。ただし、CUDA のような SIMT モデルに従わず、代わりにシストリック アレイ アプローチを使用するカスタム チップの場合、遅延は重大な問題ではありません。さらに、トーラス グループが 5 つだけであるため、集団通信の遅延の影響は最小限に抑えられます。 CSP は通常、チップをトレーニングする前に推論チップを開発するため、個人的には、これらのチップは主に推論に使用される可能性が高いと考えています。 AWS Trainium/Inferentia や Google の V5p/VXNUMXe など、他の CSP もトレーニングと推論を明確に区別しています。

Google TPU

Google TPU インターコネクトはよく知られており、トーラス リング トポロジとリンク スイッチング用の光スイッチを備えています。

48 ocsで接続
物理システム

光回線スイッチング (OCS) は、販売規模に応じた動的な分割と、MoE のような全対全通信の二分帯域幅の最適化という 2 つの目的を果たします。

全対全コミュニケーション

たとえば、単一の TPUv5p チップは、4800D トーラス トポロジによる 3 Gbps チップ間相互接続 (ICI) 接続をサポートします。 8960 個の TPUv5p ユニットのクラスターを OCS によって動的に分割して、さまざまなスケールを販売できます。販売可能な最大構成は 6144D トーラスを形成する 3 ユニットです。

フォールトトレランス

フォールト トレランスは、3D トーラス トポロジにとって重要な考慮事項です。

さらに、Google は、データセンター ネットワークを介して 2 つのポッドを拡張し、ポッド間のデータ並列 (DP) 並列処理によるマルチスライス トレーニングを構築することをサポートしています。

線形にスケールする

AWS トレーニング

トレイニウムの建築

AWS Trainium アーキテクチャは、16D トーラス リング構造で相互接続された小さなクラスターを形成する 2 個のチップで構成されています。

16チップ

テスラ道場

Tesla Dojo は、ウェーハ/NOC と外部イーサネット拡張を統合するために独自の Tesla Transport Protocol を開発しました。

テスラトランスポートプロトコル

TSMC のシステム オン ウェーハを利用して、25 個の D1 コンピューティング ユニットが単一のウェーハ上にカプセル化され、5×5 2D メッシュ ネットワークで相互接続され、各ウェーハが 40 個の I/O ダイを含むタイルを形成します。

テクノロジーを活用したスケーリング

タイルは 9TB/秒の速度で相互接続されます。

タイルは 9TB の速度で相互接続されます

オンチップ ネットワーク ルーティングは、障害が発生した D1 コアまたはタイルをバイパスできます。

オンチップ ネットワーク ルーティングは、障害が発生した D1 コアまたはタイルをバイパスできます。

外部スケールアウト イーサネットの場合は、Dojo インターフェイス プロセッサ (DIP) カードがあり、各 D1 計算エンジンには独自の SRAM とその他のメモリが HBM 搭載 DIP カードに配置されています。

V1 Dojo インターフェースプロセッサー

各ネットワーク カードは、900 GB/秒の特別なバスである Tesla Transport Protocol (TTP) を介して Dojo の I/O ダイに接続されます。 800GB 各 I/O ダイが 5 つの DIP カードに接続できる HBM 帯域幅。

PCle トポロジー

2D メッシュ ネットワークの内部通信により、長距離通信にはコストがかかるため、特別なルーティング設計が実装されています。

道場システムネットワーク

配線はオンチップで複数のパスを提供しており、順序が乱れています。大規模で長距離の通信の場合、Dojo インターフェイス カードを賢く使用すると、ショートカットとして 400 Gbps イーサネット TTPoE バスが構築されます。

Z 平面トポロジ

Dojo は、システムオンウェーハによる高密度ウェーハスケールのオンチップネットワークと、9TB/s のプライベート高速短距離ウェーハ間通信ネットワークを構築します。 I/O とメモリは DIP カードに統合されており、ウェーハスケールのネットワークに接続されたカードあたり 900GB/s を提供し、大規模な 2D メッシュ ネットワークを形成します。ただし、オンチップネットワーク上の長い通信距離による輻輳制御を考慮して、DIPカードをベースにした400Gbpsのエスケープチャネルが設計されており、通信は外部イーサネットスイッチを介して宛先ウェハに送信されます。

緊張

Tenstorrent でのチップ間の相互接続設計では、Jim Keller 氏は単純な構造を持つ Ethernet を利用しました。 Tensor + 制御ヘッダーはイーサネット パケットを形成し、以下に示すように条件付き実行機能をトリガーできます。

Tensor + コントロールヘッダー

イーサネットを使用した完全なチップ間相互接続

イーサネットを使用した完全なチップ間相互接続

複数の関数型通信ソース言語をサポート

複数の関数型通信ソース言語をサポート

次に、グラフの分割があります。ステージあたりの命令数も推定でき、出入りするオペレーターの帯域幅も推定できるようです。

tenstorrent u-arch

コアへの最終的なマッピング制約も単純であるように見えます。

コアへの最終的なマッピング制約

シンプルな 2D メッシュ構造

シンプルな 2D メッシュ構造

大規模な相互接続用に最大 40,960 コアまで拡張可能

大規模な相互接続用に最大 40,960 コアまで拡張可能

スケールアップの技術要件

トポロジの選択

ScaleUp ネットワーク トポロジの選択では、Nvidia が現在 1:1 収束ファット ツリー構造を使用しているのに対し、他の企業は主にトーラス リングまたは 2D メッシュ トポロジを使用していることがわかります。 Nvidia は後に DragonFly に進化します。

トンボが上回る

この選択の背後にあるロジックは、hammingMesh の論文で見ることができます。

この選択の背後にある論理

Allreduce 帯域幅の場合、Torus が最もコスト効率が高く、基本的にピーク パフォーマンスに到達できます。ただし、MoE のような AlltoAll を必要とするモデルの場合は、二分帯域幅を考慮する必要があります。 DragonFly は、配線の複雑さ、グローバル帯域幅、ネットワーク直径の点で優れたパフォーマンスを発揮します。

動的ルーティングと信頼性の高い伝送

誰もが RoCE の欠点を批判していますが、実際には、BF3+Spectrum-4 にはアダプティブ ルーティングがあり、Broadcom にはパケット スプレイングを進化させる DLB/GLB があり、Cisco と同様の VoQ テクノロジーもあります。 Meta には、コントロール プレーンでのトラフィック エンジニアリングまたはアフィニティ スケジューリング用のマルチパス静的ルーティングもあります。

ただし、これらのソリューションは、数万枚のカードの規模では問題の一部しか解決できません。本当の課題は、数十万枚のカードに拡張するときに発生します。これにどう対処すればよいでしょうか?

バーストをアルゴリズム的に解決するのは困難な作業ですが、さらに困難なのは、バーストの根本原因を誰も理解しようとしていないことです。その代わりに、バーストを軽減するためにスイッチ バッファを常にテストしようとしているほか、決定論的ネットワーキングやフーリエ解析を研究しているところもあります。これは単に要点を見逃しています。

これは非常に難しい問題であり、他の業界関係者がいつ解決するかはまだわかりません。もう 24 つの側面は、システム障害と柔軟なスケーリングです。 Google の NSDIXNUMX 論文では断片化の理由について言及しています。

機械の停止

これらの問題を考慮しないと、スケジュールの問題が発生します。良い選択としては、ICI 内にルーティング テーブルを実装し、OCS スイッチと組み合わせることです。

OCSスイッチ
ICI スイッチのコンポーネント

Ethernet が ScaleUP をサポートするためにこれが重要なのはなぜですか?イーサネットは、DragonFly と失敗したリンクのスイッチング機能をサポートするために、ここにルーティング層を実装する必要があるためです。

スケールアップにとってレイテンシは重要ですか?

この質問の本質は、GPU がレイテンシー隠蔽をどのように実行するか、および NVLink と RDMA のレイテンシーの違いです。 GPU は本質的にスループットが最適化されたプロセッサであることに注意することが重要であり、GPU が低遅延を追求する場合、その実装に問題があることを示すことになります。基本的な問題は、NVLink がメモリ セマンティクスを使用するのに対し、RDMA はメッセージ セマンティクスを使用することです。また、ヘテロジニアス コンピューティングに RDMA を実装する際にも課題があります。

RDMA実装の欠点

NVLink と比較して RDMA で遅延が長くなる主な要因は CPU です。

CPUプロキシの仕組み

Nvidia は、多くのメモリ アクセス レイテンシをより効果的に隠すのに役立つ GDA-KI を通じてこの問題に対処しています。

Nvidia は GDA-KI を通じてこの問題に対処しています

きめ細かいメモリアクセス

もう 1 つの問題は、NVLink がメモリ セマンティクスに基づいており、きめ細かいロード/ストア アクセスが多数あるため、伝送効率と遅延が非常に重要になっていることです。しかし、イーサネット RDMA を使用してこれをどのように行うことができるのでしょうか?パケットが大きすぎるため、HPC イーサネットが必要になります。

きめ細かいメモリアクセス

これは、私が NetDAM で議論してきた問題、つまり RDMA メッセージの半格子セマンティクスの必要性です。

  • 可換性により、順序付けされていない方法でデータを送信できることが保証されます。
  • 冪等性は、パケットのドロップと再送信のあいまいさの問題を解決しますが、副作用のある Reduce のような操作の場合は、トランザクション ベースまたはデータの冪等性が必要です。
  • 結合性は、スケジューリングを通じてきめ細かいメモリ アクセスの伝送効率を向上させるのに役立ちます。
NetDAMで

メモリ アクセス要件の場合、ホスト内プロトコルは通常 FLIT サイズです。これをサポートしながら、超大規模な ScaleUP 相互接続、信頼性、ルーティング ヘッダー、イーサネット ヘッダー、マルチテナント分離 (VPC ヘッダー) なども実現するには、結合性を活用することが重要です。しかし、UEC はこれを完全に見逃しているようで、RUDI の可換性と冪等性のサポートのみを提供しています。

メインヘッダー
TLPダイジェスト

Nvidia のソリューションは連想エンコーディングであり、きめの細かいアクセスの問題を解決します。

きめ細かいアクセスの問題

次世代の NVLink は Infiniband と統合される可能性が高く、ScaleOut ネットワークと ScaleUP ネットワークは最終的に統合されることになります。

ScaleUP のためのメモリ プーリング

現在、多くの大型モデルは HBM (高帯域幅メモリ) の容量制限に悩まされています。 NVIDIA は、Grace と NVLink C2C を接続してメモリを拡張することでこの問題に対処しましたが、根本的な問題は、ScaleUP ネットワークにはメモリ プーリングが必要であるということです。

ScaleUP のためのメモリ プーリング

結論

  1. Ethernet ScaleUP の実現を目指す企業は、次の主要な課題を考慮する必要があります。
  2. 遅延はそれほど重要ではありません。メッセージ セマンティクスに合わせて GPU メモリ アクセス パターンを変更し、処理をキャッシュすることで、レイテンシーを隠すことができます。
  3. ScaleUP ネットワークの動的ルーティングとテナント分離機能は非常に重要です。特にリンク障害によって引き起こされる断片化の問題に対処するには、効果的なルーティング ソリューションが必要です。
  4. RDMA (Remote Direct Memory Access) セマンティクスは不完全であり、SHARP (Scalable Hierarchical Aggregation and Reduction Protocol) を単純にコピーすることには多くの落とし穴があります。冪等性を達成するための一連の副作用操作をサポートする半格子セマンティクスが必要です。
  5. 全体的なファブリックの使用率を向上するには、ファブリックのマルチパス転送と輻輳制御が必要です。
  6. 大規模なメモリ プーリングが不可欠です。
結論

コメント

上へスクロール