Remote Direct Memory Accessとは? わかりやすく解説

Remote Direct Memory Access

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/01/15 08:18 UTC 版)

ナビゲーションに移動 検索に移動

Remote Direct Memory Access(RDMA, リモートDMA)とは、コンピュータの主記憶から異なる(リモートの)コンピュータの主記憶へ DMA 転送を行うことである。RDMAでは両コンピュータのオペレーティングシステム(OS)に入ることなく転送が行われる。これにより高スループット、低レイテンシの通信を行うことができるため、特に大規模並列のコンピュータ・クラスターにおいて有用である。

概要

RDMAではホストバスアダプタを通じてアプリケーションメモリ(ユーザーメモリ空間)同士が直接データをやりとりをする。これによりゼロコピーen:Zero-copy)ネットワーキングが可能になる。メモリ - OSのデータバッファ間でデータ転送が起きないので、CPUキャッシュを用いることなく、あるいはコンテキストスイッチを行うこともなく、他の処理と並列にデータ転送できる。リード/ライト要求を発行するアプリケーションから見れば、メモリのデータは直接ネットワークに配送されるためレイテンシが削減され高速なデータ転送が可能となる。この仕組みを利用して補助記憶装置SCSI通信するRDMAプロトコルen:SCSI RDMA Protocolと呼ぶ。

標準化と実装

標準化団体にはIETF やInterconnect Software Consortium[1]があり、RDMAプロトコルとAPI標準を策定している。中でもRDMAコンソーシアムとDAT Collaborative[2] が中心となっている。オラクルを始めとするソフトウェアベンダーはこれらAPIを自社製品でサポートし始めた。ホストバスアダプタのベンダーも実装を進めている。現在公開されているRDMA実装にはVirtual Interface Architecture (en), InfiniBand, iWARPがある。

これまで普及が進まなかった一因に、これまでとは異なるネットワーク環境を導入する必要があった事が挙げられる。しかしながら、物理層Ethernetを、トランスポート層TCP/IPの利用が可能になり、低コストな環境でメリットを享受できるようになってきた(en:RDMA over Converged Ethernet(RoCE)と呼ばれる)。

欠点

RDMAでは送信先ノードからリクエスト完了通知がない(一方向通信)。リクエスト完了を知るには送信先のメモリ上に完了通知領域を設け、その変更を送信先が頻繁なポーリングで確認する方法がある。しかしこれは、CPUサイクルを消費するだけでなく通信ノード数に比例してレイテンシや必要メモリ量を増加させるため、MPIを利用するスーパーコンピュータ(HPC)には不向きである。MyrinetやQuadrics (en:Quadrics)等の他のゼロコピー通信を用いるHPCインターコネクトではこのような問題はなく性能もよい。MyrinetやQuadricsのインターフェースがMPIと酷似しているためである。

RDMAは元来プロトコル・オーバヘッドを削減するものであるが、これに反して余分なオーバヘッド:メモリレジストレーション処理(memory registration)が必要になる事にも注意する必要がある。ゼロコピー通信では、少なくともデータ転送中は、通信に必要なメモリ領域が主記憶上に確保される事が暗黙的了解となる。これを守るには対象メモリ領域がスワップアウトされないようにする必要がある。さもなければ、古いデータ領域を利用してメモリ破壊を引き起こすかもしれない。このためメモリ領域を主記憶上につなぎとめる当該処理が必要であるが、その処理量はデータ領域のサイズに比例したオーバヘッドを引き起こす。これを解決するいくつかの手法がある:

  • 処理をクリティカルパスから遅延させることでレイテンシ増加を防ぐ
  • キャッシュ技術を利用しデータをなるべく主記憶上につなぎとめておく。同じメモリ領域を何度も通信に用いるアプリケーションではオーバヘッドを削減できる
  • InfiniBandMyrinetのように処理とデータ転送をパイプライン化
  • Quadrics のように処理の必要性自体を取り除く

脚注

外部リンク





固有名詞の分類

このページでは「ウィキペディア」からRemote Direct Memory Accessを検索した結果を表示しています。
Weblioに収録されているすべての辞書からRemote Direct Memory Accessを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からRemote Direct Memory Access を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Remote Direct Memory Access」の関連用語

Remote Direct Memory Accessのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Remote Direct Memory Accessのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのRemote Direct Memory Access (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS