Utilizzo del driver RDMA IRDMA


Cloud RDMA consente funzionalità di messaggistica affidabili a bassa latenza utilizzando il driver IRDMA RDMA. Questo driver supporta l'accesso diretto alla memoria da remoto (RDMA) tra le istanze Compute Engine. RDMA trasferisce i dati tra macchine remote e la memoria locale tramite l'interfaccia di rete senza utilizzare la CPU host o buffer host intermedi.

Le istanze compatibili con RDMA richiedono almeno due interfacce di rete virtuali (vNIC):

  • Una vNIC per la comunicazione RDMA che utilizza la rete IDPF e il driver IRDMA RDMA. Questa vNIC non può connettersi a internet. Un'istanza può avere una sola vNIC che utilizza IRDMA.
  • Una vNIC per il normale traffico di rete. Questa vNIC è completamente connessa alla reteGoogle Cloud e può connettersi a internet. Questa vNIC utilizza il driver di rete gVNIC. Puoi aggiungere fino a otto interfacce di rete GVNIC aggiuntive, per un totale di 10 NIC per istanza.

Il driver di rete IRDMA è supportato con le istanze H4D.

Quando configuri una vNIC che utilizza il driver IRDMA, devi specificare una rete VPC creata utilizzando il profilo di rete Falcon RDMA.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione verifica la tua identità per l'accesso a Google Cloud servizi e API. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    2. Set a default region and zone.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .

Supporto del sistema operativo

Durante il periodo di anteprima, utilizza l'immagine VM HPC, che viene fornita con i driver Cloud RDMA preinstallati.

Panoramica dell'utilizzo di IRDMA con le istanze Compute Engine

Per creare un'istanza di Compute che utilizza Cloud RDMA, devi avere almeno una rete VPC normale e una rete VPC Falcon. La rete VPC Falcon utilizza un profilo di rete RDMA che consente il traffico RDMA tra le istanze H4D. Questa rete è separata dalla normale rete VPC che trasporta il traffico non RDMA ad altri servizi Google Cloudo a internet.

Di seguito sono riportate le attività da completare per creare un'istanza di computing che utilizza Cloud RDMA:

  1. Scegli un'immagine sistema operativo pubblica che supporti IRDMA o creane una personalizzata con tag per l'utilizzo di IRDMA.
  2. Identifica o crea almeno due reti VPC:

    • Una rete VPC normale per il traffico che passa attraverso l'interfaccia di rete gVNIC
    • Una rete VPC Falcon per il traffico RDMA
  3. Crea un'istanza di computing utilizzando l'immagine sistema operativo pubblica o personalizzata. Durante la creazione dell'istanza, configura almeno due interfacce di rete: una che utilizza il driver gVNIC e una che utilizza il driver IRDMA.

  4. Verifica che IRDMA sia abilitato.

Crea un'immagine del sistema operativo personalizzata che supporti IRDMA

Puoi creare l'immagine sistema operativo utilizzando Google Cloud CLI o REST. Per informazioni dettagliate e best practice per la creazione di immagini sistema operativo personalizzate, consulta la relativa sezione.

gcloud

  1. Seleziona un'immagine sistema operativo o una famiglia di immagini che supporta IRDMA. Durante il periodo di anteprima, utilizza l'immagine VM HPC.

  2. Utilizzando l'immagine sistema operativo o la famiglia di immagini selezionata nel passaggio precedente, crea un'immagine sistema operativo personalizzata. Per creare l'immagine sistema operativo personalizzata, utilizza il comando gcloud compute images create. Ad esempio, il seguente comando crea un'immagine sistema operativo personalizzata che supporta IRDMA e si basa su un'immagine sistema operativo specifica.

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

    Sostituisci quanto segue:

    • IMAGE_NAME: il nome dell'immagine che vuoi creare
    • SOURCE_IMAGE: un'immagine sistema operativo specifica che supporta IRDMA, ad esempio: hpc-rocky-linux-8-v20250721

      Se vuoi utilizzare l'immagine sistema operativo più recente in una famiglia di immagini, sostituisci il flag --source-image con il flag --source-image-family e imposta il relativo valore su una famiglia di immagini che supporta IRDMA. Ad esempio: --source-image-family=hpc-rocky-linux-8.

    • SOURCE_IMAGE_PROJECT: il nome del progetto che contiene l'immagine o la famiglia di immagini sistema operativo di origine

    Per saperne di più su quando utilizzare le famiglie di immagini, consulta Best practice per le famiglie di immagini.

REST

  1. Seleziona un'immagine o una famiglia di immagini del sistema operativo che supporti IRDMA. Per saperne di più, consulta Dettagli del sistema operativo.

  2. Utilizzando l'immagine sistema operativo o la famiglia di immagini selezionata nel passaggio precedente, crea un'immagine sistema operativo utilizzando il metodo images.insert.

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui creare la nuova immagine
    • IMAGE_NAME: un nome per l'immagine personalizzata
    • SOURCE_IMAGE_URI: l'URI per l'immagine o la famiglia di immagini sistema operativo specifica che vuoi utilizzare

      Ad esempio:

      • Immagine sistema operativo specifica: "sourceImage": "projects/rocky-linux-cloud/global/images/hpc-rocky-linux-8-v20250721"
      • Famiglia di immagini: "sourceImage": "projects/rocky-linux-cloud/global/images/family/hpc-rocky-linux-8"

      Quando specifichi una famiglia di immagini, Compute Engine crea una VM dall'ultima immagine sistema operativo non deprecata all'interno di quella famiglia. Per sapere di più su quando utilizzare le famiglie di immagini, consulta le best practice per le famiglie di immagini.

Crea una VM con il supporto di IRDMA

Puoi creare una VM utilizzando una delle immagini sistema operativo pubbliche supportate o utilizzando un'immagine sistema operativo personalizzata che hai creato seguendo la procedura descritta in Crea un'immagine sistema operativo personalizzata che supporta IRDMA.

Per utilizzare RDMA con l'istanza, devi configurare più interfacce di rete (NIC) per l'istanza. Una NIC deve utilizzare il driver gVNIC (specifica nic-type=GVNIC) e un'altra NIC deve utilizzare il driver IRDMA (specifica nic-type=IRDMA).

Crea una VM utilizzando un'immagine sistema operativo pubblica

Per creare VM utilizzando l'immagine VM HPC o un'immagine sistema operativo pubblica che supporta IRDMA, segui le istruzioni riportate nelle pagine seguenti:

Crea una VM utilizzando un'immagine sistema operativo personalizzata

Se non utilizzi un'immagine del sistema operativo pubblica che supporta IRDMA, devi prima crearne una personalizzata che la supporti. Poi utilizza l'immagine sistema operativo personalizzata per creare una VM utilizzando la consoleGoogle Cloud , Google Cloud CLI o REST.

Per istruzioni su come creare un'istanza utilizzando un'immagine personalizzata, consulta Creare un'istanza da un'immagine personalizzata.

Verifica che IRDMA sia abilitato

Dopo il deployment della VM, esegui il seguente test della larghezza di banda delle prestazioni per assicurarti di eseguire l'operazione su un'istanza VM abilitata per RDMA integra.

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

La larghezza di banda a connessione singola segnalata BW average [MB/s] deve raggiungere almeno 11.000 MB/s per le righe superiori a 4096 B; sono previsti valori inferiori per le dimensioni dei messaggi più piccole.

Passaggi successivi