O Hipercomputador de IA é um sistema de supercomputação que ajuda a implantar cargas de trabalho de inteligência artificial (IA) e machine learning (ML) de vários hosts usando máquinas com GPU. Os serviços de rede usados na implantação são determinados pelo tipo de máquina com GPU escolhido.
Este documento foi criado para ajudar arquitetos, engenheiros de rede e desenvolvedores a entender os serviços de rede subjacentes relacionados às máquinas de GPU. Neste documento, presumimos que você tenha familiaridade básica com conceitos de rede de nuvem e computação distribuída.
Entender os serviços de rede para máquinas GPU é a primeira etapa para implantar e gerenciar cargas de trabalho com sucesso, além de ser essencial para otimizar o desempenho e o goodput. O goodput, ou boa capacidade de processamento, mede o progresso efetivo de um sistema em uma tarefa de treinamento de ML. Essa métrica oferece mais insights quando comparada a outras, como tempo total decorrido ou taxa de transferência bruta.
Alguns tipos de máquinas com GPU têm uma hierarquia em camadas distinta que otimiza a comunicação em todos os níveis. Essa hierarquia varia desde a estrutura do data center até clusters otimizados para IA e instâncias do Compute Engine. As seções a seguir explicam esses componentes hierárquicos.
Arquitetura de rede para GPUs
O Hipercomputador de IA ajuda você a implantar máquinas de GPU que usam uma arquitetura de rede hierárquica e alinhada por rails. A conectividade previsível e de alta performance desse design minimiza o overhead de comunicação, o que melhora diretamente o goodput, permitindo que as GPUs passem mais tempo no processamento em vez de esperar pelos dados.
O arranjo de GPUs alinhado por rails consiste em três componentes principais:
- Sub-blocos:são unidades básicas formadas por um grupo de hosts fisicamente localizados em um único rack. Um switch top-of-rack (ToR) conecta esses hosts, permitindo uma comunicação extremamente eficiente, com um único salto, entre duas GPUs dentro do subbloco. O RDMA em Ethernet convergente (RoCE) facilita essa comunicação direta. Uma biblioteca NCCL aprimorada e otimizada para a topologia do Google alinhada por rails processa coletivos de comunicação de GPU.
- Blocos:são compostos de vários sub-blocos interconectados com malha não bloqueante, o que permite uma interconexão de alta largura de banda. É possível alcançar qualquer GPU dentro de um bloco com no máximo dois saltos de rede. O sistema expõe metadados de blocos e sub-blocos para permitir o posicionamento ideal do job.
- Clusters:são formados por vários blocos interconectados, que podem ser escalonados para milhares de GPUs e permitem executar cargas de trabalho de treinamento em grande escala. A comunicação entre diferentes blocos adiciona apenas mais um salto, mantendo alto desempenho e previsibilidade mesmo em escala massiva. Para ativar o posicionamento inteligente de jobs em grande escala, os metadados no nível do cluster também estão disponíveis para os orquestradores.
Tecnologias para comunicação entre GPUs
As máquinas com GPU usam uma combinação de tecnologias para oferecer alto desempenho, alta taxa de transferência e baixa latência para cargas de trabalho. Exemplos dessas tecnologias são o acesso direto à memória remota (RDMA) em Ethernet convergente (RoCE), as NICs NVIDIA e a topologia de rede alinhada por rails em todo o data center do Google.
Esses tipos de máquina usam a tecnologia NVLink da NVIDIA para criar caminhos de dados diretos e de altíssima velocidade entre as NICs da NVIDIA em cada máquina. Além disso, o RoCE permite um RDMA eficiente entre GPUs em máquinas diferentes.
Pilhas de rede de GPU
Uma pilha de rede é um conjunto de protocolos de software, drivers e camadas que trabalham juntos para implementar a comunicação entre GPUs. Diferentes tipos de máquinas com GPU usam pilhas de rede diferentes. A tabela a seguir define as pilhas de rede e os tipos de máquina associados a elas:
| Pilha de rede | Descrição | Tipo de máquina de GPU |
|---|---|---|
| RDMA do GPUDirect | O GPUDirect RDMA permite um caminho direto para a troca de dados entre uma GPU e outro dispositivo. Para instâncias A4X Max e A4X, essa pilha de rede usa RDMA em Ethernet convergente (RoCE). Essa tecnologia permite que dispositivos semelhantes leiam e gravem diretamente na memória da GPU, ignorando a CPU para criar uma conexão mais eficiente para troca de dados de alta performance. Para mais informações, consulte Opções de configuração de cluster com GPUDirect RDMA. | |
| GPUDirect-TCPXO | O GPUDirect-TCPXO melhora o GPUDirect-TCPX ao fazer o descarregamento do protocolo TCP. Usando o GPUDirect-TCPXO, o tipo de máquina A3 Mega dobra a largura de banda da rede em comparação com os tipos de máquina A3 High e A3 Edge. Para informações sobre como maximizar a largura de banda da rede em clusters do GKE que usam o GPUDirect-TCPXO, consulte Maximizar a largura de banda da rede da GPU em clusters do modo Standard e selecione a guia "GPUDirect-TCPXO". | |
| GPUDirect-TCPX | O GPUDirect-TCPX aumenta o desempenho da rede ao permitir que os payloads de pacotes de dados sejam transferidos diretamente da memória da GPU para a interface de rede. Para informações sobre como maximizar a largura de banda da rede em clusters do GKE que usam o GPUDirect-TCPX, consulte Maximizar a largura de banda da rede da GPU em clusters do modo Standard e selecione a guia GPUDirect-TCPX. |
Rede do plano de dados de host e armazenamento
um caminho de rede separado é responsável por todo o tráfego indireto entre as GPUs. Esse tráfego inclui acesso ao Cloud Storage, gerenciamento no nível do host e comunicação com outros serviços Google Cloud . Para gerenciar esse tráfego, os tipos de máquina com GPU usam NICs Google Titanium.
As NICs Titanium descarregam tarefas de processamento da rede da CPU, liberando a CPU para se concentrar nas suas cargas de trabalho. Essa separação garante que o tráfego de uso geral e o tráfego dedicado de GPU para GPU usem interfaces físicas diferentes, evitando que eles disputem os mesmos recursos do sistema.
Ambiente com várias VPCs
Todas as cargas de trabalho operam na nuvem privada virtual (VPC) do Google Cloud.
As máquinas aceleradoras de alto desempenho têm um design de hardware especializado que usa várias interfaces de rede físicas para lidar com diferentes tipos de tráfego. Para lidar com esse hardware especializado, é necessário um ambiente com várias VPCs, independente de você usar o Slurm, o GKE ou o Compute Engine para executar as cargas de trabalho.
A configuração específica de várias VPCs depende do tipo de máquina GPU e da pilha de rede:
A4X Max, A4X, A4 e A3 Ultra com GPUDirect RDMA:essas máquinas usam a rede VPC padrão para tráfego de host de uso geral (gVNIC) e exigem uma rede VPC adicional para tráfego de host de uso geral e uma rede VPC compartilhada para todo o tráfego de GPU para GPU. A VPC de tráfego de GPU precisa ter o perfil de rede RDMA ativado. Para mais informações sobre essa configuração para VMs A4 e A3 Ultra, consulte Criar VPC e sub-redes.
A3 Mega com GPUDirect-TCPXO:essas máquinas exigem oito VPCs separadas para as NICs de GPU, que são dedicadas à comunicação de alta largura de banda. Para etapas detalhadas sobre como concluir essa configuração, consulte Criar VPCs e sub-redes.
A3 High com GPUDirect-TCPX:essas máquinas exigem quatro VPCs separadas para as NICs de GPU, que são dedicadas à comunicação de alta largura de banda. Para etapas detalhadas sobre como concluir essa configuração, consulte Criar VPCs e sub-redes.
Essa configuração de várias VPCs garante que as operações de armazenamento e outras tarefas do sistema não disputem largura de banda com comunicações críticas entre GPUs.
A configuração de rede multi-VPC necessária que você precisa definir varia de acordo com o tipo de máquina com GPU. Para um guia detalhado sobre o arranjo de rede, as velocidades de largura de banda e as NICs para todos os tipos de máquinas GPU compatíveis, consulte Redes e máquinas GPU.
O diagrama a seguir mostra a arquitetura de rede para uma máquina com GPU, destacando a separação do tráfego de uso geral e do tráfego dedicado de GPU para GPU em diferentes planos de rede.

