Menggunakan driver IRDMA Cloud RDMA

Cloud RDMA memungkinkan kemampuan pesan yang andal dan berlatensi rendah dengan menggunakan driver IRDMA RDMA. Driver ini mendukung Remote Direct Memory Access (RDMA) antara instance Compute Engine. RDMA mentransfer data antara mesin jarak jauh dan memori lokal melalui antarmuka jaringan tanpa menggunakan CPU host atau buffer host perantara.

Instance yang mendukung Cloud RDMA memerlukan setidaknya dua antarmuka jaringan virtual (vNIC):

  • vNIC untuk komunikasi Cloud RDMA yang menggunakan driver jaringan IDPF dan driver IRDMA RDMA. vNIC ini tidak dapat terhubung ke internet. Instance hanya dapat memiliki satu vNIC yang menggunakan Cloud RDMA.
  • vNIC untuk traffic jaringan normal. vNIC ini terhubung sepenuhnya ke Google Cloud jaringan dan dapat terhubung ke internet. vNIC ini menggunakan driver jaringan gVNIC. Anda dapat menambahkan hingga delapan antarmuka jaringan gVNIC tambahan, sehingga totalnya menjadi 10 vNIC per instance.

Driver IRDMA didukung dengan instance H4D dan instance Z4M.

Saat mengonfigurasi vNIC yang menggunakan driver IRDMA, Anda harus menentukan jaringan VPC yang dibuat menggunakan profil jaringan Falcon RDMA.

Sebelum memulai

  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan Google Cloud konsol untuk mengakses Google Cloud layanan dan API, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  • Tetapkan region dan zona default.
  • REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI.

      Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu .

    Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam Google Cloud dokumentasi autentikasi.

Dukungan sistem operasi

Google merekomendasikan penggunaan Advanced Compute Images atau image VM HPC, yang dilengkapi dengan driver Cloud RDMA yang telah diinstal sebelumnya.

Driver IRDMA RDMA didukung dengan OS image publik berikut yang disediakan untuk Google Cloud:

  • Container-Optimized OS 117 LTS atau yang lebih baru
  • Rocky Linux 8 yang dioptimalkan untuk Google Cloud dan yang lebih baru dioptimalkan untuk Google Cloud versi

Ringkasan penggunaan Cloud RDMA dengan instance Compute Engine

Untuk membuat instance komputasi yang menggunakan Cloud RDMA, Anda harus memiliki setidaknya satu jaringan VPC reguler dan satu jaringan VPC Falcon. Jaringan VPC Falcon menggunakan profil jaringan Falcon RDMA untuk mengaktifkan traffic Cloud RDMA antara instance H4D. Jaringan ini terpisah dari jaringan VPC reguler yang membawa traffic non-RDMA ke layanan Google Cloud lain atau internet.

Tugas yang harus diselesaikan untuk membuat instance komputasi yang menggunakan Cloud RDMA adalah sebagai berikut:

  1. Pilih OS image publik yang mendukung Cloud RDMA, atau buat OS image kustom yang diberi tag untuk menggunakan IRDMA.
  2. Identifikasi atau buat setidaknya dua jaringan VPC:

    • Jaringan VPC reguler untuk traffic yang melalui antarmuka jaringan gVNIC
    • Jaringan VPC Falcon untuk traffic Cloud RDMA
  3. Buat instance komputasi menggunakan OS image publik atau OS image kustom. Selama pembuatan instance, konfigurasikan setidaknya dua antarmuka jaringan: satu yang menggunakan driver jaringan gVNIC dan satu yang menggunakan driver IRDMA RDMA.

  4. Pastikan Cloud RDMA diaktifkan.

Menambahkan driver IRDMA ke OS image

Untuk menggunakan OS image yang tidak menginstal driver IRDMA secara default, selesaikan langkah-langkah berikut:

  1. Buat instance komputasi yang menggunakan OS image yang ingin Anda gunakan dengan Cloud RDMA.

  2. Hubungkan ke instance komputasi yang Anda buat.

  3. Jika Anda tidak menggunakan OS image yang dioptimalkan untuk Google Cloud, tambahkan repositori CIQ menggunakan salah satu opsi berikut:

    • Direkomendasikan: Instal paket CIQ RPM secara langsung untuk mengonfigurasi repositori CIQ:

      sudo dnf install -y https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el8-x86_64/irdma-repos.rpm
      
    • Atau, update repositori YUM secara langsung:

      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. Instal paket driver kmod-idpf-irdma, yang mencakup driver IDPF dan IRDMA:

    sudo dnf install kmod-idpf-irdma
    

    Paket CIQ memerlukan versi kernel tertentu, yang dapat memengaruhi penginstalan dengan cara berikut:

    • Jika versi kernel Anda lebih lama dari versi yang diperlukan, penginstalan paket akan otomatis mengupgrade kernel dan paket sistem lainnya sebagai dependensi.
    • Jika versi kernel Anda lebih baru dari versi yang didukung oleh repositori CIQ, penginstalan mungkin gagal. Dalam hal ini, gunakan an OS image yang dioptimalkan untuk Google Cloud, yang menggunakan versi kernel yang didukung.
  5. Pastikan paket kmod-idpf-irdma diinstal:

    sudo dnf list --installed
    

    Output mencakup entri yang mirip dengan berikut ini:

    kmod-idpf-irdma.ARCHITECTURE VERSION@REPO_NAME
  6. Instal paket ruang pengguna:

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

    Paket librdmacm-utils dan libibverbs-utils menginstal utilitas tambahan untuk memeriksa fungsi RDMA, seperti rping dan ibv_devinfo.

  7. Direkomendasikan: Setelah Anda mengupdate sistem operasi di instance komputasi untuk menggunakan IRDMA, buat image kustom berdasarkan OS image tersebut. Kemudian, Anda dapat menggunakan image kustom untuk membuat instance komputasi tambahan yang menggunakan IRDMA di OS tersebut.

    Ikuti petunjuk di Membuat image untuk membuat image kustom menggunakan disk boot instance yang Anda buat pada langkah pertama.

