AI Hypercomputer es un sistema de supercomputación que te ayuda a implementar cargas de trabajo de Inteligencia Artificial (IA) y aprendizaje automático (AA) de varios hosts con máquinas con GPU. Los servicios de red subyacentes que usas en la implementación se determinan según el tipo de máquina de GPU que elijas.
Este documento tiene como objetivo ayudar a los arquitectos, ingenieros de redes y desarrolladores a comprender los servicios de red subyacentes relacionados con las máquinas con GPU. En este documento, se supone que tienes conocimientos básicos de redes en la nube y conceptos de procesamiento distribuido.
Comprender los servicios de redes de máquinas con GPU es el primer paso para implementar y administrar tus cargas de trabajo de forma exitosa, y es fundamental para optimizar el rendimiento y el rendimiento útil. El procesamiento útil mide el progreso efectivo que realiza un sistema en una tarea de entrenamiento de AA. Esta métrica ofrece estadísticas adicionales en comparación con otras métricas, como el tiempo total transcurrido o la tasa de procesamiento sin procesar.
Algunos tipos de máquinas con GPU tienen una jerarquía estratificada distinta que optimiza la comunicación en todos los niveles. Esta jerarquía abarca desde la estructura del centro de datos hasta los clústeres optimizados para IA y las instancias de Compute Engine. En las siguientes secciones, se explican estos componentes jerárquicos.
Arquitectura de red de GPU
AI Hypercomputer te ayuda a implementar máquinas con GPU que usan una arquitectura de red jerárquica y alineada con rieles. La conectividad predecible y de alto rendimiento de este diseño minimiza la sobrecarga de comunicación, lo que mejora directamente el rendimiento útil, ya que permite que las GPUs dediquen más tiempo al procesamiento en lugar de esperar los datos.
La disposición de las GPUs alineadas con el riel consta de tres componentes principales:
- Subbloques: Son unidades fundamentales que se componen de un grupo de hosts que se encuentran físicamente en un mismo bastidor. Un conmutador de la parte superior del rack (ToR) conecta estos hosts, lo que permite una comunicación de un solo salto extremadamente eficiente entre dos GPUs dentro del subbloque. RDMA over Converged Ethernet (RoCE) facilita esta comunicación directa. Una biblioteca de NCCL mejorada y optimizada para la topología alineada con los rieles de Google controla las comunicaciones colectivas de la GPU.
- Bloques: Están compuestos por múltiples subbloques interconectados con una estructura no bloqueante, lo que permite una interconexión de ancho de banda alto. Se puede acceder a cualquier GPU dentro de un bloque en un máximo de dos saltos de red. El sistema expone metadatos de bloques y subbloques para permitir la colocación óptima de trabajos.
- Clústeres: Están formados por varios bloques interconectados, que pueden escalar a miles de GPUs y te permiten ejecutar cargas de trabajo de entrenamiento a gran escala. La comunicación entre diferentes bloques solo agrega un salto adicional, lo que mantiene un alto rendimiento y previsibilidad incluso a gran escala. Para habilitar la colocación inteligente de trabajos a gran escala, los orquestadores también tienen acceso a los metadatos a nivel del clúster.
Tecnologías para la comunicación entre GPU
Las máquinas con GPU usan una combinación de tecnologías para proporcionar un alto rendimiento, un alto procesamiento y una latencia baja para las cargas de trabajo. Estas tecnologías incluyen RDMA a través de Ethernet convergida (RoCE), NIC de NVIDIA y la topología de red alineada con rieles de Google en todo el centro de datos.
Estos tipos de máquinas usan la tecnología NVLink de NVIDIA para crear rutas de datos directas y de velocidad ultrarrápida entre las NIC de NVIDIA en cada máquina. Además, RoCE permite RDMA eficiente entre GPUs en diferentes máquinas.
Pilas de redes de GPU
Una pila de redes es una colección de protocolos, controladores y capas de software que funcionan en conjunto para implementar la comunicación entre GPU. Los diferentes tipos de máquinas con GPU usan diferentes pilas de redes. En la siguiente tabla, se definen las pilas de redes y sus tipos de máquinas asociados:
| Pila de red | Descripción | Tipo de máquina con GPU |
|---|---|---|
| GPUDirect RDMA | GPUDirect RDMA habilita una ruta directa para el intercambio de datos entre una GPU y otro dispositivo. En el caso de las instancias A4X Max y A4X, esta pila de redes usa RDMA a través de Ethernet convergente (RoCE). Esta tecnología permite que los dispositivos pares lean y escriban directamente en la memoria de la GPU, lo que evita el uso de la CPU para crear una conexión más eficiente para el intercambio de datos de alto rendimiento. Para obtener más información, consulta Opciones de configuración del clúster con RDMA de GPUDirect. | |
| GPUDirect-TCPXO | GPUDirect-TCPXO mejora GPUDirect-TCPX descargando el protocolo TCP. Con GPUDirect-TCPXO, el tipo de máquina A3 Mega duplica el ancho de banda de red en comparación con los tipos de máquinas A3 High y A3 Edge. Para obtener información sobre cómo maximizar el ancho de banda de la red en clústeres de GKE que usan GPUDirect-TCPXO, consulta Maximiza el ancho de banda de red de la GPU en clústeres en modo estándar y selecciona la pestaña GPUDirect-TCPXO. | |
| GPUDirect-TCPX | GPUDirect-TCPX aumenta el rendimiento de la red, ya que permite que las cargas útiles de los paquetes de datos se transfieran directamente de la memoria de GPU a la interfaz de red. Para obtener información sobre cómo maximizar el ancho de banda de la red en clústeres de GKE que usan GPUDirect-TCPX, consulta Maximiza el ancho de banda de red de la GPU en clústeres en modo estándar y selecciona la pestaña GPUDirect-TCPX. |
Red del plano de datos de host y almacenamiento
Una ruta de red independiente controla todo el tráfico que no es comunicación directa entre GPU. Este tráfico incluye el acceso a Cloud Storage, la administración a nivel del host y la comunicación con otros servicios de Google Cloud . Para administrar este tráfico, los tipos de máquinas con GPU usan NICs de Google Titanium.
Las NIC de Titanium transfieren las tareas de procesamiento de red de la CPU, lo que permite que esta se enfoque en tus cargas de trabajo. Esta separación garantiza que el tráfico de uso general y el tráfico dedicado de GPU a GPU usen diferentes interfaces físicas, lo que evita que compitan por los mismos recursos del sistema.
Entorno de varias VPC
Todas las cargas de trabajo operan dentro de la nube privada virtual (VPC) de Google Cloud.
Las máquinas aceleradoras de alto rendimiento tienen un diseño de hardware especializado que usa varias interfaces de red físicas para controlar diferentes tipos de tráfico. Para controlar este diseño de hardware especializado, se requiere un entorno de varias VPC, independientemente de si usas Slurm, GKE o Compute Engine para ejecutar tus cargas de trabajo.
La configuración específica de varias VPC depende del tipo de máquina con GPU y de su pila de redes:
A4X Max, A4X, A4 y A3 Ultra con GPUDirect RDMA: Estas máquinas usan la red de VPC predeterminada para el tráfico de host de uso general (gVNIC) y requieren una red de VPC adicional para el tráfico de host de uso general y una red de VPC compartida para todo el tráfico de GPU a GPU. La VPC de tráfico de GPU debe tener habilitado el perfil de red de RDMA. Para obtener más información sobre esta configuración para las VMs A4 y las VMs A3 Ultra, consulta Crea una VPC y subredes.
A3 Mega con GPUDirect-TCPXO: Estas máquinas requieren ocho VPC independientes para las NIC de GPU, que se dedican a la comunicación de alto ancho de banda. Para obtener información detallada sobre cómo completar esta configuración, consulta Crea VPC y subredes.
A3 High con GPUDirect-TCPX: Estas máquinas requieren cuatro VPC independientes para las NIC de GPU, que se dedican a la comunicación de alto ancho de banda. Para obtener información detallada sobre cómo completar esta configuración, consulta Crea VPC y subredes.
Esta configuración de varias VPC garantiza que las operaciones de almacenamiento y otras tareas del sistema no compitan por el ancho de banda con las comunicaciones críticas de GPU a GPU.
La configuración de red de varias VPC que necesitas establecer difiere según el tipo de máquina con GPU. Si deseas obtener una guía detallada sobre la disposición de la red, las velocidades de ancho de banda y las NIC para todos los tipos de máquinas con GPU compatibles, consulta Redes y máquinas con GPU.
En el siguiente diagrama, se muestra la arquitectura de red para una máquina con GPU, en la que se destaca la separación del tráfico de uso general y el tráfico dedicado de GPU a GPU en diferentes planos de red.

