Cloud RDMA habilita capacidades de mensajería confiables de baja latencia mediante el uso del controlador IRDMA RDMA. Este controlador admite el acceso directo a la memoria remoto (RDMA) entre instancias de Compute Engine. RDMA transfiere datos entre máquinas remotas y memoria local a través de la interfaz de red sin usar la CPU del host ni los búferes de host intermedios.
Las instancias compatibles con Cloud RDMA requieren al menos dos interfaces de red virtuales (vNIC):
- Una vNIC para la comunicación de Cloud RDMA que usa el controlador de red IDPF y el controlador IRDMA RDMA. Esta vNIC no se puede conectar a Internet. Una instancia solo puede tener una vNIC que use Cloud RDMA.
- Una vNIC para el tráfico de red normal. Esta vNIC está completamente conectada a la Google Cloud red y se puede conectar a Internet. Esta vNIC usa el controlador de red gVNIC. Puedes agregar hasta ocho interfaces de red gVNIC adicionales, para un total de 10 vNIC por instancia.
El controlador IRDMA es compatible con las instancias H4D y Z4M.
Cuando configuras una vNIC que usa el controlador IRDMA, debes especificar una red de VPC que se creó con el perfil de red Falcon RDMA.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los Google Cloud servicios y las APIs. Para ejecutar
código o muestras desde un entorno de desarrollo local, puedes autenticarte en
Compute Engine seleccionando una de las siguientes opciones:
Selecciona la pestaña según cómo planeas usar las muestras en esta página:
Console
Cuando usas la Google Cloud consola para acceder a los Google Cloud servicios y las APIs, no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:
gcloud init
-
- Configura una región y una zona predeterminadas.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la Google Cloud documentación de autenticación de.
Compatibilidad con el sistema operativo
Google recomienda usar imágenes de procesamiento avanzado o la imagen de VM de HPC, que incluye controladores de Cloud RDMA preinstalados.
El controlador IRDMA RDMA es compatible con las siguientes imágenes de SO públicas que se proporcionan para Google Cloud:
- LTS de Container-Optimized OS 117 (o posterior)
- Rocky Linux 8 optimizado para Google Cloud y versiones posteriores optimizadas para Google Cloud
Descripción general del uso de Cloud RDMA 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 el perfil de red Falcon RDMA para habilitar el tráfico de Cloud RDMA entre instancias H4D. Esta red está separada de la red de VPC normal que transporta tráfico que no es de RDMA a otros Google Cloud servicios o a Internet.
Las tareas que debes completar para crear una instancia de procesamiento que use Cloud RDMA son las siguientes:
- Elige una imagen de SO pública que admita Cloud RDMA o crea una imagen de SO personalizada que esté etiquetada para usar IRDMA.
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 gVNIC
- Una red de VPC de Falcon para el tráfico de Cloud RDMA
Crea una instancia de procesamiento con la imagen de SO pública o una imagen de SO personalizada. Durante la creación de la instancia, configura al menos dos interfaces de red: una que use el controlador de red gVNIC y otra que use el controlador IRDMA RDMA.
Verifica que Cloud RDMA esté habilitado.
Agrega el controlador IRDMA a una imagen de SO
Para usar una imagen de SO que no tenga el controlador IRDMA instalado de forma predeterminada, completa los siguientes pasos:
Crea una instancia de procesamiento que use la imagen de SO que deseas usar con Cloud RDMA.
Conéctate a la instancia de procesamiento que creaste.
Si no usas una imagen de SO optimizada para Google Cloud, agrega el repositorio de CIQ con una de las siguientes opciones:
Recomendado: Instala el paquete RPM de CIQ directamente para configurar el repositorio de CIQ:
sudo dnf install -y https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el8-x86_64/irdma-repos.rpmComo alternativa, actualiza los repositorios de YUM directamente:
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
Instala el paquete del controlador
kmod-idpf-irdma, que incluye los controladores IDPF e IRDMA:sudo dnf install kmod-idpf-irdmaEl paquete de CIQ requiere versiones específicas del kernel, lo que puede afectar la instalación de las siguientes maneras:
- Si la versión del kernel es anterior a la versión requerida, la instalación del paquete actualiza automáticamente el kernel y otros paquetes del sistema como una dependencia.
- Si la versión del kernel es más reciente que la versión compatible con el repositorio de CIQ, es posible que falle la instalación. En este caso, usa una imagen de SO optimizada para Google Cloud, que usa una versión de kernel compatible.
Verifica que el paquete
kmod-idpf-irdmaesté instalado:sudo dnf list --installedEl resultado incluye una entrada similar a la siguiente:
kmod-idpf-irdma.ARCHITECTURE VERSION@REPO_NAME
Instala los paquetes del espacio de usuario:
sudo dnf install -y \ libibverbs libibverbs-devel libibverbs-utils \ librdmacm librdmacm-devel librdmacm-utils \ infiniband-diagsLos paquetes
librdmacm-utilsylibibverbs-utilsinstalan utilidades complementarias para verificar la funcionalidad de RDMA, comorpingyibv_devinfo.Recomendado: Después de actualizar el sistema operativo en tu instancia de procesamiento para usar IRDMA, crea una imagen personalizada basada en esa imagen de SO. Luego, puedes usar la imagen personalizada para crear instancias de procesamiento adicionales que usen IRDMA en ese SO.
Sigue las instrucciones que se indican en Crea la imagen para crear una imagen personalizada con el disco de arranque de la instancia que creaste en el primer paso.
Crea una imagen de SO personalizada a partir de una imagen de SO pública que admita Cloud RDMA
Puedes crear la imagen de SO con el 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
Selecciona una imagen o familia de imágenes de SO que admita el controlador y la interfaz IRDMA. Para obtener más información, consulta Detalles de los sistemas operativos y selecciona la pestaña Interfaces.
Usa la imagen o la familia de imágenes de SO que seleccionaste en el paso anterior y crea una imagen de SO personalizada. Para crear la imagen de SO personalizada, usa el
gcloud compute images createcomando. Por ejemplo, el siguiente comando crea una imagen de SO personalizada que admite el controlador 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_PROJECTReemplaza lo siguiente:
IMAGE_NAME: el nombre de la imagen que deseas crearSOURCE_IMAGE: una imagen de SO específica que admite el controlador IRDMA, por ejemplo:hpc-rocky-linux-8-v20250721Si deseas usar la imagen de SO más reciente en una familia de imágenes, reemplaza la
--source-imagemarca por la--source-image-familymarca y configura su valor en una familia de imágenes que admita el controlador 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 cuándo usar familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
REST
Selecciona una imagen o familia de imágenes de SO que admita la interfaz de red IRDMA. Para obtener más información, consulta Detalles de los sistemas operativos.
Usa la imagen o la familia de imágenes de SO que seleccionaste en el paso anterior y crea una imagen de SO con el
images.insertmétodo.POST https://compute./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 nuevaIMAGE_NAME: un nombre para la imagen personalizadaSOURCE_IMAGE_URI: el URI de la imagen o familia de imágenes de SO específica que deseas usarPor 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.
- Imagen de SO específica:
Crea una VM con compatibilidad con el controlador 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 con los pasos que se indican en Crea una imagen de SO personalizada que admita IRDMA.
Para usar Cloud 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 imágenes de procesamiento avanzado, la imagen de VM de HPC o una imagen de SO pública que admita Cloud RDMA, sigue las instrucciones de las siguientes páginas:
- Para crear una instancia bajo demanda, consulta Crea una instancia que use Cloud RDMA.
- Para crear instancias habilitadas para Cloud RDMA de forma masiva, consulta Crea de forma masiva instancias optimizadas para HPC que usen Cloud RDMA.
- Para usar Slurm y crear un clúster de instancias habilitadas para Cloud RDMA, consulta Crea un clúster de Slurm de HPC habilitado para Cloud RDMA con instancias H4D.
- Para crear un MIG, consulta Crea un MIG de HPC con la serie de máquinas H4D.
Crea una VM con una imagen de SO personalizada
Si creaste una imagen de SO personalizada que admite Cloud RDMA, entonces puedes usar 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 Cloud RDMA 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 Cloud 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 MBps para filas superiores a 4096 B. Se esperan valores más pequeños para tamaños de mensajes más bajos.