Usa el controlador RDMA de IRDMA


Cloud RDMA habilita capacidades de mensajería confiables y de baja latencia con el controlador RDMA de IRDMA. Este controlador admite el acceso directo a la memoria remoto (RDMA) entre instancias de Compute Engine. RDMA transfiere datos entre máquinas remotas y la memoria local a través de la interfaz de red sin usar la CPU del host ni los búferes intermedios del host.

Las instancias compatibles con RDMA requieren al menos dos interfaces de red virtuales (vNIC):

  • Es una vNIC para la comunicación RDMA que usa la red IDPF y el controlador RDMA de IRDMA. Esta vNIC no se puede conectar a Internet. Una instancia solo puede tener una vNIC que use IRDMA.
  • Es una vNIC para el tráfico de red normal. Esta vNIC está completamente conectada a la redGoogle Cloud y puede conectarse a Internet. Esta NIC virtual usa el controlador de red gVNIC. Puedes agregar hasta ocho interfaces de red GVNIC adicionales, para un total de 10 NIC por instancia.

El controlador de red IRDMA es compatible con las instancias H4D.

Cuando configures una vNIC que use el controlador IRDMA, debes especificar una red de VPC que se haya creado con el perfil de red de RDMA de Falcon.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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. Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a gcloud CLI.

      Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI ejecutando el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad externo (IdP), primero debes acceder a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .

Compatibilidad con el sistema operativo

Durante el período de vista previa, usa la imagen de VM de HPC, que incluye los controladores de Cloud RDMA preinstalados.

Descripción general del uso de IRDMA con instancias de Compute Engine

Para crear una instancia de procesamiento que use Cloud RDMA, debes tener al menos una red de VPC normal y una red de VPC de Falcon. La red de VPC de Falcon usa un perfil de red de RDMA que habilita el tráfico de RDMA entre las instancias de H4D. Esta red es independiente de la red de VPC normal que transporta tráfico que no es de RDMA a otros servicios de Google Cloudo a Internet.

Estas son las tareas que debes completar para crear una instancia de procesamiento que use Cloud RDMA:

  1. Elige una imagen de SO pública que admita IRDMA o crea una imagen de SO personalizada que esté etiquetada para usar IRDMA.
  2. Identifica o crea al menos dos redes de VPC:

    • Una red de VPC normal para el tráfico que pasa por la interfaz de red de gVNIC
    • Una red de VPC de Falcon para el tráfico de RDMA
  3. Crea una instancia de procesamiento con la imagen de SO pública o personalizada. Durante la creación de la instancia, configura al menos dos interfaces de red: una que use el controlador de gVNIC y otra que use el controlador de IRDMA.

  4. Verifica que IRDMA esté habilitado.

Crea una imagen de SO personalizada que admita IRDMA

Puedes crear la imagen de SO con Google Cloud CLI o REST. Si deseas obtener información detallada y prácticas recomendadas para crear imágenes de SO personalizadas, consulta Crea imágenes de SO personalizadas.

gcloud

  1. Selecciona una imagen o familia de imágenes de SO que admita IRDMA. Durante el período de vista previa, usa la imagen de VM de HPC.

  2. Usa la imagen o la familia de imágenes de SO seleccionada en el paso anterior y crea una imagen de SO personalizada. Para crear la imagen de SO personalizada, usa el comando gcloud compute images create. Por ejemplo, el siguiente comando crea una imagen de SO personalizada que admite IRDMA y que se basa en una imagen de SO específica.

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

    Reemplaza lo siguiente:

    • IMAGE_NAME: el nombre de la imagen que deseas crear
    • SOURCE_IMAGE: Una imagen de SO específica que admite IRDMA, por ejemplo: hpc-rocky-linux-8-v20250721

      Si deseas usar la imagen de SO más reciente en una familia de imágenes, reemplaza la marca --source-image por la marca --source-image-family y configura su valor en una familia de imágenes que admita IRDMA. Por ejemplo: --source-image-family=hpc-rocky-linux-8

    • SOURCE_IMAGE_PROJECT: el nombre del proyecto que contiene la imagen o la familia de imágenes de SO de origen

    Para obtener más información sobre el balanceo de cargas, consulta Prácticas recomendadas para las familias de imágenes.

REST

  1. Selecciona una imagen o familia de imágenes de SO que admita IRDMA. Para obtener más información, consulta Detalles de los sistemas operativos.

  2. Usa la imagen o la familia de imágenes de SO seleccionada en el paso anterior y crea una imagen de SO con el método images.insert.

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

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto en el que se creará la imagen nueva
    • IMAGE_NAME: un nombre para la imagen personalizada
    • SOURCE_IMAGE_URI: el URI de la imagen o familia de imágenes de SO específica que deseas usar

      Por ejemplo:

      • Imagen de SO específica: "sourceImage": "projects/rocky-linux-cloud/global/images/hpc-rocky-linux-8-v20250721"
      • Familia de imágenes: "sourceImage": "projects/rocky-linux-cloud/global/images/family/hpc-rocky-linux-8"

      Cuando especificas una familia de imágenes, Compute Engine crea una VM a partir de la imagen de SO no obsoleta más reciente de esa familia. Para obtener más información sobre el balanceo de cargas, consulta Prácticas recomendadas para las familias de imágenes.

Crea una VM con compatibilidad con IRDMA

Puedes crear una VM con una de las imágenes de SO públicas compatibles o con una imagen de SO personalizada que creaste siguiendo los pasos que se indican en Crea una imagen de SO personalizada que admita IRDMA.

Para usar RDMA con tu instancia, debes configurar varias interfaces de red (NIC) para la instancia. Una NIC debe usar el controlador gVNIC (especifica nic-type=GVNIC) y otra NIC debe usar el controlador IRDMA (especifica nic-type=IRDMA).

Crea una VM con una imagen de SO pública

Para crear VMs con la imagen de VM de HPC o una imagen de SO pública que admita IRDMA, sigue las instrucciones de las siguientes páginas:

Crea una VM con una imagen de SO personalizada

Si no usas una imagen de SO pública que admita IRDMA, primero debes crear una imagen de SO personalizada que admita IRDMA. Luego, usa esa imagen de SO personalizada para crear una VM con la Google Cloud consola, Google Cloud CLI o REST.

Para obtener instrucciones sobre cómo crear una instancia con una imagen personalizada, consulta Crea una instancia a partir de una imagen personalizada.

Verifica que IRDMA esté habilitado

Después de implementar la VM, ejecuta la siguiente prueba de ancho de banda de rendimiento para asegurarte de que se ejecute en una instancia de VM habilitada para RDMA en buen estado.

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

El ancho de banda de conexión única informado BW average [MB/s] debe alcanzar al menos 11,000 MB/s para las filas superiores a 4096 B; se esperan valores más pequeños para tamaños de mensajes más bajos.

¿Qué sigue?