IRDMA Cloud RDMA ドライバの使用

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

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

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

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 を使用して認証するをご覧ください。

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

Google は、Cloud RDMA ドライバがプリインストールされている HPC VM イメージを使用することをおすすめします。

Google Cloudに提供される公開 OS イメージのうち、IRDMA RDMA ドライバは次の対象でサポートされています。

  • Container-Optimized OS 117 LTS 以降
  • Google Cloud 用に最適化された Rocky Linux 8 以降の Google Cloud用に最適化されたバージョン

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

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

Cloud RDMA を使用するコンピューティング インスタンスを作成するために完了する必要があるタスクは次のとおりです。

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

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

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

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

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

gcloud

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

  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 イメージを使用して作成できます。

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

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

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

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

Cloud RDMA をサポートするカスタム OS イメージを作成した場合は、そのカスタム OS イメージを使用して、Google Cloud コンソールGoogle Cloud CLI、または REST を使用して VM を作成できます。

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

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

VM をデプロイしたら、次のパフォーマンス帯域幅テストを実行して、正常な Cloud 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 MBps に達する必要があります。メッセージ サイズが小さいほど、値は小さくなります。

次のステップ