O Cloud RDMA permite recursos de mensagens confiáveis e de baixa latência usando o driver IRDMA RDMA. Esse driver oferece suporte ao acesso direto à memória remota (RDMA, na sigla em inglês) entre instâncias do Compute Engine. A RDMA transfere dados entre máquinas remotas e memória local pela interface de rede sem usar a CPU do host nem buffers de host intermediários.
As instâncias compatíveis com o Cloud RDMA exigem pelo menos duas interfaces de rede virtual (vNICs):
- Uma vNIC para comunicação do Cloud RDMA que usa o driver de rede IDPF e o driver IRDMA RDMA. Essa vNIC não pode se conectar à Internet. Uma instância pode ter apenas uma vNIC que usa o Cloud RDMA.
- Uma vNIC para tráfego de rede normal. Essa vNIC está totalmente conectada à Google Cloud rede e pode se conectar à Internet. Essa vNIC usa o driver de rede gVNIC. É possível adicionar até oito interfaces de rede gVNIC extras, totalizando 10 vNICs por instância.
O driver IRDMA é compatível com instâncias H4D e instâncias Z4M.
Ao configurar uma vNIC que usa o driver IRDMA, é necessário especificar uma rede VPC criada usando o perfil de rede Falcon RDMA.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar
código ou amostras de um ambiente de desenvolvimento local, faça a autenticação no
Compute Engine com uma destas opções:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o Google Cloud console para acessar Google Cloud serviços e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Suporte ao sistema operacional
O Google recomenda o uso de imagens de computação avançada ou da imagem de VM de HPC, que vem com drivers do Cloud RDMA pré-instalados.
O driver IRDMA RDMA é compatível com as seguintes imagens do SO públicas que são fornecidas para Google Cloud:
- Container-Optimized OS 117 LTS ou mais recente
- Rocky Linux 8 otimizado para Google Cloud e versões mais recentes otimizadas para Google Cloud
Visão geral do uso do Cloud RDMA com instâncias do Compute Engine
Para criar uma instância de computação que usa o Cloud RDMA, é necessário ter pelo menos uma rede VPC normal e uma rede VPC do Falcon. A rede VPC do Falcon usa o perfil de rede Falcon RDMA para ativar o tráfego do Cloud RDMA entre instâncias H4D. Essa rede fica separada de a rede VPC normal que direciona tráfego não RDMA para outros Google Cloud serviços do ou para a internet.
As tarefas a serem concluídas para criar uma instância de computação que usa o Cloud RDMA são as seguintes:
- Escolha uma imagem do SO pública compatível com o Cloud RDMA ou crie uma imagem do SO personalizada marcada para usar o IRDMA.
Identifique ou crie pelo menos duas redes VPC:
- Uma rede VPC normal para o tráfego que passa pela interface de rede gVNIC
- Uma rede VPC do Falcon para o tráfego do Cloud RDMA
Crie uma instância de computação usando a imagem do SO pública ou uma imagem do SO personalizada. Durante a criação da instância, configure pelo menos duas interfaces de rede: uma que use o driver de rede gVNIC e outra que utilize o driver IRDMA RDMA.
Verifique se o Cloud RDMA está ativado.
Adicionar o driver IRDMA a uma imagem do SO
Para usar uma imagem do SO que não tem o driver IRDMA instalado por padrão, siga estas etapas:
Crie uma instância de computação que use a imagem do SO que você quer usar com o Cloud RDMA.
Conecte-se à instância de computação criada.
Se você não estiver usando uma imagem do SO otimizada para Google Cloud, adicione o repositório CIQ usando uma das seguintes opções:
Recomendado: instale o pacote RPM do CIQ diretamente para configurar o repositório CIQ:
sudo dnf install -y https://depot.ciq.com/public/files/gce-accelerator/irdma-kernel-modules-el8-x86_64/irdma-repos.rpmComo alternativa, atualize os repositórios YUM diretamente:
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
Instale o pacote de driver
kmod-idpf-irdma, que inclui os drivers IDPF e IRDMA:sudo dnf install kmod-idpf-irdmaO pacote CIQ exige versões específicas do kernel, que podem afetar a instalação das seguintes maneiras:
- Se a versão do kernel for mais antiga que a necessária, a instalação do pacote vai fazer upgrade automático do kernel e de outros pacotes do sistema como dependência.
- Se a versão do kernel for mais recente que a versão compatível com o repositório CIQ, a instalação poderá falhar. Nesse caso, use uma imagem do SO otimizada para Google Cloud, que usa uma versão do kernel compatível.
Verifique se o pacote
kmod-idpf-irdmaestá instalado:sudo dnf list --installedA saída inclui uma entrada semelhante a esta:
kmod-idpf-irdma.ARCHITECTURE VERSION@REPO_NAME
Instale os pacotes de espaço do usuário:
sudo dnf install -y \ libibverbs libibverbs-devel libibverbs-utils \ librdmacm librdmacm-devel librdmacm-utils \ infiniband-diagsOs pacotes
librdmacm-utilselibibverbs-utilsinstalam utilitários complementares para verificar a funcionalidade RDMA, comorpingeibv_devinfo.Recomendado: depois de atualizar o sistema operacional na instância de computação para usar o IRDMA, crie uma imagem personalizada com base nessa imagem do SO. Em seguida, use a imagem personalizada para criar outras instâncias de computação que usem o IRDMA nesse SO.
Siga as instruções em Criar a imagem para criar uma imagem personalizada usando o disco de inicialização da instância criada em a primeira etapa.
Criar uma imagem do SO personalizada com base em uma imagem do SO pública compatível com o Cloud RDMA
É possível criar a imagem do SO usando a Google Cloud CLI ou uma arquitetura REST. Para informações detalhadas e práticas recomendadas para criar imagens do SO personalizadas, consulte Criar imagens do SO personalizadas.
gcloud
Selecione uma imagem do SO ou família de imagens compatível com o driver e a interface IRDMA. Para mais informações, consulte Detalhes do sistema operacional e selecione a guia Interfaces.
Usando a imagem do SO ou a família de imagens selecionada na etapa anterior, crie uma imagem do SO personalizada. Para criar a imagem do SO personalizada, use o
gcloud compute images createcomando. Por exemplo, o comando a seguir cria uma imagem do SO personalizada compatível com o driver IRDMA, baseada em uma imagem específica do SO.gcloud compute images create IMAGE_NAME \ --source-image=SOURCE_IMAGE \ --source-image-project=SOURCE_IMAGE_PROJECTSubstitua:
IMAGE_NAME: o nome da imagem que você quer criar.SOURCE_IMAGE: uma imagem do SO específica compatível com o driver IRDMA, por exemplo:hpc-rocky-linux-8-v20250721.Se você quiser usar a imagem do SO mais recente em uma família de imagens, substitua a flag
--source-imagepela flag--source-image-familye defina o valor dela como uma família de imagens compatível com o driver IRDMA. Por exemplo:--source-image-family=hpc-rocky-linux-8.SOURCE_IMAGE_PROJECT: o nome do projeto que contém a imagem do SO de origem ou a família de imagens
Para mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
REST
Selecione uma imagem do SO ou família de imagens compatível com a interface de rede IRDMA. Para mais informações, consulte Detalhes do sistema operacional.
Usando a imagem do SO ou a família de imagens selecionada na etapa anterior, crie uma imagem do SO usando o
images.insertmétodo.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "name":"IMAGE_NAME", "sourceImage":"SOURCE_IMAGE_URI" }Substitua:
PROJECT_ID: ID do projeto em que a nova imagem será criada.IMAGE_NAME: um nome para a imagem personalizadaSOURCE_IMAGE_URI: o URI da imagem do SO ou família de imagens específica que você quer usarExemplo:
- Imagem do SO específica:
"sourceImage": "projects/rocky-linux-cloud/global/images/hpc-rocky-linux-8-v20250721" - Família de imagens:
"sourceImage": "projects/rocky-linux-cloud/global/images/family/hpc-rocky-linux-8"
Quando você especifica uma família de imagens, o Compute Engine cria uma VM a partir da imagem do SO mais recente e não obsoleta nessa família. Para mais informações sobre quando usar famílias de imagens, consulte Práticas recomendadas para famílias de imagens.
- Imagem do SO específica:
Criar uma VM com suporte ao driver IRDMA
É possível criar uma VM usando uma das imagens do SO públicas compatíveis ou uma imagem do SO personalizada que você criou seguindo as etapas em Criar uma imagem do SO personalizada compatível com IRDMA.
Para usar o Cloud RDMA com sua instância, é necessário configurar várias interfaces de rede (NICs) para a instância. Uma NIC precisa usar o driver gVNIC (especifique nic-type=GVNIC) e outra NIC precisa usar o driver IRDMA (especifique nic-type=IRDMA).
Criar uma VM usando uma imagem do SO pública
Para criar VMs usando imagens de computação avançada, a imagem de VM de HPC ou uma imagem do SO pública compatível com o Cloud RDMA, siga as instruções nas páginas a seguir:
- Para criar uma instância por demanda, consulte Criar uma instância que usa o Cloud RDMA.
- Para criar instâncias compatíveis com o Cloud RDMA em massa, consulte Criar instâncias otimizadas para HPC em massa que usam o Cloud RDMA.
- Para usar o Slurm para criar um cluster de instâncias compatíveis com o Cloud RDMA, consulte Criar um cluster HPC Slurm compatível com o Cloud RDMA com instâncias H4D.
- Para criar um MIG, consulte Criar um MIG de HPC com a série de máquinas H4D.
Criar uma VM usando uma imagem do SO personalizada
Se você criou uma imagem do SO personalizada compatível com o Cloud RDMA, então é possível usar essa imagem do SO personalizada para criar uma VM usando o Google Cloud console, a Google Cloud CLI ou REST.
Para instruções sobre como criar uma instância usando uma imagem personalizada, consulte Criar uma instância com base em uma imagem personalizada.
Verificar se o Cloud RDMA está ativado
Depois que a VM for implantada, execute o teste de largura de banda de performance a seguir para garantir que você esteja executando em uma instância de VM compatível com o Cloud RDMA.
ib_send_bw -aF & # start the server
ib_send_bw -aF $(hostname) # start the client (can be done on the same machine)
A largura de banda de conexão única informada BW average [MB/s] precisa atingir pelo menos 11.000 MBps para linhas maiores que 4.096 B. Valores menores são esperados para tamanhos de mensagens menores.
A seguir
- Conectar-se à instância
- Alterar a configuração de MTU de uma rede VPC
- Visão geral da criação de clusters de HPC
- Configurar e escalonar aplicativos MPI em VMs H4D com o Cloud RDMA