2023 年 3 月 23 日に、NVIDIA GTC 開発者会議 Alibaba Cloud 開発者コミュニティの閲覧ポータルが正式にオープンしました。例は、マルチマシン トレーニングのパフォーマンスを大幅に向上させます」、この記事はスピーチの内容に基づいて構成されています。
eRDMA は RDMA テクノロジに基づいて開発されており、RDMA の機能と利点は eRDMA にも適用できます。
当初、RDMA テクノロジの出現と幅広いアプリケーションは、従来の TCP ネットワーク通信プロトコルに対する明らかな利点の恩恵を受けました。メモリからネットワーク カードへのデータの移動は、CPU の継続的な介入を必要としなくなりましたが、物理ネットワーク カードに統合された DMA エンジンを介した直接メモリ アクセスによってデータ移動を完了します。同時に、移行プロセス中のユーザー モードとカーネル モードの頻繁な切り替えが回避され、アプリケーション レイヤーが物理ネットワーク カードの DMA アクセスを直接トリガーするため、CPU オーバーヘッドが大幅に節約され、遅延が減少し、最終的に通信効率が大幅に向上します。
サーバー ノード間のデータ通信プロセス中、CPU は RDMA 通信の送信元と送信先の物理アドレスの指定と通信アクションのトリガーのみを担当し、物理ネットワーク カード上の DMA エンジンは残りの作業を担当します。
従来の TCP 通信と比較して、ローカルおよびリモートの物理ネットワーク カードは、連携によってローカル メモリ データをリモート メモリ アドレス空間に直接書き込むか、リモート物理メモリ空間からローカル メモリにデータを読み取り、データが送信されるのを待つことができます。送信が完了すると、次のステップを実行するように CPU に通知され、データ送信と計算が分離され、効率的な並列計算処理が実現されます。
RDMA は、分散ノード間のメモリ データ移動を効率的に処理します。その本質は DMA アクセスです。
DMA エンジンは、デバイス アドレスに直接アクセスすることもできます。ヘテロジニアス コンピューティングのアプリケーション シナリオでは、メモリ内のデータだけでなく、GPU メモリ内のデータもサーバー ノード間で同期されます。GDR は、物理カード バインディングを実現し、サービス ノード間で GPU メモリ データを直接移動するために実装されます。
この機能をサポートするために、NVIDIA の GPU ドライバーは、アプリケーション層によって要求されたビデオ メモリに対応する物理アドレスを取得するための一連の標準インターフェイスを提供します。物理ネットワーク カードは、この物理アドレスを使用して DMA 直接アクセスを完了できます。この部分の詳細な実装とアプリケーションのサンプル コードは、NVIDIA の公式 Web サイトで入手できます。
GPU は、標準の PCI デバイスとして、物理サーバーのハードウェア トポロジに応じて、さまざまなリンクで RDMA デバイスと通信します。上の図に示すように、さまざまなハードウェア トポロジでの GDR 通信リンクと効率の比較を示しています。
上図のRDMAデバイスとGPU1は同じPCIeSスイッチ配下に接続されており、両者間の通信はPCIeスイッチを介して完結します。このタイプは PIX 通信と呼ばれ、通信効率が最も優れています。
RDMA デバイスと GPU2 は 2 つの異なるルート コンプレックスの下にあり、それらの間の通信は 2 つの PCIe スイッチと 2 つの RC を経由する必要があります。このタイプの通信は PHB と呼ばれ、通信効率に影響します。
RDMA デバイスと GPU3 の間の距離はさらに遠く、2 つの CPU のソケットの下にあり、2 つの間の通信は CPU 間の UPI チャネルを介して完了する必要があります。このタイプの通信は SYS と呼ばれ、効率が最も悪くなります。
一部の CPU アーキテクチャはこのレベルの GDR をサポートできますが、実際の使用では、実際のアプリケーションの状況に応じて重み付けする必要があり、オンまたはオフを選択できます。
eRDMA テクノロジーは、2021 年の Yunqi Conference で Alibaba Cloud によってリリースされ、RDMA エコシステムと完全に互換性があります。RDMA 環境で実行されているアプリケーション層コードは、変更せずに eRDMA 環境に直接移行できます。
また、Alibaba Cloud のエラスティック VPC の特性に基づいて、より高いエラスティック拡張をサポートし、VPC ネットワークのテナント分離を再利用してデータ通信のセキュリティを実現できます。VPCネットワークがカバーするエリアでは、eRDMAネットワークが実現でき、クラスタの限界を突破し、10万レベル近い超大規模ネットワークを実現します。
eRDMAは、第4世代のShenlong CIPUに基づいており、最大200Gの帯域幅を備えています.ハードウェアを拡張することで、より高い帯域幅を実現できます.最終的な遅延は5usまで低くなり、スループットは30Mパケット/秒に達する可能性があります.
Alibaba Cloud Elastic Compute インスタンスで eRDMA を有効にする方法は?
これは、Elastic RDMA インターフェイス (ERI) を通じて実現できます。ECS インスタンスの仮想ネットワーク カードにバインドできますが、エラスティック ネットワーク カードに接続する必要があり、エラスティック ネットワーク カードに基づいて RDMA 機能が有効になります。
ERIは、業務ネットワークを変更することなく、ENIが属するネットワーク(VPC)を再利用し、元のネットワーク上でRDMA機能を使用して、RDMAがもたらす超低遅延を体験できます。eRDMA は、第 4 世代の Shenlong アーキテクチャに基づく Alibaba Cloud サーバーで使用できます。
eRDMA は Alibaba Cloud の VPC ネットワークに基づいているため、純粋な CPU サーバーであっても GPU サーバーであっても、eRDMA デバイスを追加することで eRDMA 機能を有効にすることができます。Alibaba Cloud のユーザー インターフェイスを完全に継承し、既存のビジネスをスムーズにアップグレードできます。
上の写真の右側は 2 つのパースペクティブを示しています。下のパースペクティブは神龍の底面ビューで、上のパースペクティブはユーザーのパースペクティブです。
神龍の最下層の実装では、神龍CIPUによってVirtIOネットワークカードデバイスとERIデバイスをシミュレートし、神龍の仮想化レイヤーを介してエラスティックサーバーに配布します。ユーザーの観点からは、VirtIO と ERI という 2 つのデバイスがあります.基盤となる物理デバイスへのアクセスは、ユーザーに対して完全に透過的です.ユーザーは、Alibaba Cloud が提供する eRDMA ドライバーをインストールするだけで使用できます.
eRDMA の技術的な利点は何ですか?
まず、eRDMA の実装では、遅延ジッターやパケット損失などの VPC ネットワークでの伝送品質の変化に耐えることができ、損失の多いネットワークでも優れたパフォーマンスを維持できる、独自に開発した輻輳制御アルゴリズムが使用されます。環境. パフォーマンス.
さらに、IB や RoCE ネットワークと比較して、インフラストラクチャを再展開する必要がなく、特定のネットワーク スイッチ構成も必要ありません。アリババ クラウドの VPC ネットワークに依存することで、リージョン内のどこにでも拡張およびデプロイでき、ユーザーはオンデマンドで購入し、リソースを効率的に使用できるように柔軟にスケーリングできます。さらに重要なことに、クラウド サーバーの高可用性特性を継承し、任意のノードの障害移行を実現し、迅速なビジネス リカバリを保証します。
また、Alibaba Cloud コンソールの包括的なパフォーマンス監視ツールと組み合わせることで、ネットワークの異常を迅速に診断したり、パフォーマンス監視の分析に基づいてビジネス コミュニケーション モデルを最適化し、パフォーマンスを向上させることができます。
eRDMA は、RDMA エコロジーおよび Verbs インターフェイスと完全に互換性があります. 上の図の右側は、eRDMA がサポートできる現在の Verbs Opcode を示しており、RDMA の主要な操作コードをカバーしています. ただし、eRDMA は信頼できる接続サービス (RC) によって実現される通信に基づいており、プロキシ接続方法と CM 接続方法の両方をサポートしており、ユーザーは自分のアプリケーションに応じて選択できることに注意してください。
Alibaba Cloud は、eRDMA をサポートする最初の GPU インスタンス ebmgn7ex をリリースしました.これは ebmgn7e のアップグレード バージョンです.NVIDIA Ampere アーキテクチャの 8 つの GPU を搭載し、GPU は NVLink を介して相互接続されています. マシン全体には 2 つの eRDMA ネットワーク カードが組み込まれており、ノード間のバランスのとれたデータ チャネルを実現するために、それぞれ 2 つの CPU ソケットに取り付けられています。4 つの GPU カードはそれぞれ 1 つの eRDMA デバイスを共有し、最大 100G eRDMA ネットワーク帯域幅を共有します。
既存のエラスティック コンピューティング インスタンスとは異なり、ebmgn7ex で使用される eRDMA、EBS ストレージ、VPC ネットワークはすべて共有帯域幅モデルです。ストレージと VPC ネットワーク トラフィックがない場合、eRDMA は最大 200G の帯域幅を使用できます。ストレージまたは VPC ネットワークにトラフィックがある場合、帯域幅は重みに応じて異なるデータ トラフィックに割り当てられます。ただし、Dragon CIPU は最下層でストレージ パフォーマンスを保証できるため、帯域幅の使用効率が向上し、Dragon CIPU のパフォーマンスを完全に解放できます。
主流の AI フレームワークの最下層は、さまざまな通信バックエンドを通じてマルチマシンまたはマルチカード通信を実行します. OpenMPI、Gloo、NCCL などのいくつかの大規模な集団通信ライブラリには、さまざまな集団通信モードとアルゴリズムの独自の実装があります.
NCCO NVIDIA は、PCIe や NVLink などのチャネルを介してマシンまたは GPU カード間の高速相互接続を実現できる DPU 用のオープン ソース通信ライブラリ セットを実装しました。ソフトウェアとハードウェアのコラボレーションの助けを借りて、パフォーマンスの最適化に独自の利点があり、主流の AI フレームワークに推奨される通信バックエンドでもあります。eRDMA は NCCO を適切にサポートしており、オープン ソースの NCCO 通信ライブラリを変更せずに使用でき、基盤となる eRDMA デバイスを有効にすることができます。従来の TCP 通信と比較して、レイテンシーを低く抑えて高いスループットを実現しながら、RDMA 通信リンクに匹敵するパフォーマンスを実現できます。
さらに、RDMA と比較して、クラウド上での大規模な展開により適しており、ユーザーに非常に費用対効果が高く包括的な大帯域幅通信リンク ソリューションを提供します。
ebmgn7e と比較すると、ebmgn7ex は同じ CPU と GPU 構成を採用していますが、最下層には第 4 世代の Shenlong CIPU が採用されており、マシン全体のネットワーク帯域幅が 65G から 200G に増加し、増加率は 200% 近くになっています。同時に、通信遅延は eRDMA 技術により VPC ネットワークと比較して 80% 削減されます。
いくつかの典型的なマルチマシン トレーニング アプリケーション シナリオを選択して、2 つの間の比較テストを実施しました。ebmgn7ex の全体的なパフォーマンスは約 30% 向上し、特に vgg16、音声変換、mae などの遅延と帯域幅に大きく依存するシナリオでは、パフォーマンスが 40% 以上向上します。同時に、近いユーザー コストに基づいて、ebmgn7ex は明らかに優れたコスト パフォーマンスを示します。予備的な見積もりによると、ユーザーのビジネス シナリオに従って、20% ~ 30% のコスト最適化を達成できます。
Alibaba Cloud は 2022 年に CIPU クラウド処理ユニットをリリースしました。今日、Alibaba Cloud では、仮想化によってリソースを分割した後、クラウド サービスはユーザーにサーバーを提供することにはほど遠いものですが、CIPU のインテリジェントなスケジューリングおよび管理機能により、CIPU、GPU ストレージ ネットワークなどをさまざまなリソースに分割し、プールはそれに応じて対応するサービスを柔軟に提供できます。ユーザーのニーズに。
ストレージネットワークとコンピューティングリソースは互いに独立しているため、コンピューティングサービスを使用する場合、ユーザーのニーズに応じていくつかのタイプのリソースを動的に調整できます。たとえば、CPU コアの数、マウントされた ESSD データ ディスクの容量、およびネットワーク帯域幅はすべて、ビジネスのパフォーマンス要件に応じて変更できるため、自己構築の IDC と比較して優れた柔軟性を提供します。CIPU に基づいて、次の 2 つのことを行います。
まず、ソフトウェアをハードウェア化します。オリジナルの仮想化ソフトウェア、ネットワーク伝送、トラステッド コンピューティングなどの機能は CIPU のハードウェア アクセラレーションによって実現され、クラウド ソフトウェアの機能はサーバーの CPU メモリから解放され、コンピューティング リソース プールが独立してサービスを提供できるようになります。また、ソフトウェアのハードウェア化により、仮想化やネットワーク伝送などの機能の性能も向上しています。
2 つ目は、ハードウェア ソフトウェアです。Software-Defined Hardware により、本来ハードウェアで提供されていた RDMA 機能が CPU 上で提供されます。
現在、RDMA 機能をサポートする主なソリューションは、IB、RoCE、iWARP の 3 つです。CIPU は、Software-Defined Networking を通じて、iWARP プロトコルに基づく RDMA 機能を提供します。
市場にiWARPプロトコルを使用したソリューションは多くありません.その理由は、iWARPプロトコルがTCP伝送に基づいているためです.RoCEやIBと比較して、大量のメモリアクセスが必要であり、サーバーのCPUパフォーマンスに影響します.大規模なネットワークで。また、一般的なTCP/IPネットワーク設備の採用により、RDMA伝送の監視が実現できず、輻輳制御にも課題があります。
ただし、Alibaba Cloud は CIPU を使用して、ソフトウェア サブスクリプションを通じてネットワーク データの輻輳制御とトラフィック管理を実現します。同時に、CIPU は、コンピューティング ノードのパフォーマンスに影響を与えることなく、元のネットワークと仮想化レイヤーのメモリとコンピューティング作業を CIPU プロセッサにオフロードします。
上記の方法により、CIPU は iWARP の欠点を回避し、TCP/IPoverlay を使用してネットワークを形成します。当初、RoCE プロトコルを使用して Alibaba Cloud が提供するコンピューティング製品は、最初に VPC ネットワーク用の TCP オーバーレイのセットと、RDMA データ転送用の別の RoCE のセットを必要としていました。元のソリューションと比較して、eRDMA は RDMA を VPC ネットワークにマージし、トポロジ全体が非常にシンプルで便利になります。
Alibaba Cloud のネットワーク ストレージとコンピューティング リソースはすべて VPC ネットワークに接続されており、CIPU を介して、AZ 内のすべてのリソースを RDMA によるデータ転送に使用できます。従来の RoCE や IB ネットワークは、専用のコンピューター ルームを独自に構築する必要があり、コンピューター ルームが構築された後にネットワーク トポロジを変更することは困難でした。eRDMAインスタンスは、新たに計算機室を建設する必要がないため、RoCEネットワーク方式に比べて計算機室のコストが大幅に削減され、非常に経済的です。
さらに、CIPU ソフトウェア定義ハードウェアはエラスティック ネットワークを実装できるため、eRDMA コンピューティング クラスターは、追加のネットワーク構成なしでオーバーレイ クラスの AZ 内のすべてのリソースをリンクできます。単一の AZ にデプロイされたリソースをプルアップして同じコンピューティング リソース クラスターに提供できる限り、弾力性機能が大幅に強化されます。同時に、eRDMA は汎用コンピューティング ネットワークに基づいており、互換性が非常に高く、ほぼすべての API と互換性があります。
eRDMA は、AZ 内のほぼすべての規模のコンピューティング リソースを独立したコンピューティング クラスターにマージできるため、AI トレーニング クラスターの構築に非常に適しています。このインスタンスは eRDMA プロトコルに基づいて ICL プロセッサを使用し、各マシンは eRDMA 200G ネットワークを介して相互接続でき、アベイラビリティ ゾーンで適用されるすべてのインスタンスは相互に RDMA 伝送を実現できます。
特にリソースは仮想化レイヤーを介してクラウド上に提供され、仮想化レイヤーではコンピューティング能力がある程度失われますが、Alibaba Cloud が CIPU を使用して提供するベアメタル インスタンスは異なります。インスタンスの前の EBM の 3 文字は、このベア メタル インスタンスのマシン全体の物理リソースが CIPU を介してユーザーに直接送信されることを表し、その間に仮想化レイヤーが失われることはありません。 CIPU を使用すると、ユーザーは完全な物理マシン機能を取得できます。
このインスタンスの価格は、64G ネットワーク帯域幅を備えた以前のベアメタル インスタンス ebmgn7e の価格よりも低く、これはネットワークとの CIPU の互換性によってもたらされる費用対効果の高いボーナスです。同時に、このインスタンスを選択できるのはトレーニング クラスター サービスだけでなく、一部の一般的なスタンドアロン トレーニングおよび推論サービスも選択できます。たとえば、ChatGPT は現在非常に人気がありますが、ChatGPT モデルは推論中に 500G 以上のビデオ メモリを必要とするため、このインスタンスは大規模なモデルの推論にも最適です。
現在、招待テスト リンクからクラウド上の eRDMA インスタンスに申し込むことができます。インスタンスを申請する際の手続きオプションも以前とは異なります。
最初に、オペレーティングシステムを選択する際に eRDMA ドライバーを自動的にインストールするオプションが追加されます.これを確認することをお勧めします.確認後、eRDMA ネットワークドライバーをインスタンスに自動的にインストールできます;
第二に、ネットワーク構成に関して、ebmgn7exは2つの固定エラスティックネットワークカードを選択する必要があります.2つのエラスティックネットワークカードは解放できません.各ネットワークカードは100Gネットワーク帯域幅を提供できます.右側のeRDMAを確認した後、RDMA伝送をサポートできます. 使用中またはテスト中に一部のアプリケーションに異常が発生した場合は、チェックをキャンセルすることもできます.このとき、インスタンスのネットワーク帯域幅は変更されませんが、VPCネットワーク接続インスタンスのみがサポートされます.
Alibaba Cloud は、eRDMA をサポートする製品を徐々にリリースしていきます。また、ebmgn7ex インスタンスは Alibaba Cloud 上で完全なエコロジーを形成し、ユーザーは eRDMA ベースの相互接続を通じて、クラスター内の ECS 汎用コンピューティング インスタンスと、eRDMA をサポートする CPFS 分散ストレージにアクセスして、より低いレイテンシーを得ることができます。また、ベアメタルと CPFS は RDMA 転送を実現するため、GPU ダイレクト ストレージ機能を利用して、トレーニング データをすばやく取得する際により多くの NC リソースを節約できます。
同時に、パブリック クラウドの独自のセキュリティ機能と、Alibaba Cloud が人工知能の観点から提供するさまざまな PaaS サービス (ACK コンテナー サービス、サーバーレス コンピューティング サービス、PAI プラットフォームのすべての機能など) も eRDMA 上で実行できます。ベースのインスタンス。
Alibaba Cloud を使用して eRDMA をサポートするインスタンス ユーザーは、コンピューティング クラスターの非常に高い弾力性を得ることができ、数分という非常に高速な速度でクラウド上に RDMA トレーニング クラスターを構築し、ニーズに応じて容量を弾力的に拡張できます。これにより、トレーニングのビジネス時間が大幅に節約されます。
eRDMA は非常に高い帯域幅を備えており、eRDMA をサポートするすべてのインスタンスは、数百ギガバイトの帯域幅で RDMA 低遅延通信を実行できます。コストを増加させたり、コンピューター ルームを構築するコストを節約したりする必要はありません。さらに重要なことに、パブリック クラウド エコシステムは、ビジネスベースのエラスティック スケーリング、oss、CPFS、その他のストレージなど、非常に高品質のコンピューティング サービスを提供できます。
また、eRDMA は便利な管理機能を提供するだけでなく、Shennong アーキテクチャに基づくパブリック クラウドによって提供されるコンピューティング、ストレージ、およびネットワークの安定性が保証されており、非常に高い安定性により、運用と保守のコストも節約できます。
在阿里云,買えば買うほどお得。
記事の最後にある「原文を読む」をクリックして、動画全体をご覧ください。
シニア テクニカル エキスパートによる詳細な説明: Alibaba Cloud eRDMA ベースの GPU インスタンスがマルチマシン トレーニングのパフォーマンスを大幅に向上させる方法