IRDMA-RDMA-Treiber verwenden


Cloud RDMA ermöglicht zuverlässige Messaging-Funktionen mit geringer Latenz mithilfe des IRDMA-RDMA-Treibers. Dieser Treiber unterstützt Remote Direct Memory Access (RDMA) zwischen Compute Engine-Instanzen. RDMA überträgt Daten zwischen Remotecomputern und dem lokalen Speicher über die Netzwerkschnittstelle, ohne die Host-CPU oder Zwischenhostpuffer zu verwenden.

Für RDMA-fähige Instanzen sind mindestens zwei virtuelle Netzwerkschnittstellen (vNICs) erforderlich:

  • Eine vNIC für die RDMA-Kommunikation, die das IDPF-Netzwerk und den IRDMA-RDMA-Treiber verwendet. Diese virtuelle Netzwerkkarte kann keine Verbindung zum Internet herstellen. Eine Instanz kann nur eine vNIC haben, die IRDMA verwendet.
  • Eine vNIC für normalen Netzwerk-Traffic. Diese virtuelle Netzwerkkarte ist vollständig mit demGoogle Cloud -Netzwerk verbunden und kann eine Verbindung zum Internet herstellen. Diese vNIC verwendet den gVNIC-Netzwerktreiber. Sie können bis zu acht zusätzliche GVNIC-Netzwerkschnittstellen hinzufügen, sodass insgesamt 10 NICs pro Instanz möglich sind.

Der IRDMA-Netzwerktreiber wird für H4D-Instanzen unterstützt.

Wenn Sie eine vNIC konfigurieren, die den IRDMA-Treiber verwendet, müssen Sie ein VPC-Netzwerk angeben, das mit dem Falcon RDMA-Netzwerkprofil erstellt wurde.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud -Dienste und APIs überprüft. Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:

    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. Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    2. Set a default region and zone.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Betriebssystemunterstützung

Während des Vorschauzeitraums können Sie das HPC-VM-Image verwenden, auf dem Cloud RDMA-Treiber vorinstalliert sind.

Übersicht über die Verwendung von IRDMA mit Compute Engine-Instanzen

Wenn Sie eine Compute-Instanz erstellen möchten, die Cloud RDMA verwendet, benötigen Sie mindestens ein reguläres VPC-Netzwerk und ein Falcon-VPC-Netzwerk. Das Falcon-VPC-Netzwerk verwendet ein RDMA-Netzwerkprofil, das RDMA-Traffic zwischen H4D-Instanzen ermöglicht. Dieses Netzwerk ist vom regulären VPC-Netzwerk getrennt, über das Nicht-RDMA-Traffic zu anderen Google Cloud-Diensten oder zum Internet geleitet wird.

So erstellen Sie eine Compute-Instanz, die Cloud RDMA verwendet:

  1. Wählen Sie ein öffentliches Betriebssystem-Image aus, das IRDMA unterstützt, oder erstellen Sie ein benutzerdefiniertes Betriebssystem-Image, das für die Verwendung von IRDMA getaggt ist.
  2. Mindestens zwei VPC-Netzwerke identifizieren oder erstellen:

    • Ein reguläres VPC-Netzwerk für den Traffic, der über die gVNIC-Netzwerkschnittstelle geleitet wird
    • Ein Falcon-VPC-Netzwerk für den RDMA-Traffic
  3. Erstellen Sie eine Compute-Instanz mit dem öffentlichen oder benutzerdefinierten Betriebssystem-Image. Konfigurieren Sie während der Instanzerstellung mindestens zwei Netzwerkschnittstellen: eine mit dem gVNIC-Treiber und eine mit dem IRDMA-Treiber.

  4. Prüfen Sie, ob IRDMA aktiviert ist.

Benutzerdefiniertes Betriebssystem-Image erstellen, das IRDMA unterstützt

Sie können das Betriebssystem-Image entweder mit der Google Cloud CLI oder mit REST erstellen. Ausführliche Informationen und Best Practices zum Erstellen benutzerdefinierter Betriebssystem-Images finden Sie unter Benutzerdefinierte Betriebssystem-Images erstellen.

