Los clústeres de IA actuales trasladan tanto vectores de gradiente masivos como mensajes de coordinación diminutos, como sincronizaciones de barreras o consultas de caché. Cuando las fases de cálculo se reducen a la escala de milisegundos, la latencia de esos intercambios breves se convierte en un cuello de botella porque la red no puede priorizarlos sobre las transferencias masivas. El control de congestión impulsado por el remitente de TCP solo reacciona después de que se forme una cola, y su modelo de flujo de bytes oculta los límites de los mensajes, lo que provoca bloqueo de cabeza de línea y trampas de incast, donde un mensaje corto espera detrás del tráfico masivo en el salto final. Homa, presentado por John Ousterhout de Stanford, aborda estos problemas con un diseño limpio. Trata cada llamada a procedimiento remoto como un RPC independiente cuya longitud es visible desde el primer paquete, habilitando la programación de Tiempo Restante de Procesamiento Más Corto (SRPT) para que los trabajos más cortos puedan adelantarse a los más largos. El receptor, situado en el enlace descendente congestionado, emite paquetes GRANT escalonados que autorizan al remitente a transmitir porciones programadas de un mensaje, controlando así el tráfico cerca de donde se acumulan las colas. Para evitar cualquier acumulación ya esperando en un conmutador, Homa utiliza múltiples colas de prioridad de hardware por puerto de salida y asigna dinámicamente mayor prioridad a los mensajes más cortos, permitiéndoles adelantar los paquetes de mensajes largos encolados en prioridad inferior. Los benchmarks mostrados en la charla indican que Homa logra aproximadamente 13× menos latencia percentil‑99 de mensajes cortos en comparación con TCP, y casi 2× mejor latencia para los mensajes más largos. El autor señala que obtener ganancias equivalentes para aplicaciones reales de IA y una comparación directa con RoCE requeriría mediciones separadas. El protocolo, por lo tanto, ofrece un principio basado para reducir la latencia de cola en entornos donde muchos mensajes pequeños coexisten con transferencias grandes, sin requerir que cada remitente transmita libremente.

Diagrama que muestra un mensaje corto bloqueado detrás de mensajes largos en una cola de red
Mensaje corto atrapado detrás de transferencias largas que causa bloqueo de cabeza de líneaai.engineer

Esto ilustra el problema de bloqueo de cabeza de línea descrito en el artículo, donde TCP no puede priorizar los mensajes cortos sobre las transferencias masivas.

Ilustración de GPUs inactivos esperando a que se completen los mensajes de sincronización
GPUs inactivos debido a la espera de sincronización de barrera o consultas de cachéai.engineer

Esto muestra el impacto de la latencia de mensajes cortos en las fases de cálculo, como se discutió en el párrafo inicial donde los mensajes de coordinación diminutos causan cuellos de botella.

Diagrama que ilustra la programación SRPT que permite que los mensajes cortos adelanten a los largos
La programación de Tiempo Restante de Procesamiento Más Corto permite que los mensajes cortos evadan las transferencias largasai.engineer

Esto respalda el punto de diseño de Homa de que las longitudes visibles de los mensajes permiten la programación SRPT, reduciendo la latencia de los mensajes cortos.

Figura que muestra mensajes cortos de alta prioridad adelantando paquetes masivos de baja prioridad en una cola
Las colas de prioridad de hardware dan mayor prioridad a los mensajes cortos para evitar el acumulo de mensajes largosai.engineer

Esto demuestra cómo Homa utiliza múltiples colas de prioridad de hardware para permitir que los mensajes cortos adelanten a los mensajes largos que esperan en prioridad inferior.