¿Qué es NVIDIA NVLink?

Introducción

Con el rápido desarrollo de la tecnología AI y HPC, la interconexión de alta velocidad y la escalabilidad de las GPU han planteado requisitos más altos, una tecnología de interconexión de alto rendimiento, alto ancho de banda y baja latencia es fundamental para la mejora general del rendimiento informático de la IA. En abril de este año, Lao Huang propuso la tercera generación de NVIDIA NVSwitch y la cuarta generación de tecnología NVLink en la conferencia GTC, que proporciona una solución de interconexión punto a punto de alta velocidad para las GPU H100 recientemente lanzadas que es incluso más rápida que las GPU A100, y este tipo de red tiene el prototipo de la red NVLink.

El chip NVSwitch de tercera generación, denominado NVSwitch3, se puede utilizar para conectar cada tarjeta GPU dentro del servidor y ampliar la conexión externa del servidor GPU para establecer un clúster de GPU de alta velocidad completamente independiente. Al mismo tiempo, el chip NVSwitch admite la aceleración de mensajes de multidifusión a través de pedales de aceleración de hardware e introduce SHARP (Protocolo de reducción y agregación jerárquica escalable), que es una característica importante que antes solo estaba disponible en los conmutadores IB y se utiliza principalmente para acelerar y optimizar el Reducir el cálculo de la IA. -Reducir el rendimiento informático de la IA. Mientras tanto, a través del chip NVSwitch de tercera generación compuesto por conmutadores físicos, es posible construir un grupo de hasta 256 tarjetas GPU H100, y toda la red proporciona 57.6 TB/s de ancho de banda total. La especificación NVLink 4.0 que adopta puede optimizar en gran medida el rendimiento y la escalabilidad de la GPU, como la estructura de bloques de proceso paralelo de la arquitectura de la GPU que hace eco de la estructura paralela de NVLink, mientras que la interfaz de NVLink se optimiza aún más para el intercambio de datos en la caché L2 de la GPU.

chip NV Switch
NVLink

NVLink es un protocolo para resolver la comunicación punto a punto entre GPU dentro del servidor, la velocidad de conmutación PCIe tradicional es la siguiente, el último PCIE5.0 tiene solo un ancho de banda de 32 Gbps por carril, lo que básicamente no satisface los requisitos de ancho de banda de comunicación entre las GPU, y con la tecnología NVLink, las GPU pueden estar directamente en el servidor interno. Con la tecnología NVLink, las GPU pueden interconectarse directamente entre sí dentro del servidor a altas velocidades, sin la necesidad de comunicarse a través de conmutadores PCIe. El NVLink de cuarta generación tiene un ancho de banda de 112 Gbps por carril, que es tres veces mayor que el ancho de banda de un carril PCIe Gen5.

Rendimiento del enlace PCI Express

El objetivo principal de NVLink es proporcionar una red punto a punto de alta velocidad para Interconexiones de GPU sin la sobrecarga de la retransmisión de mensajes de un extremo a otro, el enrutamiento adaptativo y el reensamblaje de mensajes en comparación con las redes tradicionales. La interfaz NVLink extremadamente simplificada proporciona aceleración CUDA desde la capa de sesión a la capa de representación y a la capa de aplicación, lo que reduce aún más la sobrecarga de la red debido a la comunicación.

HC34-NVIDIA-NVSwitch-NVLink-Generaciones
Ancho de banda NVlink por GPU

Como se muestra en la figura, podemos ver que NVLink ha evolucionado junto con la arquitectura de GPU, desde el NVLink1 de primera generación para P100 hasta el actual NVLink4 para H100. NVLink3 admite 50G NRZ y 56G PAM4, mientras que NVLink4 presenta 112G PAM4 Serdes por primera vez, que puede proporcionar 900 GB/s de ancho de banda bidireccional, un aumento de 1.5 veces con respecto a los 3 GB/s de la generación anterior NVLink600. Entonces, ¿cómo se calculan 900 GB/s? Cada GPU H100 está conectada a un chip NVSwitch3 interno a través de 18 enlaces NVLink4, y cada enlace NVLink4 tiene en realidad dos carriles, cada carril es 112G PAM4, por lo que un único enlace NVLink4 tiene un ancho de banda unidireccional de 224 Gbps o 25 GB/s (tenga en cuenta que aquí cambia de bits a bytes) ancho de banda unidireccional, ancho de banda bidireccional de 50 GB/s y 18 enlaces NVLink4 tienen un ancho de banda bidireccional total de 900 GB/s.

Conmutador NV Viruta

Chip NVSwitch de tres generaciones