gcloud

  1. Wählen Sie ein Betriebssystem-Image oder eine Imagefamilie aus, die IRDMA unterstützt. Verwenden Sie während des Vorschauzeitraums das HPC-VM-Image.

  2. Erstellen Sie mithilfe des im vorherigen Schritt ausgewählten Betriebssystem-Images oder der Image-Familie ein benutzerdefiniertes Betriebssystem-Image. Verwenden Sie zum Erstellen des benutzerdefinierten Betriebssystem-Image den Befehl gcloud compute images create. Mit dem folgenden Befehl wird beispielsweise ein benutzerdefiniertes Betriebssystem-Image erstellt, das IRDMA unterstützt und auf einem bestimmten Betriebssystem-Image basiert.

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

    Ersetzen Sie Folgendes:

    • IMAGE_NAME: Der Name des Images, das Sie erstellen möchten.
    • SOURCE_IMAGE: ein bestimmtes Betriebssystem-Image, das IRDMA unterstützt, z. B. hpc-rocky-linux-8-v20250721.

      Wenn Sie das neueste Betriebssystem-Image in einer Image-Familie verwenden möchten, ersetzen Sie das Flag --source-image durch das Flag --source-image-family und legen Sie dessen Wert auf eine Image-Familie fest, die IRDMA unterstützt. Beispiel: --source-image-family=hpc-rocky-linux-8.

    • SOURCE_IMAGE_PROJECT ist der Name des Projekts, das das Quell-Betriebssystem-Image oder die Image-Familie enthält.

    Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

REST

  1. Wählen Sie ein Betriebssystem-Image oder eine Imagefamilie aus, die IRDMA unterstützt. Weitere Informationen finden Sie unter Details zu Betriebssystemen.

  2. Erstellen Sie mithilfe des im vorherigen Schritt ausgewählten Betriebssystem-Images oder der Image-Familie ein Betriebssystem-Image mit der Methode images.insert.

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

    Ersetzen Sie Folgendes:

    • PROJECT_ID: ID des Projekts, in dem das neue Image erstellt werden soll
    • IMAGE_NAME: Name für das benutzerdefinierte Image
    • SOURCE_IMAGE_URI: Der URI für das spezifische Betriebssystem-Image oder die Image-Familie, die Sie verwenden möchten.

      Beispiele:

      • Spezifisches Betriebssystem-Image: "sourceImage": "projects/rocky-linux-cloud/global/images/hpc-rocky-linux-8-v20250721"
      • Imagefamilie: "sourceImage": "projects/rocky-linux-cloud/global/images/family/hpc-rocky-linux-8"

      Wenn Sie eine Image-Familie angeben, erstellt Compute Engine eine VM aus dem neuesten nicht verworfenen Betriebssystem-Image in dieser Familie. Weitere Informationen zur Verwendung von Image-Familien finden Sie unter Best Practices für Image-Familien.

VM mit IRDMA-Unterstützung erstellen

Sie können eine VM mit einem der unterstützten öffentlichen Betriebssystem-Images oder mit einem benutzerdefinierten Betriebssystem-Image erstellen, das Sie mithilfe der Anleitung unter Benutzerdefiniertes Betriebssystem-Image erstellen, das IRDMA unterstützt, erstellt haben.

Wenn Sie RDMA mit Ihrer Instanz verwenden möchten, müssen Sie mehrere Netzwerkschnittstellen (NICs) für die Instanz konfigurieren. Eine NIC muss den GVNIC-Treiber verwenden (nic-type=GVNIC angeben) und eine andere NIC den IRDMA-Treiber (nic-type=IRDMA angeben).

VM mit einem öffentlichen Betriebssystem-Image erstellen

Wenn Sie VMs mit dem HPC-VM-Image oder einem öffentlichen Betriebssystem-Image erstellen möchten, das IRDMA unterstützt, folgen Sie der Anleitung auf den folgenden Seiten:

VM mit dem benutzerdefinierten Betriebssystem-Image erstellen

Wenn Sie kein öffentliches Betriebssystem-Image verwenden, das IRDMA unterstützt, müssen Sie zuerst ein benutzerdefiniertes Betriebssystem-Image erstellen, das IRDMA unterstützt. Anschließend verwenden Sie dieses benutzerdefinierte Betriebssystem-Image, um eine VM mit der Google Cloud Console, der Google Cloud CLI oder REST zu erstellen.

Eine Anleitung zum Erstellen einer Instanz mit einem benutzerdefinierten Image finden Sie unter Aus einem benutzerdefinierten Image eine Instanz erstellen.

Prüfen, ob IRDMA aktiviert ist

Führen Sie nach der Bereitstellung der VM den folgenden Bandbreitentest aus, um sicherzustellen, dass Sie eine funktionierende RDMA-fähige VM-Instanz verwenden.

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

Die gemeldete Bandbreite für eine einzelne Verbindung BW average [MB/s] sollte für Zeilen über 4.096 Byte mindestens 11.000 MB/s erreichen. Bei kleineren Nachrichtengrößen sind kleinere Werte zu erwarten.

Nächste Schritte