Membuat OS image kustom dari OS image publik yang mendukung Cloud RDMA

Anda dapat membuat OS image menggunakan Google Cloud CLI atau REST. Untuk mengetahui informasi mendetail dan praktik terbaik dalam membuat OS image kustom, lihat Membuat OS image kustom.

gcloud

  1. Pilih OS image atau kelompok image yang mendukung driver dan antarmuka IRDMA. Untuk mengetahui informasi selengkapnya, lihat Detail sistem operasi dan pilih tab Antarmuka.

  2. Dengan menggunakan OS image atau kelompok image yang Anda pilih di langkah sebelumnya, buat OS image kustom. Untuk membuat OS image kustom, gunakan gcloud compute images create perintah. Misalnya, perintah berikut akan membuat OS image kustom yang mendukung driver IRDMA dan didasarkan pada OS image tertentu.

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

    Ganti kode berikut:

    • IMAGE_NAME: nama image yang ingin Anda buat
    • SOURCE_IMAGE: OS image tertentu yang mendukung driver IRDMA—misalnya: hpc-rocky-linux-8-v20250721

      Jika Anda ingin menggunakan OS image terbaru dalam kelompok image, ganti flag --source-image dengan flag --source-image-family dan setel nilainya ke kelompok image yang mendukung driver IRDMA. Contoh: --source-image-family=hpc-rocky-linux-8.

    • SOURCE_IMAGE_PROJECT: nama project yang berisi OS image sumber atau kelompok image

    Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan kelompok image, baca Praktik terbaik kelompok image.

REST

  1. Pilih OS image atau kelompok image yang mendukung antarmuka jaringan IRDMA. Untuk mengetahui informasi selengkapnya, lihat Detail sistem operasi.

  2. Dengan menggunakan OS image atau kelompok image yang Anda pilih di langkah sebelumnya, buat OS image menggunakan metode images.insert.

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

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat membuat image baru
    • IMAGE_NAME: nama untuk image kustom
    • SOURCE_IMAGE_URI: URI untuk OS image atau kelompok image tertentu yang ingin Anda gunakan

      Contoh:

      • OS image tertentu: "sourceImage": "projects/rocky-linux-cloud/global/images/hpc-rocky-linux-8-v20250721"
      • Kelompok image: "sourceImage": "projects/rocky-linux-cloud/global/images/family/hpc-rocky-linux-8"

      Saat Anda menentukan kelompok image, Compute Engine akan membuat VM dari OS image terbaru yang masih digunakan dalam kelompok tersebut. Untuk mengetahui informasi selengkapnya tentang kapan harus menggunakan kelompok image, baca Praktik terbaik kelompok image.

Membuat VM dengan dukungan driver IRDMA

Anda dapat membuat VM menggunakan salah satu OS image publik yang didukung atau menggunakan OS image kustom yang Anda buat menggunakan langkah-langkah di Membuat OS image kustom yang mendukung IRDMA.

Untuk menggunakan Cloud RDMA dengan instance Anda, Anda harus mengonfigurasi beberapa antarmuka jaringan (NIC) untuk instance tersebut. Satu NIC harus menggunakan driver gVNIC (tentukan nic-type=GVNIC) dan NIC lainnya harus menggunakan driver IRDMA (tentukan nic-type=IRDMA).

Membuat VM menggunakan OS image publik

Untuk membuat VM menggunakan Advanced Compute Images, image VM HPC, atau OS image publik yang mendukung Cloud RDMA, ikuti petunjuk di halaman berikut:

Membuat VM menggunakan OS image kustom

Jika Anda membuat OS image kustom yang mendukung Cloud RDMA, Anda dapat menggunakan OS image kustom tersebut untuk membuat VM menggunakan Google Cloud konsol, Google Cloud CLI, atau REST.

Untuk mengetahui petunjuk cara membuat instance menggunakan image kustom, lihat Membuat instance dari image kustom.

Memastikan Cloud RDMA diaktifkan

Setelah VM di-deploy, jalankan pengujian bandwidth performa berikut untuk memastikan bahwa Anda menjalankan instance VM yang mendukung Cloud RDMA dan berfungsi dengan baik.

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

Bandwidth koneksi tunggal yang dilaporkan BW average [MB/s] harus mencapai setidaknya 11.000 MBps untuk baris yang lebih tinggi dari 4096 B. Nilai yang lebih kecil diharapkan untuk ukuran pesan yang lebih rendah.

Langkah berikutnya