RoCEは、イーサネット上でRDMA通信を実現する技術です。OSやCPUのオーバーヘッドを大幅に削減し、低遅延かつ高スループットなデータ転送を可能にするため、大規模なAIクラスターやHPC環境において高速なデータ通信基盤として広く利用されています。
RoCEとは
RoCE(RDMA over Converged Ethernet)とは、既存のイーサネットネットワーク上でリモート・ダイレクト・メモリ・アクセス(RDMA)を実現する通信プロトコル規格のことです。
詳しく解説
通常のネットワーク通信では、データを送受信する際にホストのCPUやOSがパケットの処理に関与するため、遅延が発生しCPUに負荷がかかります。しかし、RoCEを用いることで、ネットワークアダプター(NIC)同士が直接お互いのメモリ領域にアクセスしてデータを転送できるため、CPUを介さずに極めて高速かつ低遅延なデータ通信が可能になります。AI分野における深層学習の分散トレーニングでは、複数のGPU間で巨大なモデルパラメータや勾配情報を頻繁に同期させる必要があるため、ネットワークの遅延が全体の処理性能を大きく左右します。そのため、InfiniBandと並んでRoCEは高効率なAIインフラストラクチャの基盤技術として非常に重要視されています。
具体例・使われ方
AIの分野において、数千台規模のGPUをつないだ大規模なディープラーニングの分散学習クラスターで、ノード間のデータ同期やモデル並列処理を行う際の通信基盤として利用されています。また、超高速なストレージアクセスやHPC(高性能計算)環境でのデータ転送にも活用されています。
似た用語との違い
InfiniBandと比較されることが多く、InfiniBandが専用のネットワーク機器と配線を必要とするのに対し、RoCEは既存のイーサネットインフラストラクチャを流用できるというコスト面での大きなメリットがあります。また、通常のTCP/IP通信と比較すると、OSの介在をなくすことで圧倒的な低遅延を実現している点が異なります。
注意点
RoCEを安定して動作させるためには、パケットロスが許されないネットワーク環境を構築する必要があるため、ロスレスイーサネットを実現するためのPFC(Priority-based Flow Control)やECN(Explicit Congestion Notification)といった高度なネットワークスイッチの設定やチューニングが不可欠となります。不適切な設定では輻輳が発生し、かえって性能が低下する恐れがあります。