Un chip NVSwitch es un tipo de conmutador ASIC que puede vincular múltiples GPU con interfaces NVLink de alta velocidad, mejorando la comunicación y el ancho de banda entre las GPU dentro de un servidor. Cuando P100 usaba NVLink1, no había ningún chip NVSwitch y las GPU formaban una conexión en anillo, lo que impedía la comunicación directa entre las GPU en diferentes nodos NUMA. A partir de V100 con NVLink2, se agregó un chip NVSwitch1 y luego A100 con NVLink3 usó el chip NVSwitch2. El siguiente es el chip NVSwith3 para H100.

nvlink-4-nvswitch
NVlink más nítido

El chip está fabricado con el proceso 4N de TSMC y contiene 25.1 mil millones de transistores en una matriz de 294 milímetros cuadrados. El chip mide 50 mm por 50 mm y cuenta con un controlador SHARP que puede manejar 128 grupos paralelos SHARP simultáneamente. También tiene incorporado un SHARP ALU, que puede realizar operaciones lógicas en los datos almacenados en la memoria SRAM que admite el cálculo SHARP. SHARP ALU permite que NVSwitch alcance 400 GFLOPS de rendimiento informático FP32 y también admite varios modos de precisión, como FP16, FP32, FP64 y BF16. El chip puede interactuar con Ethernet de 400 Gbps o NDR IB conexiones a través de su circuito PHY, y cada jaula puede acomodar cuatro módulos ópticos NVLink4 OSFP con capacidad FEC. El chip tiene características de seguridad que permiten dividir la red NVLink en subredes, así como funciones de monitoreo de telemetría similares a IB. El chip NVSwitch3 tiene 64 puertos NVLink4, cada uno con dos carriles que ofrecen 200 Gbps de ancho de banda unidireccional. Por lo tanto, el chip puede offTiene un total de 64*200 Gbps = 12.8 Tbps de ancho de banda unidireccional o 3.2 TB/s de ancho de banda bidireccional.

-2 veces el ancho de banda NVlink efectivo

El chip NVSwitch3 es el primero en integrar toda la función SHARP, que utiliza hardware para agregar y actualizar los resultados de cálculo de múltiples unidades GPU durante todo el proceso de reducción, reduciendo así la cantidad de paquetes de red y mejorando el rendimiento computacional.

HC34-NVIDIA-NVSwitch-NVLink-Generations-Server-cualquiera-a-cualquiera

El servidor NVLink se refiere a un servidor que utiliza la tecnología NVLink y NVSwitch para interconectar GPU, generalmente los servidores de la serie DGX de NVIDIA o servidores OEM HGX con arquitecturas similares.

PCIe

El servidor DGX-1 con GPU P100 no introdujo NVSwitch y las 8 GPU estaban conectadas mediante NVLink1, y cada P100 tenía 4 conexiones NVLink1. NVSwitch1 y NVLink2 se introdujeron en la arquitectura de GPU NVIDIA V100, proporcionando un gran ancho de banda y conexión cualquiera entre varias GPU dentro de un servidor. NVSwitch2 y NVLink3 se lanzaron en la GPU NVIDIA A100.

Diagrama interno del servidor DGX A100

En el diagrama interno del servidor DGX A100 anterior, la conexión entre la GPU y la CPU se realiza a través de un conmutador PCIe, y la conexión entre 8 GPU se realiza principalmente a través de 6 chips NVSwitch2. Cada GPU se conecta al chip NVSwitch2 con 12 NVlink3, y cada NVlink3 tiene un ancho de banda unidireccional de 25 GB, lo que puede proporcionar un total de 12*25 GB = 300 GB/s de ancho de banda unidireccional o 600 GB/s de ancho de banda bidireccional para una GPU. Echemos un vistazo a los parámetros del servidor DGX H100:

DGX H100
  • 8 GPU NVIDIA H100 Tensor Core con 640 GB de memoria GPU agregada
  • 4 chips NVIDIA NVSwitch de tercera generación
  • 18 OSFP de red NVLink
  • 3.6 TB/s de ancho de banda de red NVLink full-duplex proporcionado por 72 NVLink
  • 8 puertos NVIDIA ConnectX-7 Ethernet/InfiniBand
  • 2 DPU BlueField-3 de doble puerto
  • CPU duales Sapphire Rapids
  • Soporte para PCIe Gen 5 
GPU H100
Soporte de red NVlink

