コンピューティングにおいて、リモート ダイレクト メモリ アクセス( RDMA ) とは、一方のコンピュータのメモリからもう一方のコンピュータのメモリに、どちらのオペレーティング システムも介さずに直接メモリ アクセスすることです。これにより、高スループット、低レイテンシのネットワークが可能になり、特に超並列コンピュータ クラスターで役立ちます。
概要
RDMA は、ネットワーク アダプターがデータを直接ネットワークからアプリケーション メモリに、またはアプリケーション メモリからネットワークに直接転送できるようにすることで、ゼロ コピーネットワーキングをサポートします。これにより、アプリケーション メモリとオペレーティング システムのデータ バッファー間でデータをコピーする必要がなくなります。このような転送では、 CPU、キャッシュ、またはコンテキスト スイッチによる作業は必要なく、転送は他のシステム操作と並行して続行されます。これにより、メッセージ転送の待ち時間が短縮されます。
ただし、この戦略では、ターゲット ノードに要求の完了が通知されない (片側通信) という事実に関連するいくつかの問題が発生します。
受け入れ
2018 年現在、RDMA は、通常のネットワーク インフラストラクチャ上で優れたパフォーマンスを実現する実装強化の結果として、より広く受け入れられています。[1]たとえば、RDMA over Converged Ethernet (RoCE) は、ロスのあるインフラストラクチャでもロスのないインフラストラクチャでも実行できるようになりました。さらに、iWARP は、 TCP / IP をトランスポートとして使用して物理層でイーサネットRDMA を実装し、RDMA のパフォーマンスとレイテンシの利点を低コストの標準ベースのソリューションと組み合わせることができます。 [2] RDMA コンソーシアムと DAT コラボレーティブ[3]は、インターネット エンジニアリング タスク フォースや Interconnect Software Consortiumなどの標準化団体が検討するためのRDMA プロトコルとAPIの開発で重要な役割を果たしてきました。[4]
ハードウェアベンダーは、100 Gbit/sの速度が報告されている、より大容量のRDMAベースのネットワークアダプターの開発に着手しました。[5] [6] IBM、[7] Red Hat、Oracle Corporationなどのソフトウェアベンダーは、最新製品でこれらのAPIをサポートしており、[8] 2013年の時点で、[アップデート]エンジニアはイーサネット上でRDMAを実装するネットワークアダプターの開発を開始しました。[9] Red Hat Enterprise LinuxとRed Hat Enterprise MRG [10] はどちらもRDMAをサポートしています。Microsoftは、SMB Directを介してWindows Server 2012でRDMAをサポートしています。VMware ESXiも2015年の時点でRDMAをサポートしています。
一般的な RDMA 実装には、仮想インターフェイス アーキテクチャ、RDMA over Converged Ethernet (RoCE)、InfiniBand、Omni-Path、iWARPなどがあります。
RDMAの使用
アプリケーションは、もともとInfiniBandプロトコル用に設計された明確に定義されたAPIを使用して制御構造にアクセスします(ただし、APIは基盤となるRDMA実装のいずれにも使用できます)。送信キューと完了キューを使用して、アプリケーションは作業キューエントリ(WQE)を送信キュー(SQ)に送信し、完了キュー(CQ)から応答の通知を受け取ることでRDMA操作を実行します。[11]
輸送タイプ
RDMA は、信頼性のある接続 (RC) および信頼性のないデータグラム (UD) トランスポート プロトコルを介して、それぞれ信頼性のあるデータ転送と信頼性のないデータ転送を行うことができます。前者には要求が保持される (要求が失われない) という利点があり、後者は複数の接続を処理するときに必要なキュー ペアの数が少なくなります。これは、UD がコネクションレスであり、単一のホストが単一のキューを使用して他のホストと通信できるためです。[12]
参考文献
- ^ ロスの多いネットワーク上で RoCE が活躍: https://dl.acm.org/citation.cfm?id=3098588&dl=ACM&coll=DL
- ^ 「iWARP を理解する」(PDF) . Intel Corporation . 2018 年5 月 16 日閲覧。
- ^ 「DAT Collaborative ウェブサイト」。2015年1月17日時点のオリジナルよりアーカイブ。 2014年10月14日閲覧。
- ^ Interconnect Software Consortium のウェブサイト 2005-08-30 にWayback Machineでアーカイブ
- ^ 「Microsoft ベースのソリューション - Mellanox Technologies」 。2014年10 月 14 日閲覧。
- ^ 「40Gbe SMB Direct RDMA Over Ethernet For Windows Server 2012 - Chelsio Communications」。2013年4月2日。 2014年10月14日閲覧。
- ^ 「SOFA-STORAGE: SMARTNICS を使用してシームレスなストレージ オフロードを可能にするベンダーに依存しないフレームワークの作成」(PDF)。
- ^ 「Red Hat Enterprise Linux ではどのような RDMA ハードウェアがサポートされていますか?」2016 年 6 月 2 日。
- ^ 「40Gbe SMB Direct RDMA Over Ethernet For Windows Server 2012 - Chelsio Communications」。Chelsio Communications。2013-04-02。2016-07-15閲覧。このデモでは、RDMA over Ethernet (iWARP) を使用して
ラインレート 40Gb で動作する Microsoft の Windows Server 2012 SMB Direct を紹介します。
- ^ 「Red Hat Enterprise MRG 2.0 Now Available」。2016年8月25日時点のオリジナルよりアーカイブ。2011年6月23日閲覧。
- ^ Storm: リモートデータ構造のための高速トランザクションデータプレーン: https://dl.acm.org/doi/abs/10.1145/3319647.3325827
- ^ Storm: リモートデータ構造のための高速トランザクションデータプレーン: https://dl.acm.org/doi/pdf/10.1145/3319647.3325827
外部リンク
- RDMAコンソーシアム
- RFC 5040: リモート ダイレクト メモリ アクセス プロトコル仕様
- RDMA モデルのチュートリアル
- 「なぜ妥協するのか?」// HPCwire、Gilad Shainer (Mellanox Technologies)、2006 年
- 高性能コンピューティングにおける RDMA の批判
- RDMA 読み取り: 使用するか、使用しないか?
- [1]
