IRDMA RDMA ドライバの使用


Cloud RDMA は、IRDMA RDMA ドライバを使用して、低レイテンシで信頼性の高いメッセージング機能を有効にします。このドライバは、Compute Engine インスタンス間のリモート ダイレクト メモリ アクセス(RDMA)をサポートしています。RDMA は、ホスト CPU や中間ホスト バッファを使用せずに、ネットワーク インターフェースを介してリモート マシンとローカル メモリ間でデータを転送します。

RDMA 対応インスタンスには、少なくとも 2 つの仮想ネットワーク インターフェース(vNIC)が必要です。

  • IDPF ネットワークと IRDMA RDMA ドライバを使用する RDMA 通信用の vNIC。この vNIC はインターネットに接続できません。インスタンスが使用できる IRDMA を使用する vNIC は 1 つだけです。
  • 通常のネットワーク トラフィック用の vNIC。この vNIC はGoogle Cloud ネットワークに完全に接続されており、インターネットに接続できます。この vNIC は gVNIC ネットワーク ドライバを使用します。最大 8 つの追加の GVNIC ネットワーク インターフェースを追加できます。インスタンスあたりの NIC の合計数は 10 個になります。

IRDMA ネットワーク ドライバは、H4D インスタンスでサポートされています。

IRDMA ドライバを使用する vNIC を構成する場合は、Falcon RDMA ネットワーク プロファイルを使用して作成された VPC ネットワークを指定する必要があります。

始める前に

  • まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。

      gcloud init

      外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

    2. Set a default region and zone.

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールします。 インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。

      gcloud init

      外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

    詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

オペレーティング システムのサポート

プレビュー期間中は、Cloud RDMA ドライバがプリインストールされている HPC VM イメージを使用します。

Compute Engine インスタンスでの IRDMA の使用の概要

Cloud RDMA を使用するコンピューティング インスタンスを作成するには、少なくとも 1 つの通常の VPC ネットワークと 1 つの Falcon VPC ネットワークが必要です。Falcon VPC ネットワークは、H4D インスタンス間の RDMA トラフィックを有効にする RDMA ネットワーク プロファイルを使用します。このネットワークは、他のサービスやインターネットに非 RDMA トラフィックを伝送する通常の VPC ネットワークとは異なります。 Google Cloud

Cloud RDMA を使用するコンピューティング インスタンスを作成するタスクは次のとおりです。

  1. IRDMA をサポートする公開 OS イメージを選択するか、IRDMA を使用するようにタグ付けされたカスタム OS イメージを作成します。
  2. 少なくとも 2 つの VPC ネットワークを特定または作成します。

    • gVNIC ネットワーク インターフェースを通過するトラフィック用の通常の VPC ネットワーク
    • RDMA トラフィック用の Falcon VPC ネットワーク
  3. 公開 OS イメージまたはカスタム OS イメージを使用して、コンピューティング インスタンスを作成します。インスタンスの作成時に、gVNIC ドライバを使用するネットワーク インターフェースと IRDMA ドライバを使用するネットワーク インターフェースの少なくとも 2 つを構成します。

  4. IRDMA が有効になっていることを確認します。

IRDMA をサポートするカスタム OS イメージを作成する

Google Cloud CLI または REST を使用して、OS イメージを作成できます。カスタム OS イメージの作成の詳細とベスト プラクティスについては、カスタム OS イメージを作成するをご覧ください。

