使用 IRDMA Cloud RDMA 驅動程式

Cloud RDMA 使用 IRDMA RDMA 驅動程式,提供低延遲、可靠的訊息傳遞功能。這項驅動程式支援 Compute Engine 執行個體之間的遠端直接記憶體存取 (RDMA)。RDMA 會透過網路介面,在遠端機器和本機記憶體之間傳輸資料,不使用主機 CPU 或中繼主機緩衝區。

支援 Cloud RDMA 的執行個體至少需要兩個虛擬網路介面 (vNIC):

  • 用於 Cloud RDMA 通訊的 vNIC,使用 IDPF 網路驅動程式和 IRDMA RDMA 驅動程式。這個 vNIC 無法連上網際網路。一個執行個體只能有一個使用 Cloud RDMA 的 vNIC。
  • 用於一般網路流量的 vNIC。這個 vNIC 已完整連線至Cloud de Confiance by S3NS 網路,且可連線至網際網路。這個 vNIC 使用 gVNIC 網路驅動程式。最多可新增八個 gVNIC 網路介面,每個執行個體總共可有 10 個 vNIC。

IRDMA 驅動程式支援 H4D 執行個體和 Z4M 執行個體。

設定使用 IRDMA 驅動程式的 vNIC 時,必須指定使用 Falcon RDMA 網路設定檔建立的虛擬私有雲網路。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證程序會確認您的身分,以便授予 Cloud de Confiance by S3NS 服務和 API 的存取權。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上範例的預計用途分頁:

    控制台

    使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,不需要設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。 登入後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init
  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」一節。

作業系統支援

Google 建議使用進階運算映像檔或 HPC VM 映像檔,這些映像檔已預先安裝 Cloud RDMA 驅動程式。

下列公開 OS 映像檔支援 IRDMA RDMA 驅動程式 Cloud de Confiance by S3NS:

  • Container-Optimized OS 117 LTS 或更新版本
  • Rocky Linux 8 專為 Cloud de Confiance by S3NS 和 Cloud de Confiance by S3NS以上版本最佳化

搭配 Compute Engine 執行個體使用 Cloud RDMA 的總覽

如要建立使用 Cloud RDMA 的運算執行個體,您必須至少有一個一般虛擬私有雲網路和一個 Falcon 虛擬私有雲網路。Falcon 虛擬私有雲網路會使用 Falcon RDMA 網路設定檔,在 H4D 執行個體之間啟用 Cloud RDMA 流量。這個網路與一般虛擬私有雲網路分開,後者會將非 RDMA 流量傳輸至其他Cloud de Confiance by S3NS 服務或網際網路。

如要建立使用 Cloud RDMA 的運算執行個體,請完成下列工作:

  1. 選擇支援 Cloud RDMA 的公開 OS 映像檔,或建立標記為使用 IRDMA 的自訂 OS 映像檔。
  2. 找出或建立至少兩個虛擬私有雲網路:

    • 用於透過 gVNIC 網路介面傳輸流量的一般虛擬私有雲網路
    • Cloud RDMA 流量的 Falcon 虛擬私有雲網路
  3. 使用公開作業系統映像檔或自訂作業系統映像檔建立運算執行個體。 建立執行個體時,請至少設定兩個網路介面:一個使用 gVNIC 網路驅動程式,另一個使用 IRDMA RDMA 驅動程式。

  4. 確認已啟用 Cloud RDMA。

將 IRDMA 驅動程式新增至 OS 映像檔

