Como usar o driver IRDMA Cloud RDMA

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 a 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, para um total de 10 vNICs por instância.

O driver IRDMA é compatível com instâncias H4D.

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

Suporte ao sistema operacional

O Google recomenda o uso da imagem de VM de HPC, que vem com drivers do Cloud RDMA pré-instalados.

Das imagens públicas do SO fornecidas para Google Cloud, o driver IRDMA RDMA é compatível com o seguinte:

  • 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.

Estas são as tarefas a serem concluídas para criar uma instância de computação que usa o Cloud RDMA:

  1. Escolha uma imagem do SO pública compatível com o Cloud RDMA ou crie uma imagem do SO personalizada marcada para usar 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 VPC do Falcon para o tráfego do Cloud RDMA
  3. Crie uma instância de computação usando 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 driver de rede gVNIC e outra que utilize o driver IRDMA RDMA.

  4. Verifique se o Cloud RDMA está ativado.

Criar uma imagem do SO personalizada compatível com o Cloud RDMA

É possível criar a imagem do SO usando a Google Cloud CLI ou REST. Para informações detalhadas e práticas recomendadas para criar imagens de SO personalizadas, consulte Criar imagens personalizadas de SO.

gcloud

  1. 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.

  2. 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 create comando. Por exemplo, o comando a seguir cria uma imagem do SO personalizada compatível com o driver IRDMA e baseada em uma imagem específica do SO.

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

    Substitua:

    • 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-image pela flag --source-image-family e 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

  1. 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.

  2. Usando a imagem do SO ou a família de imagens selecionada na etapa anterior, crie uma imagem do SO usando o images.insert mé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 personalizada
    • SOURCE_IMAGE_URI: o URI da imagem do SO ou família de imagens específica que você quer usar

      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 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.

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 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:

Criar uma VM usando uma imagem do SO personalizada

Se você criou uma imagem do SO personalizada compatível com o Cloud RDMA, use essa imagem do SO personalizada para criar uma VM usando o Google Cloud console, a Google Cloud CLI ou a REST.

Para instruções sobre como criar uma instância usando uma imagem personalizada, consulte Criar uma instância de uma imagem personalizada.

Verificar se o Cloud RDMA está ativado

Depois que a VM for implantada, execute o teste de largura de banda de desempenho a seguir para garantir que você esteja executando em uma instância de VM ativada para 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 mais baixos.

A seguir