Usar o controlador IRDMA Cloud RDMA

O RDMA na nuvem permite capacidades de mensagens fiáveis de baixa latência através do controlador IRDMA RDMA. Este controlador suporta o acesso direto à memória remota (RDMA) entre instâncias do Compute Engine. O RDMA transfere dados entre máquinas remotas e memória local através da interface de rede sem usar a CPU do anfitrião nem buffers do anfitrião intermédios.

As instâncias compatíveis com RDMA na nuvem requerem, pelo menos, duas interfaces de rede virtual (vNICs):

  • Uma vNIC para comunicação RDMA na nuvem que usa a rede IDPF e o controlador RDMA IRDMA. Esta vNIC não consegue estabelecer ligação à Internet. Uma instância só pode ter uma vNIC que use o RDMA na nuvem.
  • Uma vNIC para tráfego de rede normal. Esta vNIC está totalmente ligada à redeGoogle Cloud e pode ligar-se à Internet. Esta vNIC usa o controlador de rede gVNIC. Pode adicionar até oito interfaces de rede gVNIC adicionais, para um total de 10 vNICs por instância.

O controlador IRDMA é suportado com instâncias H4D.

Quando configurar uma vNIC que usa o controlador IRDMA, tem de especificar uma rede VPC criada através do perfil de rede Falcon RDMA.

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    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. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Apoio técnico a sistemas operativos

A Google recomenda a utilização da imagem de VM de HPC, que é fornecida com controladores RDMA na nuvem pré-instalados.

Das imagens de SO públicas fornecidas para Google Cloud, o controlador IRDMA RDMA é suportado com o seguinte:

  • Container-Optimized OS 117 LTS ou posterior
  • Rocky Linux 8 otimizado para as versões Google Cloud e posteriores otimizado para as versões Google Cloud

Vista geral da utilização do RDMA na nuvem com instâncias do Compute Engine

Para criar uma instância de computação que use o RDMA na nuvem, tem de ter, pelo menos, uma rede VPC normal e uma rede VPC Falcon. A rede VPC do Falcon usa o perfil de rede RDMA do Falcon para ativar o tráfego RDMA na nuvem entre instâncias H4D. Esta rede está separada da rede VPC normal que transporta tráfego não RDMA para outrosGoogle Cloud serviços ou a Internet.

As tarefas a concluir para criar uma instância de computação que use o RDMA na nuvem são as seguintes:

  1. Escolha uma imagem do SO pública que suporte o RDMA na nuvem ou crie uma imagem do SO personalizada etiquetada para usar o IRDMA.
  2. 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 de VPC do Falcon para o tráfego RDMA na nuvem
  3. Crie uma instância de computação com a imagem do SO pública ou personalizada. Durante a criação da instância, configure, pelo menos, duas interfaces de rede: uma que use o controlador de rede gVNIC e outra que use o controlador IRDMA RDMA.

  4. Verifique se o RDMA na nuvem está ativado.

Crie uma imagem do SO personalizada que suporte o RDMA na nuvem

Pode criar a imagem do SO através da Google Cloud CLI ou da REST. Para ver informações detalhadas e práticas recomendadas para criar imagens de SO personalizadas, consulte o artigo Crie imagens de SO personalizadas.

gcloud

  1. Selecione uma imagem do SO ou uma família de imagens que suporte o controlador e a interface IRDMA. Para mais informações, consulte os Detalhes do sistema operativo e selecione o separador Interfaces.

  2. Usando a imagem do SO ou a família de imagens do SO selecionada no passo anterior, crie uma imagem do SO personalizada. Para criar a imagem do SO personalizada, use o comando gcloud compute images create. Por exemplo, o comando seguinte cria uma imagem do SO personalizada que suporta o controlador IRDMA e se baseia numa imagem do SO específica.

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

    Substitua o seguinte:

    • IMAGE_NAME: o nome da imagem que quer criar
    • SOURCE_IMAGE: uma imagem de SO específica que suporta o controlador IRDMA, por exemplo: hpc-rocky-linux-8-v20250721

      Se quiser usar a imagem do SO mais recente numa família de imagens, substitua a flag --source-image pela flag --source-image-family e defina o respetivo valor para uma família de imagens que suporte o controlador 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 o artigo Práticas recomendadas para famílias de imagens.

REST

  1. Selecione uma imagem do SO ou uma família de imagens que suporte a interface de rede IRDMA. Para mais informações, consulte os detalhes do sistema operativo.

  2. Usando a imagem do SO ou a família de imagens do SO selecionada no passo anterior, crie uma imagem do SO usando o método images.insert.

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

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto no qual criar a nova imagem
    • IMAGE_NAME: um nome para a imagem personalizada
    • SOURCE_IMAGE_URI: o URI da imagem do SO ou da família de imagens específica que quer usar

      Por exemplo:

      • 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 especifica uma família de imagens, o Compute Engine cria uma VM a partir da imagem do SO não descontinuada mais recente nessa família. Para mais informações sobre quando usar famílias de imagens, consulte as práticas recomendadas para famílias de imagens.

Crie uma VM com suporte de controlador IRDMA

Pode criar uma VM com uma das imagens de SO públicas suportadas ou com uma imagem de SO personalizada criada através dos passos descritos no artigo Crie uma imagem de SO personalizada que suporte o IRDMA.

Para usar o RDMA na nuvem com a sua instância, tem de configurar várias interfaces de rede (NICs) para a instância. Uma NIC tem de usar o controlador GVNIC (especifique nic-type=GVNIC) e outra NIC tem de usar o controlador IRDMA (especifique nic-type=IRDMA).

Crie uma VM com uma imagem de SO pública

Para criar VMs com a imagem de VM de HPC ou uma imagem de SO pública que suporte o Cloud RDMA, siga as instruções nas páginas seguintes:

Crie uma VM com uma imagem de SO personalizada

Se criou uma imagem do SO personalizada que suporta o RDMA na nuvem, pode usar essa imagem do SO personalizada para criar uma VM através da Google Cloud consola, da CLI do Google Cloud ou do REST.

Para obter instruções sobre como criar uma instância com uma imagem personalizada, consulte o artigo Crie uma instância a partir de uma imagem personalizada.

Verifique se o RDMA na nuvem está ativado

Após a implementação da VM, execute o seguinte teste de largura de banda de desempenho para garantir que está a ser executado numa instância de VM com o Cloud RDMA ativado.

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 ligação única comunicada BW average [MB/s] deve atingir, pelo menos, 11 000 MBps para linhas superiores a 4096 B. São esperados valores mais pequenos para tamanhos de mensagens inferiores.

O que se segue?