La GPU H100 introdujo la tecnología NVSwitch de tercera generación y NVLink de cuarta generación, que pueden proporcionar un ancho de banda unidireccional de 450 GB/s para una sola GPU H100. También introdujo un conmutador NVLink Switch externo de tipo caja 1U, que proporciona comunicación de alta velocidad para múltiples servidores GPU. Hay 8 GPU H100 en el DGX H100 y cada H100 está conectado a 4 chips NVSwitch3 con 18 NVLink (5,4,4,5) al mismo tiempo. El tráfico entre GPU se distribuye en 4 planos de conmutación, logrando así un tráfico total dentro de la GPU. Cada chip NVSwitch3 interno tiene una relación de convergencia de 2:1 para el NVLink externo, diseñado principalmente para considerar la complejidad y el costo del ancho de banda de la conexión entre servidores.

Conmutador NV

El conmutador NVLlink acaba de ser lanzado este año y nació para la interconexión del H100 Superpod. Adopta un diseño de tamaño 1U con 32 puertos OSFP, cada OSFP comprende 8 carriles PAM112 de 4G y cada conmutador tiene 2 chips NVSwitch3 integrados. Cada NVSwitch3 tiene 64 NVLink4, por lo que dos chips pueden proporcionar hasta 128 interfaces NVLink4, proporcionando 128*400 Gbps = 51.2 TBps de ancho de banda unidireccional o 6.4 TB/s de ancho de banda bidireccional. El conmutador NVLink admite puertos de administración fuera de banda, cables DAC y cables AOC y OSFP con firmware específico. Aún no hay información pública sobre este módulo OSFP. Se supone que la apariencia es similar a la forma NDR OSFP que aparece a continuación. Dos puertos MPO conectan cada uno un 400G o conectan directamente un puerto 800G a un 24 núcleos cables MPO.

Con el conmutador físico NVSwitch, podemos conectar varios servidores GPU NVLink a una gran red Fabric, que es la red NVLink. Esta red está diseñada principalmente para resolver los problemas de eficiencia y ancho de banda de comunicación de alta velocidad entre GPU y no incluye la red de computación ni la red de almacenamiento entre CPU. En la era sin el Red NVLink, cada servidor asigna internamente espacio de direcciones local para las GPU y luego se comunican entre sí a través de NVLink. En la red NVLink, cada servidor tiene su propio espacio de direcciones independiente, que se utiliza para proporcionar transmisión de datos, aislamiento y protección de seguridad para las GPU en la red NVLink. Cuando se inicia el sistema, la red NVLink establece conexiones automáticamente a través de API de software y puede cambiar de dirección en cualquier momento durante la operación.

Red NVLink

La siguiente figura compara la red NVLink y la red Ethernet tradicional. Se puede ver que a través de NVlink, el chip NVSwitch y el conmutador NVSwitch, se puede formar una red NVLink que es independiente de IP Ethernet y dedicada al servicio GPU.

comparación

DGX H100 SuperPOD

DGX H100 SuperPOD

Un SuperPOD consta de ocho bastidores, cada uno con cuatro servidores DGX H100, para un total de 32 servidores y 256 tarjetas GPU H100, lo que ofrece 1 exaFLOP (un quintillón) de rendimiento de IA disperso de precisión del FP8. La red NVLink dentro de este SuperPOD puede proporcionar un total de 57.6 TB/s de ancho de banda bidireccional para 256 GPU, mientras que el CX7 dentro de los 32 servidores DGX H100 puede interconectarse con el conmutador IB, proporcionando 25.6 TB/s de ancho de banda bidireccional. , que permite usar o conectar varios SuperPOD dentro de un POD.

Redes de superpods

NVS es el chip NVSwitch3 mencionado anteriormente y L2NVS es el conmutador físico NVSwitch mencionado anteriormente. Cada GPU en un DGX H100 extiende 18 conexiones NVLink4 hacia el norte, proporcionando un ancho de banda bidireccional de 1850 GB = 900 GB/s. Estos 18 NVLink4 están divididos en cuatro grupos de 5,4,4,5 y conectados a cuatro chips NVSwitch3 integrados. De esta manera, para 8 GPU, cada chip NVS conecta 40,32,32,40 NVLink4 hacia el sur, para un total de 114 NVLink4, y luego cada chip NVS hace una convergencia 2:1, conectando 4,4,4,4 NVLink4. hacia el norte hasta los 18 L2NVS externos, que son los conmutadores NVSwitch 1U que mencionamos anteriormente. Estos interruptores se dividen en cuatro grupos de 5,4,4,5. Por lo tanto, un único chip NVS integrado conecta 20,16,16,20 NVLink4 hacia el norte, para un total de 72 NVLink4 y 114 NVLlink4 hacia el sur, formando una relación de convergencia de 2:1. Aquí cada NVLink4 consta de dos carriles 112G PAM4, por lo que cada cuatro enlaces NVLink requieren un par de 800G OSFP Módulos para conectar de extremo a extremo. De esta manera, la mitad superior de la figura muestra una red de alta velocidad de interconexión total de GPU que forma una red NVlink.  