Como se muestra en el diagrama anterior, las máquinas con GPU usan rutas de red dedicadas para diferentes tipos de tráfico. El tráfico de uso general, incluido el acceso al almacenamiento y la administración, fluye a través de las NIC de Google Titanium que están conectadas a una VPC. La comunicación de alto rendimiento entre GPU usa interfaces de red y VPC independientes, optimizadas con tecnologías como RDMA, lo que garantiza un alto ancho de banda y una baja latencia para las cargas de trabajo de IA y AA.
Bibliotecas y componentes de redes
Para maximizar el ancho de banda y el rendimiento de la red, las siguientes bibliotecas y componentes de redes te permiten usar GPUs con la pila de redes de Google:
- gVNIC: La NIC virtual de Google (gVNIC) es una interfaz de red virtual diseñada específicamente para Compute Engine. La gVNIC mejora el rendimiento, aumenta la coherencia y reduce los problemas de vecinos ruidosos. Es compatible y se recomienda en todas las familias, tipos y generaciones de máquinas, y es la vNIC recomendada para la comunicación de host a host. Para obtener más información, consulta Usa la NIC virtual de Google.
- NCCL: La biblioteca de comunicación colectiva de NVIDIA (NCCL) proporciona elementos primitivos optimizados para las operaciones de comunicación colectiva. Está diseñado específicamente para entornos de varias GPUs y varios nodos, y utiliza GPUs y redes de NVIDIA. Ejecuta pruebas de NCCL para evaluar el rendimiento de los clústeres implementados. Para obtener más información, consulta Implementa y ejecuta la prueba de NCCCL.
- Redes múltiples de GKE: La compatibilidad con varias redes para Pods permite varias interfaces en nodos y Pods en un clúster de GKE. Para obtener detalles sobre cómo configurar varias redes en el contexto de GPUDirect, consulta Maximiza el ancho de banda de red de la GPU en clústeres en modo estándar y Opciones de configuración del clúster con RDMA de GPUDirect.
Para obtener más detalles sobre las pilas de software disponibles, consulta Imágenes de SO y Docker.
¿Qué sigue?
- Obtén más información sobre los servicios de red para implementaciones de clústeres y VMs.
- Obtén más información sobre las prácticas recomendadas para las redes en AI Hypercomputer