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.
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.
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.
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.
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.