第5章 NVIDIA GPUDirect Remote Direct Memory Access (RDMA)
NVIDIA GPUDirect Remote Direct Memory Access (RDMA) を使用すると、オペレーティングシステムを介さずに、1 台のコンピューターのアプリケーションから別のコンピューターのメモリーに直接アクセスできます。これにより、プロセスにおけるカーネルの介入を回避できるため、リソースが解放され、ネットワーク通信の処理に通常必要な CPU オーバーヘッドが大幅に削減されます。これは、GPU で高速化されたワークロードをクラスター全体に分散するのに役立ちます。RDMA は高帯域幅と低レイテンシーのアプリケーションに非常に適しているため、ビッグデータや機械学習のアプリケーションに最適です。
現在、NVIDIA GPUDirect RDMA には 3 つの設定方法があります。
- 共有デバイス
- この方法では、NVIDIA GPUDirect RDMA デバイスを、デバイスが公開されている OpenShift Container Platform ワーカーノード上の複数の Pod 間で共有できます。
- ホストデバイス
- この方法では、Pod に追加のホストネットワークを作成することにより、ワーカーノード上で直接の物理イーサネットアクセスを提供します。プラグインを使用すると、ネットワークデバイスをホストのネットワーク namespace から Pod 上のネットワーク namespace に移動できます。
- SR-IOV レガシーデバイス
- Single Root IO Virtualization (SR-IOV) 方式では、イーサネットアダプターなどの単一のネットワークデバイスを複数の Pod と共有できます。SR-IOV は、ホストノード上で Physical Function (PF) として認識されるデバイスを、複数の Virtual Function (VF) に分割します。VF は他のネットワークデバイスと同様に使用されます。
これらの各方法は、NVIDIA GPUDirect RDMA over Converged Ethernet (RoCE) または Infiniband インフラストラクチャーで使用できます。そのため、設定方法は合計で 6 つあります。
5.1. NVIDIA GPUDirect RDMA の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
NVIDIA GPUDirect RDMA のどの設定方法でも、特定の Operator のインストールが必要です。Operator をインストールするには、次の手順を実行します。
- Node Feature Discovery Operator をインストールします。
- SR-IOV Operator をインストールします。
- NVIDIA Network Operator をインストールします (NVIDIA ドキュメントを参照)。
- NVIDIA GPU Operator をインストールします (NVIDIA ドキュメントを参照)。