Chip NVSwitch3

El siguiente vídeo muestra cómo utilizar 800G OSFP SR8 en conmutadores NVIDIA Quantum-2.

La interconexión entre la GPU y la CPU se realiza a través del Switch PCIe GEN5 dentro de la tarjeta de red CX7. La tarjeta de red CX7 dentro del DGX H100 no tiene la forma de ocho tarjetas de red CX6 independientes como en el DGX A100 anterior, sino que está formada por dos placas con chips de tarjeta de red para conectar al servidor. Cada uno de los cuatro chips CX7 forma una placa Cedar y genera dos 800G OSFP puertos. Ocho chips de tarjeta de red CX7 forman dos placas Cedar y generan un total de cuatro puertos OSFP 800G. Esto proporciona un ancho de banda bidireccional de 800 Gbps4*2=800 GB/s. La tarjeta de red CX7 aquí puede ejecutar RoCE en modo Ethernet o ejecutarse en la red NDR IB. Como se muestra en la figura siguiente, se pueden construir 1024 GPU en cuatro SuperPOD H100 con la topología de árbol grueso de NDR IB.

Cada DGX H100 también tiene dos Bluefield 3 para conectarse a la red de almacenamiento.

Cada DGX H100 también tiene dos Bluefield 3 para conectarse a la red de almacenamiento.

¿Qué tan rápida será la conexión de la GPU H100 después de usar la red NVLink, en comparación con la red IB del A100? Aquí hay una comparación de ancho de banda entre el DGX A100 256 POD y el DGX H100 256 POD:

Comparativa entre el DGX A100 256 POD y el DGX H100 256 POD

La bisección es un indicador de rendimiento de la cantidad de datos que cada GPU necesita enviar a todas las demás GPU simultáneamente en un escenario de todos a todos. Por lo general, calcula el ancho de banda de la red cuando la mitad de los nodos de la red envían datos a la otra mitad y, por lo general, mide el tráfico sin bloqueo 1:1. 1 DGX A100 interno: 8/2600 GB/s=2400 GB/s 32 DGX A100 internos, un total de 256 GPU A100, cada servidor conectado mediante 8 tarjetas HDR de 200 Gbps y el conmutador TOR debe tener una relación de convergencia 4:1: 256/ 2/4200 GB/s = 6400 GB/s 1 DGX H100 interno: 8/2900 GB/s = 3600 GB/s 32 DGX H100 internos, la relación de convergencia de red es 2:1, por lo tanto: 256/2/2900 GB/s = 57600 GB/s (de donde proviene la mención anterior de 57.6 TB/s) La bisección de un solo DGX puede aumentar el ancho de banda en 1.5 veces y el ancho de banda bidireccional en 3 veces, y la bisección de 32 DGX puede aumentar el ancho de banda en 9 veces y el ancho de banda bidireccional en 4.5 veces.

motor de recomendación neuronal

Como se muestra en la figura, para entrenar un sistema de recomendación con una tabla integrada de 14 TB que se ejecuta en el modelo de datos all2all, el H100 con NVLink tiene un rendimiento mayor que el H100 con IB. Los siguientes son los resultados públicos de NCCL de la comparación de ancho de banda total y reducido para GPU múltiples y GPU de múltiples nodos que se ejecutan en el servidor. Al optimizar NVLink4 y NVSwitch3, el H100 puede lograr un ancho de banda constante para múltiples tarjetas internas y externas.

todos reducen el rendimiento
ancho de banda total

Conclusión

Conclusión

Las tecnologías NVlink y NVSwitch se desarrollan para satisfacer las necesidades de comunicación punto a punto y punto a multipunto de alta velocidad y baja latencia para múltiples GPU. También están innovando constantemente con los cambios en las arquitecturas de GPU. Desde que adquirió Mellanox, NVIDIA también ha comenzado a combinar la tecnología NVLink y la tecnología IB, lanzando una nueva generación de chips y conmutadores NVSwitch con funciones SHARP, que están optimizados para redes externas de servidores GPU. La escala de red NVLink actual que admite hasta 256 GPU es solo el comienzo. Se cree que esta escala de red NVlink se desarrollará y mejorará aún más en el futuro, y tal vez cree un clúster de supercomputación adecuado para computación con IA, computación con CPU, almacenamiento y otras integraciones de red.

Deja un comentario

Ir al Inicio