
こんにちは。SB C&S の野木です。
本記事では、弊社検証環境に構築したAIクラスタ構築シリーズの第3回として、AIクラスタにおけるネットワークアダプターの役割やNVIDIA Network Operatorの概要についてご紹介します。
実際のNVIDIA Network Operatorの構築手順については、以下の第4回でご紹介していますので、併せてご覧ください。
④NVIDIA Networkingで構築するAIクラスタ検証 - NVIDIA Network Operator構築編 -
また、NVIDIA Networking製品の概要については、以下の過去記事で紹介していますので、こちらも併せてご覧いただくことをおすすめします。
【連載】AI時代をリードする NVIDIA Networking のご紹介
AIクラスタ構築シリーズの全体構成
本シリーズでは、NVIDIA Networkingを活用したAIクラスタの構築をテーマに、Spectrumスイッチの初期構築から、Kubernetes環境でGPUや高速ネットワークを利用するための環境構築までを順を追ってご紹介しています。

第1回ではSpectrumスイッチの初期構築、第2回ではNVIDIA GPU Operatorを使用したKubernetesにおけるGPU環境の構築をご紹介しました。
- 第1回
①NVIDIA Networkingで構築するAIクラスタ検証 Spectrum スイッチ 初期構築編 - 第2回
②NVIDIA Networkingで構築するAIクラスタ検証 - NVIDIA GPU Operator構築編 -
AIクラスタでは、GPUを利用できる環境を構築するだけでなく、複数のGPUサーバーを連携して処理を行うための高速なノード間通信も重要になります。
そこで今回の第3回では、ネットワーク環境の構築に進む前に、高速なノード間通信を支えるネットワークアダプターやRDMAの役割、Kubernetes環境でNVIDIAのネットワーク機能を利用するためのNVIDIA Network Operatorについてご紹介します。
AIクラスタにおけるネットワークアダプターの役割
AIクラスタでは、複数のGPUサーバーを連携させて学習や推論などの処理を行うため、ノード間で大量のデータ通信が発生します。
そのため、GPUの処理性能だけでなく、GPUサーバー間を接続するネットワークの帯域幅や遅延も重要になります。
GPUサーバーをネットワークへ接続するためには、EthernetではNIC(Network Interface Card)、InfiniBandではHCA(Host Channel Adapter)と呼ばれるネットワークアダプターが使用されます。
また、AIクラスタで高速・低遅延なノード間通信を行うためには、RDMA(Remote Direct Memory Access)を利用できるネットワーク環境が重要です。
RDMAはInfiniBandでネイティブに利用できる通信技術で、EthernetではRoCE(RDMA over Converged Ethernet)を使用することでRDMA通信を実現できます。

RDMAは、CPUやOSのネットワーク処理による負荷を抑えながら、異なるサーバー同士のメモリ間で直接データを転送する技術です。大量のデータをやり取りするAIクラスタでは、ノード間通信を効率化するために利用されています。
本検証環境ではEthernetネットワークを採用しており、NVIDIA ConnectX®-7 NICとRoCEv2を使用してRDMA通信を行います。
NVIDIA Network Operatorとは
NVIDIA Network Operatorは、Kubernetes環境でNVIDIAのネットワーク機能を利用するために必要なドライバーやプラグインなどのネットワークコンポーネントを自動で構成・管理するための仕組みです。
前章で紹介したConnectXなどのNVIDIAネットワークアダプターをKubernetes環境で使用し、PodからRDMAなどのネットワーク機能を利用するためには、複数のコンポーネントを構成する必要があります。
具体的には、ネットワークアダプターを制御するドライバーに加えて、RDMAデバイスをKubernetesから利用するためのプラグインや、Podにネットワークを追加するためのCNIなどが必要です。
そこでNVIDIA Network Operatorを利用することで、これらのコンポーネントをKubernetes上にまとめて展開・管理できます。

Network Operatorが管理する主なコンポーネントには、以下のようなものがあります。
- DOCA-OFED Driver:ConnectXなどのNVIDIAネットワークアダプターをOSから利用するためのドライバー
- RDMA Shared Device Plugin:ネットワークアダプターのRDMA機能をKubernetesのリソースとして認識させ、Podから利用できるようにするコンポーネント
- Multus CNI:Podに複数のネットワークインターフェースを接続できるようにするCNIプラグイン
- CNI Plugins:MacVLANなど、Podが利用するSecondary Networkを構成するためのプラグイン
このほかにも、Network OperatorではNICの構成やテレメトリなど、用途に応じたさまざまなネットワーク機能を利用できます。
利用するコンポーネントは環境や用途によって異なり、「NicClusterPolicy」で利用するコンポーネントや設定を定義します。
※NicClusterPolicyの設定方法については、第4回の構築編でご紹介します。
まとめ
本記事では、AIクラスタ構築シリーズの第3回として、AIクラスタにおけるネットワークアダプターやRDMAの役割、NVIDIA Network Operatorの概要についてご紹介しました。
NVIDIA Network Operatorを利用することで、Kubernetes環境でNVIDIAのネットワーク機能を利用するために必要なドライバーやプラグインなどのネットワークコンポーネントをまとめて構成・管理できます。
次回の第4回では、実際にNVIDIA Network OperatorをKubernetesクラスタへ導入する手順をご紹介します。
また、ConnectX-7 NICを使用したRoCEv2によるRDMA通信を行い、構築したネットワーク環境の動作を確認していきますので、引き続き次回の記事もぜひご覧ください。
その他のNVIDIA技術情報ブログはこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 第1技術統括部
第2技術部 1課
野木 空良 - Sora Nogi -
サーバー・ネットワークを中心として、AIインフラ全般のプリセールス業務に従事。
