InfiniBand vs RoCEv2: Optimizando redes para IA a gran escala
Los grandes modelos de lenguaje, los titanes computacionales de la IA moderna, se entrenan cada vez más en miles de unidades de procesamiento gráfico (GPUs). Sin embargo, el gran volumen de intercambio de datos entre estas GPUs a menudo crea un cuello de botella no de potencia de procesamiento, sino de velocidad de red. En sistemas distribuidos tan masivos, incluso los más mínimos retrasos en la comunicación se acumulan drásticamente; un retraso de microsegundos cuando las GPUs comparten datos puede desencadenar una reacción en cadena, añadiendo horas a un trabajo de entrenamiento. Esta dependencia crítica hace necesarias redes especializadas diseñadas para la transferencia de datos de alto volumen con una latencia mínima.
Históricamente, las transferencias de datos entre nodos de computación dependían en gran medida de la Unidad Central de Procesamiento (CPU). Cuando una GPU necesitaba enviar datos a un nodo remoto, el proceso era indirecto: la GPU primero escribía los datos en la memoria del sistema anfitrión, la CPU los copiaba luego en un búfer de la tarjeta de red, y la Tarjeta de Interfaz de Red (NIC) los transmitía. En el lado receptor, la NIC entregaba los datos a la CPU, que los escribía en la memoria del sistema para que la GPU receptora los leyera. Este enfoque de múltiples pasos, centrado en la CPU, aunque adecuado para sistemas más pequeños, se convierte rápidamente en un impedimento grave a la escala requerida para las cargas de trabajo de IA, ya que las copias de datos y la participación de la CPU introducen retrasos inaceptables.
Para eludir este cuello de botella ligado a la CPU, se desarrollaron tecnologías como el Acceso Directo a Memoria Remota (RDMA) y GPUDirect de NVIDIA. RDMA permite a una máquina local acceder directamente a la memoria de una máquina remota sin involucrar a la CPU en la transferencia de datos. La tarjeta de interfaz de red maneja todas las operaciones de memoria de forma independiente, eliminando copias de datos intermedias y reduciendo significativamente la latencia. Este acceso directo a la memoria es particularmente valioso en entornos de entrenamiento de IA donde miles de GPUs deben compartir eficientemente la información de gradientes, evitando la sobrecarga del sistema operativo y los retrasos de la red. GPUDirect extiende este concepto, permitiendo que las GPUs se comuniquen directamente con otro hardware a través de conexiones PCIe, evitando por completo la memoria del sistema y la CPU. GPUDirect RDMA lo extiende aún más al permitir que la NIC acceda directamente a la memoria de la GPU para transferencias de red. Este paradigma de comunicación directa exige una red capaz de manejar velocidades inmensas, y hoy en día, surgen dos opciones principales: InfiniBand y RoCEv2. La decisión entre ellas obliga a un equilibrio crítico entre la velocidad bruta, las restricciones presupuestarias y la voluntad de emprender una afinación manual de la red.
InfiniBand se erige como una tecnología de red dedicada de alto rendimiento, diseñada específicamente para los exigentes entornos de centros de datos y supercomputación. A diferencia de Ethernet estándar, que maneja tráfico general, InfiniBand está diseñada desde cero para ofrecer ultra alta velocidad y ultra baja latencia específicamente para cargas de trabajo de IA. Funciona de manera similar a un sistema ferroviario de alta velocidad donde tanto los trenes como las vías están diseñados a medida para una velocidad máxima; cada componente, desde los cables y las tarjetas de red (conocidas como Adaptadores de Canal de Host o HCA) hasta los conmutadores, está optimizado para mover datos rápidamente y evitar cualquier retraso.
InfiniBand opera sobre un principio fundamentalmente diferente al de Ethernet regular. Omite el protocolo TCP/IP tradicional, confiando en sus propias capas de transporte ligeras optimizadas para la velocidad y la latencia mínima. En su núcleo, InfiniBand soporta RDMA directamente en hardware, lo que significa que el HCA maneja las transferencias de datos sin interrumpir el sistema operativo ni crear copias de datos adicionales. También emplea un modelo de comunicación sin pérdidas, evitando la pérdida de paquetes incluso bajo tráfico pesado a través de un sistema de control de flujo basado en créditos donde los remitentes solo transmiten datos cuando el receptor tiene suficiente espacio de búfer. En grandes clústeres de GPU, los conmutadores InfiniBand mueven datos entre nodos con latencias a menudo inferiores a un microsegundo, asegurando una comunicación consistente de alto rendimiento porque todo el sistema está diseñado cohesivamente para este propósito. Sus puntos fuertes residen en su velocidad inigualable, previsibilidad y escalabilidad inherente, al estar diseñada específicamente para RDMA y evitar la pérdida de paquetes. Sin embargo, sus debilidades son notables: el hardware es caro y está en gran medida ligado a NVIDIA, lo que limita la flexibilidad. También requiere habilidades especializadas para su configuración y ajuste, lo que la hace más difícil de gestionar y menos interoperable con redes IP estándar.
En contraste, RoCEv2 (RDMA over Converged Ethernet versión 2) aporta las ventajas de RDMA a las redes Ethernet convencionales. En lugar de requerir hardware de red personalizado, RoCEv2 aprovecha las redes IP existentes, funcionando sobre UDP para el transporte. Este enfoque es similar a añadir un carril exprés para datos críticos a una autopista existente, en lugar de reconstruir todo el sistema de carreteras. Ofrece comunicación de alta velocidad y baja latencia utilizando la infraestructura Ethernet familiar.
RoCEv2 permite el acceso directo a la memoria entre máquinas encapsulando las escrituras RDMA dentro de paquetes UDP/IP, permitiéndoles atravesar redes estándar de Capa 3 sin necesidad de una “fabric” dedicada. Utiliza conmutadores y enrutadores de productos básicos, lo que lo hace más accesible y rentable. La diferencia clave con InfiniBand es que, mientras InfiniBand gestiona el control de flujo y la congestión dentro de su entorno estrictamente controlado, RoCEv2 se basa en mejoras específicas de Ethernet para lograr una red casi sin pérdidas. Estas mejoras incluyen el Control de Flujo por Prioridad (PFC), que pausa el tráfico en la capa Ethernet según la prioridad para evitar la pérdida de paquetes; la Notificación Explícita de Congestión (ECN), que marca los paquetes en lugar de eliminarlos cuando se detecta congestión; y la Notificación de Congestión Cuantizada para Centros de Datos (DCQCN), un protocolo de control de congestión que reacciona a las señales de ECN para una gestión del tráfico más fluida. Para un rendimiento óptimo de RoCEv2, la red Ethernet subyacente debe configurarse cuidadosamente para que sea sin pérdidas o casi sin pérdidas, lo que requiere una afinación meticulosa de los conmutadores, las colas y los mecanismos de control de flujo. Sus puntos fuertes incluyen la rentabilidad debido al hardware Ethernet estándar, una implementación más sencilla para equipos familiarizados con redes basadas en IP y una integración flexible en entornos mixtos. Sin embargo, exige una afinación cuidadosa de PFC, ECN y el control de congestión para evitar la pérdida de paquetes. También es menos determinista que InfiniBand, con una posible variabilidad en la latencia y la fluctuación, y mantener una “fabric” Ethernet consistentemente sin pérdidas se vuelve cada vez más complejo a medida que los clústeres escalan.
En última instancia, en el ámbito de la IA a gran escala, la red no es meramente un conducto; es la columna vertebral que determina la eficiencia y la velocidad del entrenamiento. Tecnologías como RDMA y GPUDirect RDMA son indispensables para eliminar los cuellos de botella inducidos por la CPU, permitiendo que las GPUs se comuniquen directamente. Tanto InfiniBand como RoCEv2 aceleran la comunicación de GPU a GPU, pero toman caminos fundamentalmente diferentes. InfiniBand construye una configuración de red dedicada y a medida, ofreciendo una velocidad y una latencia inigualables a un costo significativo. RoCEv2, por el contrario, proporciona una mayor flexibilidad al aprovechar la infraestructura Ethernet existente, ofreciendo una solución más económica que requiere una afinación meticulosa de su red subyacente para lograr un rendimiento óptimo. La decisión entre InfiniBand y RoCEv2 se reduce a un clásico compromiso: rendimiento inigualable y predecible a un precio premium, o flexibilidad rentable que exige una afinación meticulosa de la red. Para aquellos que priorizan el rendimiento pico absoluto con menos preocupación por el presupuesto, InfiniBand sigue siendo el estándar de oro. Sin embargo, si aprovechar la infraestructura Ethernet existente y gestionar los costos es primordial, RoCEv2 ofrece una alternativa convincente, aunque más intensiva en configuración.