如要使用預設未安裝 IRDMA 驅動程式的 OS 映像檔,請完成下列步驟:

  1. 建立運算執行個體,並使用要與 Cloud RDMA 搭配運作的 OS 映像檔。

  2. 連線至您建立的運算執行個體。

  3. 如果您使用的 OS 映像檔並非針對 Cloud de Confiance by S3NS最佳化,請透過下列任一選項新增 CIQ 存放區:

    • 建議做法:直接安裝 CIQ RPM 套件,設定 CIQ 存放區:

      sudo dnf install -y https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el8-x86_64/irdma-repos.rpm
      
    • 或者,直接更新 YUM 存放區:

      sudo tee /etc/yum.repos.d/irdma-kernel-modules.repo > /dev/null << 'EOF'
      [irdma-kernel-modules]
      name = irdma kernel modules for EL $releasever ($basearch)
      baseurl = https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el$releasever-$basearch
      metadata_expire = 5m
      priority = -1
      repo_gpgcheck = false
      gpgcheck = false
      enabled = true
      skip_if_unavailable = true
      
      [irdma-kernel-modules-source]
      name = irdma kernel modules for EL $releasever (source)
      baseurl = https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el$releasever-source
      metadata_expire = 5m
      priority = -1
      repo_gpgcheck = false
      gpgcheck = false
      enabled = false
      skip_if_unavailable = true
      
      [irdma-kernel-modules-testing]
      name = irdma kernel modules for EL $releasever ($basearch) - testing
      baseurl = https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-testing-el$releasever-$basearch
      metadata_expire = 5m
      priority = -1
      repo_gpgcheck = false
      gpgcheck = false
      enabled = false
      skip_if_unavailable = true
      
      [irdma-kernel-modules-testing-source]
      name = irdma kernel modules for EL $releasever (source) - testing
      baseurl = https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-testing-el$releasever-source
      metadata_expire = 5m
      priority = -1
      repo_gpgcheck = false
      gpgcheck = false
      enabled = false
      skip_if_unavailable = true
      EOF
      
  4. 安裝 kmod-idpf-irdma 驅動程式套件,其中包含 IDPF 和 IRDMA 驅動程式:

    sudo dnf install kmod-idpf-irdma
    

    CIQ 套件需要特定核心版本,可能會以以下方式影響安裝作業:

    • 如果核心版本舊於必要版本,安裝套件時,系統會自動升級核心和其他系統套件 (做為依附元件)。
    • 如果核心版本比 CIQ 存放區支援的版本新,安裝可能會失敗。在這種情況下,請使用針對 Cloud de Confiance by S3NS最佳化的 OS 映像檔,該映像檔會使用支援的核心版本。
  5. 確認已安裝 kmod-idpf-irdma 套件:

    sudo dnf list --installed
    

    輸出內容會包含類似下列的項目:

    kmod-idpf-irdma.ARCHITECTURE VERSION@REPO_NAME
  6. 安裝使用者空間套件:

    sudo dnf install -y \
        libibverbs libibverbs-devel libibverbs-utils \
        librdmacm librdmacm-devel librdmacm-utils \
        infiniband-diags
    

    librdmacm-utils 和 libibverbs-utils 套件會安裝輔助公用程式,用於檢查 RDMA 功能,例如 rping 和 ibv_devinfo。

  7. 建議做法:在運算執行個體中更新作業系統以使用 IRDMA 後,請根據該 OS 映像檔建立自訂映像檔。接著,您可以使用自訂映像檔,建立其他在該 OS 上使用 IRDMA 的運算執行個體。

    按照「建立映像檔」一文中的操作說明,使用您在第一個步驟中建立的執行個體開機磁碟,建立自訂映像檔。

從支援 Cloud RDMA 的公開 OS 映像檔建立自訂 OS 映像檔

您可以使用 Google Cloud CLI 或 REST 建立 OS 映像檔。如需建立自訂 OS 映像檔的詳細資訊和最佳做法,請參閱「建立自訂 OS 映像檔」。

gcloud

  1. 選取支援 IRDMA 驅動程式和介面的 OS 映像檔或映像檔系列。詳情請參閱「作業系統詳細資料」,然後選取「介面」分頁標籤。

  2. 使用在上一個步驟中選取的 OS 映像檔或映像檔系列,建立自訂 OS 映像檔。如要建立自訂 OS 映像檔,請使用 gcloud compute images create 指令。舉例來說,下列指令會建立自訂 OS 映像檔,支援 IRDMA 驅動程式,並以特定 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.s3nsapis.fr/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)。一個 NIC 必須使用 gVNIC 驅動程式 (指定 nic-type=GVNIC),另一個 NIC 則必須使用 IRDMA 驅動程式 (指定 nic-type=IRDMA)。

使用公開 OS 映像檔建立 VM

如要使用 Advanced Compute Images、HPC VM 映像檔或支援 Cloud RDMA 的公開 OS 映像檔建立 VM,請按照下列頁面的操作說明進行:

使用自訂 OS 映像檔建立 VM

如果您已建立支援 Cloud RDMA 的自訂 OS 映像檔,則可以使用該自訂 OS 映像檔,透過 Cloud de Confiance 控制台、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)

對於大於 4096 B 的資料列,回報的單一連線頻寬 BW average [MB/s] 應至少達到 11,000 MBps。訊息越小,預期值就越小。

後續步驟