Como mostrado no diagrama anterior, as máquinas com GPU usam caminhos de rede dedicados para diferentes tipos de tráfego. O tráfego de uso geral, incluindo gerenciamento e acesso ao armazenamento, flui pelas NICs Google Titanium, que estão conectadas a uma VPC. A comunicação de alto desempenho entre GPUs usa interfaces de rede e VPCs separadas, otimizadas com tecnologias como RDMA, garantindo alta largura de banda e baixa latência para cargas de trabalho de IA e ML.
Componentes e bibliotecas de rede
Para maximizar a largura de banda e o desempenho da rede, as seguintes bibliotecas e componentes de rede permitem usar GPUs com a pilha de rede do Google:
- gVNIC:a placa de rede virtual do Google (gVNIC) é uma interface de rede virtual projetada especificamente para o Compute Engine. A gVNIC melhora o desempenho, aumenta a consistência e reduz os problemas de vizinhos ruidosos. Ela é compatível e recomendada para todas as famílias, tipos e gerações de máquinas, sendo a vNIC recomendada para comunicação host-to-host. Para mais informações, consulte Como usar a NIC virtual do Google.
- NCCL:a NVIDIA Collective Communications Library (NCCL) oferece primitivas otimizadas para operações de comunicação coletiva. Ele foi projetado especificamente para ambientes com várias GPUs e vários nós, usando GPUs e rede NVIDIA. Execute testes da NCCL para avaliar o desempenho dos clusters implantados. Para mais informações, consulte Implantar e executar um teste do NCCCL.
- Várias redes do GKE:o suporte a várias redes para pods permite várias interfaces em nós e pods em um cluster do GKE. Para detalhes sobre como configurar várias redes no contexto do GPUDirect, consulte Maximizar a largura de banda da rede da GPU em clusters no modo Standard e Opções de configuração de cluster com RDMA do GPUDirect.
Para mais detalhes sobre as stacks de software disponíveis, consulte Imagens do SO e do Docker.
A seguir
- Saiba mais sobre serviços de rede para implantações de cluster e VM.
- Saiba mais sobre as práticas recomendadas para redes no hipercomputador de IA.
- Saiba mais sobre os tipos de máquinas com GPU e os serviços de armazenamento para o Hipercomputador de IA.