ネットワークハードウェア分散学習

RDMA

あーるでぃーえむえー · Remote Direct Memory Access
16 views

RDMA(Remote Direct Memory Access)とは、CPUを介さずにネットワーク経由で離れたコンピュータ間のメモリ同士を直接データ転送する技術です。転送に伴うCPUの負荷を激減させ、低遅延かつ高スループットな通信を実現します。大規模なAIモデルの分散学習において、多数のGPU間通信を高速化するための必須基盤技術となっています。

RDMAとは

RDMAは、ネットワーク上の別のコンピュータにあるメモリへ、CPUを介さずに直接アクセスしてデータを読み書きする高速通信技術です。

詳しく解説

従来のネットワーク通信(TCP/IPなど)では、データ受信時にOSのカーネルやCPUが介入し、データのコピーや割り込み処理が複数回発生するため、通信遅延やCPU負荷が大きくなります。これに対しRDMAは、専用のネットワークインターフェースが通信を直接処理し、アプリケーションのメモリ空間へ直接データを転送します。これにより、CPU負荷の削減と低遅延・高バンド幅を実現します。巨大なAIモデルの分散学習では、複数のGPU同士が大量のパラメータや勾配データを頻繁にやり取りするため、RDMAによる高速な通信が不可欠となっています。

具体例・使われ方

例えば、数百台のサーバーからなる計算クラスタで大規模なAIモデルを分散学習させる場面で利用されます。各サーバーに搭載されたGPUのメモリ間でデータ転送を行う際、RDMAを利用することでCPUの処理待ちを発生させず、GPUの計算リソースをフルに活用しながら高速通信を行えます。

似た用語との違い

従来のTCP/IP通信との違いは、CPUの介入度合いと通信のオーバーヘッドにあります。TCP/IP通信ではOSを経由するためCPU消費やメモリコピーが発生しますが、RDMAはハードウェアが通信処理を直接担うためCPUをほとんど消費せず、極めて低遅延な転送が可能です。利用にあたっては、専用のInfiniBandや、イーサネット上で動作させるRoCEといった規格が用いられます。

注意点

RDMAを導入するには、RDMAに対応した専用のネットワークカードやスイッチなどのハードウェアを用意する必要があります。従来のインフラ環境に対してソフトウェアの設定変更だけで対応させることはできません。また、パケットロスが発生すると性能が著しく低下するため、信頼性の高いネットワーク環境の設計と運用が求められます。

更新日時: 2026年9月16日 16:31