Cloud RDMA offre des fonctionnalités de messagerie fiables à faible latence en utilisant le pilote IRDMA RDMA. Ce pilote prend en charge l'accès direct à la mémoire à distance (RDMA) entre les instances Compute Engine. RDMA transfère les données entre les machines distantes et la mémoire locale via l'interface réseau sans utiliser le processeur hôte ni les tampons hôtes intermédiaires.
Les instances compatibles avec Cloud RDMA nécessitent au moins deux interfaces réseau virtuelles (vNIC) :
- Une carte d'interface réseau virtuelle pour la communication Cloud RDMA qui utilise le pilote réseau IDPF et le pilote IRDMA RDMA. Cette carte d'interface réseau virtuelle ne peut pas se connecter à Internet. Une instance ne peut avoir qu'une seule carte d'interface réseau virtuelle qui utilise Cloud RDMA.
- Une carte d'interface réseau virtuelle pour le trafic réseau normal. Cette carte d'interface réseau virtuelle est entièrement connectée au Google Cloud réseau et peut se connecter à Internet. Cette carte d'interface réseau virtuelle utilise le pilote réseau gVNIC. Vous pouvez ajouter jusqu'à huit interfaces réseau gVNIC supplémentaires, pour un total de 10 cartes d'interface réseau virtuelles par instance.
Le pilote IRDMA est compatible avec les instances H4D et les instances Z4M.
Lorsque vous configurez une carte d'interface réseau virtuelle qui utilise le pilote IRDMA, vous devez spécifier un réseau VPC créé à l'aide du profil réseau Falcon RDMA.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet de valider votre identité pour accéder aux Google Cloud services et aux API. Pour exécuter
du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de
Compute Engine en sélectionnant l'une des options suivantes :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la Google Cloud console pour accéder aux Google Cloud services et aux API, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :
gcloud initSi vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI.
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l' Google Cloud authentification.
Systèmes d'exploitation compatibles
Google recommande d'utiliser des images de calcul avancé ou l'image de VM HPC, qui est fournie avec les pilotes Cloud RDMA préinstallés.
Le pilote IRDMA RDMA est compatible avec les images de l'OS publiques suivantes qui sont fournies pour Google Cloud:
- Container-Optimized OS 117 LTS ou version ultérieure
- Rocky Linux 8 optimisé pour Google Cloud et versions ultérieures optimisées pour Google Cloud versions
Présentation de l'utilisation de Cloud RDMA avec des instances Compute Engine
Pour créer une instance de calcul qui utilise Cloud RDMA, vous devez disposer d'au moins un réseau VPC standard et d'un réseau VPC Falcon. Le réseau VPC Falcon utilise le profil réseau Falcon RDMA pour activer le trafic Cloud RDMA entre les instances H4D. Ce réseau est distinct de le réseau VPC standard qui transporte le trafic non RDMA vers d'autres Google Cloud services ou vers Internet.
Voici les tâches à effectuer pour créer une instance de calcul qui utilise Cloud RDMA :
- Choisissez une image d'OS publique compatible avec Cloud RDMA ou créez une image d'OS personnalisée avec un tag permettant d' utiliser IRDMA.
Identifiez ou créez au moins deux réseaux VPC :
- Un réseau VPC standard pour le trafic qui transite par l'interface réseau gVNIC
- Un réseau VPC Falcon pour le trafic Cloud RDMA
Créez une instance de calcul à l'aide de l'image d'OS publique ou d'une image d'OS personnalisée. Lors de la création de l'instance, configurez au moins deux interfaces réseau : une qui utilise le pilote réseau gVNIC et une autre qui utilise le pilote IRDMA RDMA.
Vérifiez que Cloud RDMA est activé.
Ajouter le pilote IRDMA à une image d'OS
Pour utiliser une image de l'OS sur laquelle le pilote IRDMA n'est pas installé par défaut, procédez comme suit :
Créez une instance de calcul qui utilise l'image de l'OS que vous souhaitez utiliser avec Cloud RDMA.
Connectez-vous à l'instance de calcul que vous avez créée.
Si vous n'utilisez pas une image d'OS optimisée pour Google Cloud, ajoutez le dépôt CIQ à l'aide de l'une des options suivantes :
Recommandé : installez directement le package CIQ RPM pour configurer le dépôt CIQ :
sudo dnf install -y https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el8-x86_64/irdma-repos.rpmVous pouvez également mettre à jour directement les dépôts YUM :
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
Installez le package de pilotes
kmod-idpf-irdma, qui inclut les pilotes IDPF et IRDMA :sudo dnf install kmod-idpf-irdmaLe package CIQ nécessite des versions de noyau spécifiques, ce qui peut affecter l'installation des manières suivantes :
- Si votre version de noyau est antérieure à la version requise, l'installation du package met automatiquement à niveau votre noyau et d'autres packages système en tant que dépendance.
- Si votre version de noyau est plus récente que celle compatible avec le dépôt CIQ, l'installation peut échouer. Dans ce cas, utilisez une image de l'OS optimisée pour Google Cloud, qui utilise une version de noyau compatible.
Vérifiez que le package
kmod-idpf-irdmaest installé :sudo dnf list --installedLe résultat inclut une entrée semblable à la suivante :
kmod-idpf-irdma.ARCHITECTURE VERSION@REPO_NAME
Installez les packages de l'espace utilisateur :
sudo dnf install -y \ libibverbs libibverbs-devel libibverbs-utils \ librdmacm librdmacm-devel librdmacm-utils \ infiniband-diagsLes packages
librdmacm-utilsetlibibverbs-utilsinstallent des utilitaires supplémentaires pour vérifier la fonctionnalité RDMA, tels querpingetibv_devinfo.Recommandé : après avoir mis à jour le système d'exploitation de votre instance de calcul pour utiliser IRDMA, créez une image personnalisée basée sur cette image d'OS. Vous pouvez ensuite utiliser l'image personnalisée pour créer des instances de calcul supplémentaires qui utilisent IRDMA sur cet OS.
Suivez les instructions de la section Créer l'image pour créer une image personnalisée à l'aide du disque de démarrage de l'instance que vous avez créée à la première étape.
Créer une image d'OS personnalisée à partir d'une image d'OS publique compatible avec Cloud RDMA
Vous pouvez créer l'image de l'OS à l'aide de la Google Cloud CLI ou REST. Pour obtenir des informations détaillées et des bonnes pratiques sur la création d'images d'OS personnalisées, consultez la page Créer des images d'OS personnalisées.
gcloud
Sélectionnez une image de l'OS ou une famille d'images de l'OS compatibles avec le pilote et l'interface IRDMA. Pour en savoir plus, consultez la section Détails des systèmes d'exploitation et sélectionnez l'onglet Interfaces.
À l'aide de l'image ou de la famille d'images d'OS que vous avez sélectionnée à l'étape précédente, créez une image d'OS personnalisée. Pour créer l'image de l'OS personnalisée, utilisez la
gcloud compute images createcommande. Par exemple, la commande suivante crée une image d'OS personnalisée compatible avec le pilote IRDMA et basée sur une image d'OS spécifique.gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ --source-image-project=SOURCE_IMAGE_PROJECTRemplacez les éléments suivants :
IMAGE_NAME: nom de l'image que vous souhaitez créer.SOURCE_IMAGE: image de l'OS spécifique compatible avec le pilote IRDMA, par exemplehpc-rocky-linux-8-v20250721.Si vous souhaitez utiliser l'image de l'OS la plus récente dans une famille d'images, remplacez l'option
--source-imagepar l'option--source-image-familyet définissez sa valeur sur une famille d'images compatible avec le pilote IRDMA. Exemple :--source-image-family=hpc-rocky-linux-8.SOURCE_IMAGE_PROJECT: nom du projet contenant l'image ou la famille d'images d'OS source.
Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
REST
Sélectionnez une image de l'OS ou une famille d'images compatible avec l'interface réseau IRDMA. Pour en savoir plus, consultez la section Détails des systèmes d'exploitation.
À l'aide de l'image ou de la famille d'images d'OS que vous avez sélectionnée à l'étape précédente, créez une image d'OS à l'aide de la méthode
images.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name":"IMAGE_NAME", "sourceImage":"SOURCE_IMAGE_URI" }Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel créer l'image.IMAGE_NAME: nom de l'image personnalisée.SOURCE_IMAGE_URI: URI de l'image ou de la famille d'images d'OS spécifique que vous souhaitez utiliser.Exemple :
- Image d'OS spécifique :
"sourceImage": "projects/rocky-linux-cloud/global/images/hpc-rocky-linux-8-v20250721" - Famille d'images :
"sourceImage": "projects/rocky-linux-cloud/global/images/family/hpc-rocky-linux-8"
Lorsque vous spécifiez une famille d'images, Compute Engine crée une VM à partir de l'image de l'OS non obsolète la plus récente dans cette famille. Pour en savoir plus sur l'utilisation des familles d'images, consultez la page Bonnes pratiques concernant les familles d'images.
- Image d'OS spécifique :
Créer une VM compatible avec le pilote IRDMA
Vous pouvez créer une VM à l'aide de l'une des images d'OS publiques compatibles ou en utilisant une image d'OS personnalisée créée à l'aide de la procédure décrite dans la section Créer une image personnalisée compatible avec IRDMA.
Pour utiliser Cloud RDMA avec votre instance, vous devez configurer plusieurs cartes d'interface réseau pour l'instance. Une carte d'interface réseau doit utiliser le pilote gVNIC (spécifiez nic-type=GVNIC) et une autre carte d'interface réseau doit utiliser le pilote IRDMA (spécifiez nic-type=IRDMA).
Créer une VM à l'aide d'une image d'OS publique
Pour créer des VM à l'aide d'images Advanced Compute, de l'image de VM HPC ou d'une image de l'OS publique compatible avec Cloud RDMA, suivez les instructions des pages suivantes :
- Pour créer une instance à la demande, consultez Créer une instance qui utilise Cloud RDMA.
- Pour créer des instances compatibles avec Cloud RDMA de manière groupée, consultez Créer de manière groupée des instances optimisées pour le HPC qui utilisent Cloud RDMA.
- Pour utiliser Slurm afin de créer un cluster d'instances compatibles avec Cloud RDMA, consultez Créer un cluster HPC Slurm compatible avec Cloud RDMA avec des instances H4D.
- Pour créer un MIG, consultez Créer un MIG HPC avec la série de machines H4D.
Créer une VM à l'aide d'une image d'OS personnalisée
Si vous avez créé une image d'OS personnalisée compatible avec Cloud RDMA, alors vous pouvez l'utiliser pour créer une VM à l'aide de la Google Cloud console, de la Google Cloud CLI ou de REST.
Pour savoir comment créer une instance à l'aide d'une image personnalisée, consultez Créer une instance à partir d'une image personnalisée.
Vérifier que Cloud RDMA est activé
Une fois la VM déployée, exécutez le test de bande passante de performances suivant pour vous assurer que vous exécutez une instance de VM compatible avec Cloud RDMA et en bon état.
ib_send_bw -aF & # start the server
ib_send_bw -aF $(hostname) # start the client (can be done on the same machine)
La bande passante à connexion unique signalée BW average [MB/s] doit atteindre au moins 11 000 Mbit/s pour les lignes supérieures à 4 096 octets. Des valeurs plus petites sont attendues pour les tailles de message inférieures.
Étape suivante
- Se connecter à l'instance
- Modifier le paramètre de MTU d'un réseau VPC
- Présentation de la création de clusters HPC
- Configurer et mettre à l'échelle des applications MPI sur des VM H4D avec Cloud RDMA