El entrenamiento y la inferencia de modelos de IA a gran escala requieren redes de baja latencia y alta fiabilidad para mover datos entre GPUs, donde la eficiencia de la comunicación impacta directamente el rendimiento computacional. Los protocolos RDMA existentes, como RoCEv2, asumen una red sin pérdidas y con entrega en orden, lo que los hace ineficientes en entornos Ethernet a escala de hyperscaler que exhiben pérdida de paquetes y desorden por diseño (ej., ECMP).

MetaRoCE aborda este problema fundamental al diseñar un protocolo de transporte RDMA que asume una red Ethernet inherentemente con pérdidas y desorden. Su enfoque es trasladar la inteligencia de la red a los endpoints (NICs), permitiendo una gestión más granular del estado de la conexión, la congestión y la recuperación de errores. Esto es crucial para operaciones colectivas (all-reduce, all-to-all) en entrenamiento distribuido y para la baja latencia en la inferencia, donde incluso pequeñas fricciones de red degradan significativamente la capacidad computacional.

La necesidad de MetaRoCE surge de la escala y la naturaleza de las cargas de trabajo de IA modernas, que empujan los límites de las redes de centros de datos. La adopción de Ethernet como tejido preferido para la infraestructura de IA, combinada con la necesidad de escalar a cientos de miles de GPUs, exige un protocolo de transporte que pueda operar eficientemente en estas condiciones, sin requerir garantías de red costosas o complejas.

Arquitectura del Sistema

MetaRoCE se fundamenta en la idea de que la "NIC ve la intención" mientras que la "red ve paquetes", descentralizando la inteligencia de la red hacia los endpoints. Esto se logra mediante varias decisiones de diseño clave. Primero, implementa "Native Out-of-Order Delivery": los paquetes se envían a través de múltiples rutas (packet spraying) y se espera que lleguen desordenados. Cada paquete contiene su destino, permitiendo que los datos se escriban directamente en la ubicación de memoria final sin buffers de reordenamiento ni head-of-line blocking. Esto es aplicable tanto a operaciones de Write como de Send, donde el Send lleva el "match" a un buffer de recepción publicado.

Segundo, soporta "Native Multipathing": cada conexión utiliza múltiples rutas lógicas, cada una con su propio puerto UDP de origen para entropía ECMP. La NIC puede cambiar dinámicamente el puerto para mover tráfico de rutas degradadas. Cada ruta mantiene su propia ventana de congestión y estimación de Round Trip Time (RTT), permitiendo al transporte distinguir entre congestión y falla, y reequilibrar el tráfico. Tercero, incorpora "Loss Tolerance by Design": MetaRoCE trata la red Ethernet como inherentemente con pérdidas, eliminando la dependencia de mecanismos como PFC (Priority Flow Control) o pause frames. Utiliza un bitvector de Selective Acknowledgment (SACK) de 256 bits por ruta para identificar y retransmitir exactamente los paquetes perdidos en la ruta específica donde ocurrió la pérdida.

Cuarto, implementa un "Congestion Control From Both Sides": combina un control de congestión AIMD (Additive Increase, Multiplicative Decrease) basado en ECN (Explicit Congestion Notification) impulsado por el emisor, con "fair-share rate hints" impulsados por el receptor. Las ventanas de congestión se mantienen por ruta y por conexión. El receptor informa al emisor la porción de ancho de banda de entrada que ha asignado, permitiendo al emisor ajustar su velocidad de forma más directa. Finalmente, MetaRoCE es "Topology Independent", requiriendo solo ECN marking y ECMP de la red, sin depender de características propietarias o complejas como packet trimming o in-network telemetry. Utiliza una única conexión lógica para múltiples streams ordenados (QPs), desacoplando el estado de la conexión de la paralelización de la carga de trabajo.

Flujo de Datos con Native Out-of-Order Delivery

  1. 1 Aplicación (GPU) Inicia una operación de transferencia de datos (Write/Send).
  2. 2 NIC (Emisor) Divide los datos en paquetes, cada uno con destino y metadatos. Realiza packe...
  3. 3 Red Ethernet Enruta paquetes a través de múltiples rutas (ECMP), resultando en entrega fue...
  4. 4 NIC (Receptor) Recibe paquetes fuera de orden. Escribe datos directamente a la ubicación de ...
  5. 5 NIC (Receptor) Envía ACKs selectivos por ruta, indicando paquetes recibidos y huecos (pérdid...
  6. 6 NIC (Emisor) Retransmite solo los paquetes perdidos en la ruta identificada por el SACK.
CapaTecnologíaJustificación
networking MetaRoCE Protocolo de transporte RDMA optimizado para cargas de trabajo de IA en Ethernet, gestionando multipathing, entrega fuera de orden y tolerancia a pérdidas. vs RoCEv2, InfiniBand Diseñado para operar sobre UDP/IP estándar, utilizando puertos UDP para entropía ECMP.
networking Ethernet Tejido de red subyacente. MetaRoCE asume sus características de pérdida y desorden, y aprovecha ECMP y ECN. vs InfiniBand No requiere PFC ni pause frames; solo ECN marking y ECMP.
compute GPUs (AMD, NVIDIA) Aceleradores que generan las cargas de trabajo de IA que requieren comunicación de baja latencia y alto ancho de banda. Utiliza APIs RDMA Verbs existentes con extensiones para características avanzadas.
networking NICs programables (ej. AMD Pensando) Implementan la lógica de MetaRoCE, gestionando el estado por ruta, el control de congestión y la reordenación en el endpoint. vs NICs de función fija Capacidad de modificar dinámicamente puertos UDP para rebalanceo de tráfico.

Trade-offs

Ganancias
  • Throughput
  • Tail Latency
  • ▲▲ Resiliencia a la pérdida de paquetes
  • Simplicidad operacional de la red
  • Escalabilidad en entornos multipath
Costes
  • Complejidad en la lógica del endpoint (NIC)
  • Mayor tamaño de cabecera de paquete (por metadatos de destino)

Fundamentos Teóricos

El problema de la entrega de paquetes fuera de orden y la tolerancia a pérdidas en redes de gran escala ha sido un tema recurrente en la investigación de redes distribuidas. Conceptos como la entrega fuera de orden y la reordenación en el endpoint se pueden rastrear a principios de los años 80 con protocolos como el TCP, que ya lidiaba con la reordenación y la pérdida de paquetes, aunque con un enfoque diferente en la capa de transporte. La idea de mover la inteligencia a los extremos de la red es un principio fundamental de diseño de Internet, articulado por Saltzer, Reed y Clark en su paper "End-to-End Arguments in System Design" (1984).

La gestión de múltiples rutas y el balanceo de carga (multipathing) ha sido estudiada extensamente en el contexto de redes de centros de datos y WANs, con algoritmos como ECMP (Equal-Cost Multi-Path) siendo un estándar de facto. La capacidad de MetaRoCE para gestionar el estado por ruta y reaccionar a la congestión o fallos en rutas individuales se alinea con investigaciones sobre el control de congestión adaptativo y la resiliencia en redes dinámicas. El uso de SACK para la recuperación eficiente de pérdidas es una mejora bien establecida sobre los mecanismos de retransmisión más simples, y su aplicación por ruta en MetaRoCE es una adaptación específica para el diseño de entrega fuera de orden. La combinación de control de congestión basado en ECN y feedback del receptor también tiene raíces en la investigación de control de congestión, buscando mejorar la equidad y reducir la latencia de cola en escenarios de incast.