gcloud

  1. IRDMA をサポートする OS イメージまたはイメージ ファミリーを選択します。プレビュー期間中は、HPC VM イメージを使用します。

  2. 前の手順で選択した OS イメージまたはイメージ ファミリーを使用して、カスタム OS イメージを作成します。カスタム OS イメージを作成するには、gcloud compute images create コマンドを使用します。たとえば、次のコマンドは、IRDMA をサポートし、特定の OS イメージに基づいたカスタム OS イメージを作成します。

    gcloud compute images create IMAGE_NAME \
        --source-image=SOURCE_IMAGE \
        --source-image-project=SOURCE_IMAGE_PROJECT \
    

    次のように置き換えます。

    • IMAGE_NAME: 作成するイメージの名前
    • SOURCE_IMAGE: IRDMA をサポートする特定の OS イメージ。例: hpc-rocky-linux-8-v20250721

      イメージ ファミリーの最新の OS イメージを使用する場合は、--source-image フラグを --source-image-family フラグに置き換え、その値を IRDMA をサポートするイメージ ファミリーに設定します。例: --source-image-family=hpc-rocky-linux-8

    • SOURCE_IMAGE_PROJECT: ソース OS イメージまたはイメージ ファミリーを含むプロジェクトの名前

    イメージ ファミリーを使用するタイミングについて詳しくは、イメージ ファミリーのベスト プラクティスをご覧ください。

REST

  1. IRDMA をサポートする OS イメージまたはイメージ ファミリーを選択します。詳細については、オペレーティング システムの詳細をご覧ください。

  2. 前の手順で選択した OS イメージまたはイメージ ファミリーを使用して、images.insert メソッドを使用して OS イメージを作成します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
    {
      "name":"IMAGE_NAME",
      "sourceImage":"SOURCE_IMAGE_URI"
    }
    

    次のように置き換えます。

    • PROJECT_ID: 新しいイメージを作成するプロジェクトの ID
    • IMAGE_NAME: カスタム イメージの名前
    • SOURCE_IMAGE_URI: 使用する特定の OS イメージまたはイメージ ファミリーの URI

      次に例を示します。

      • 特定の OS イメージ: "sourceImage": "projects/rocky-linux-cloud/global/images/hpc-rocky-linux-8-v20250721"
      • イメージ ファミリー: "sourceImage": "projects/rocky-linux-cloud/global/images/family/hpc-rocky-linux-8"

      イメージ ファミリーを指定すると、Compute Engine はそのファミリー内のサポート対象の最新の OS イメージから VM を作成します。イメージ ファミリーを使用するタイミングについて詳しくは、イメージ ファミリーのベスト プラクティスをご覧ください。

IRDMA をサポートする VM を作成する

VM は、サポートされている公開 OS イメージのいずれかを使用して、または、IRDMA をサポートするカスタム OS イメージを作成するの手順で作成したカスタム OS イメージを使用して作成できます。

インスタンスで RDMA を使用するには、インスタンスに複数のネットワーク インターフェース(NIC)を構成する必要があります。1 つの NIC は GVNIC ドライバ(nic-type=GVNIC を指定)を使用し、もう 1 つの NIC は IRDMA ドライバ(nic-type=IRDMA を指定)を使用する必要があります。

公開 OS イメージを使用して VM を作成する

HPC VM イメージまたは IRDMA をサポートする公開 OS イメージを使用して VM を作成するには、次のページの手順に沿って操作します。

カスタム OS イメージを使用して VM を作成する

IRDMA をサポートする公開 OS イメージを使用していない場合は、まず IRDMA をサポートするカスタム OS イメージを作成する必要があります。次に、Google Cloud コンソールGoogle Cloud CLI、または REST でそのカスタム OS イメージを使用して、VM を作成します。

カスタム イメージを使用してインスタンスを作成する手順については、カスタム イメージからインスタンスを作成するをご覧ください。

IRDMA が有効になっていることを確認する

VM をデプロイしたら、次のパフォーマンス帯域幅テストを実行して、正常な RDMA 対応 VM インスタンスで実行されていることを確認します。

ib_send_bw -aF & # start the server
ib_send_bw -aF $(hostname) # start the client (can be done on the same machine)

報告される単一接続帯域幅 BW average [MB/s] は、4,096 バイトを超える行で少なくとも 11,000 MB/秒に達する必要があります。メッセージ サイズが小さい場合は、より小さい値が想定されます。

次のステップ