4 puntos por GN⁺ 2024-09-24 | 1 comentarios | Compartir por WhatsApp
  • Tesla presentó como código abierto Tesla Transport Protocol over Ethernet (TTPoE) en HotChips 2024
  • Tesla se unió al Ultra Ethernet Consortium (UEC) para compartir este protocolo y trabajar en la estandarización de una nueva fabric de alta velocidad y baja latencia para AI/ML/centros de datos
  • TTPoE busca ser no propietario, de bajo costo, con control de congestión distribuido, tramas EthernetII estándar y un protocolo de interconexión no centralizado
  • Características de TTPoE
    • Al igual que TCP, permite pérdida de paquetes y retransmisión, pero garantiza la transferencia completa
    • La implementación inicial de TTPoE se realizó en el proyecto Tesla Dojo v1
      • El protocolo corre completamente en hardware y fue desplegado en una supercomputadora multiexaflop (fp16) de escala masiva con decenas de miles de endpoints simultáneos
    • Este protocolo puede establecer y operar enlaces sin intervención de la CPU ni del OS
  • Este protocolo no es complejo ni pretende ser "inteligente", sino que se basa en principios fundamentales
    • La transmisión por Ethernet consiste esencialmente en mover datos de A a B, y solo debería estar limitada por las restricciones físicas
    • En sistemas de escala muy grande, la gestión centralizada de congestión es un intento absurdo; cada endpoint debe ser resiliente y autoadministrado

Opinión de GN⁺

  • TTPoE es un intento interesante de superar las limitaciones del protocolo TCP existente en entornos de computación de alto rendimiento
  • Su objetivo principal parece ser minimizar la latencia y maximizar el throughput mediante hardware offloading y una máquina de estados simplificada
  • TTPoE tiene potencial para mejorar la velocidad de transferencia de datos y la latencia en los campos de AI y ML
  • Que Tesla haya publicado este protocolo como código abierto ayudará a acelerar la innovación en el campo de HPC
  • Aun así, parece difícil que TTPoE reemplace por completo a TCP en redes de propósito general; es una solución optimizada para redes dedicadas de alta calidad. Para que TTPoE sea adoptado ampliamente, serán importantes la estandarización y la construcción de un ecosistema
  • Protocolos con funciones similares incluyen RoCE (RDMA over Converged Ethernet) y NVLink

1 comentarios

 
xguru 2024-09-24

Hay otro artículo que explica TTPoE con un poco más de detalle.
Tesla’s TTPoE at Hot Chips 2024: Replacing TCP for Low Latency Applications

Panorama general de TTPoE

  • Tesla presentó la supercomputadora Dojo en Hot Chips 2023, y la usa para aprendizaje automático enfocado en aplicaciones automotrices como la conducción autónoma
  • Los datos de entrenamiento incluyen video, lo que requiere mucho ancho de banda de E/S, y un solo tensor puede alcanzar 1.7GB en el caso de las aplicaciones de visión de Tesla
  • Tesla descubrió que el rendimiento de la supercomputadora Dojo podía verse limitado por la velocidad a la que las máquinas host empujaban los datos hacia la supercomputadora

Necesidad de TTPoE

  • Tesla resolvió este problema agregando más hosts y conectando esos hosts adicionales a la supercomputadora de forma económica
  • En lugar de usar soluciones de red típicas de supercomputación como InfiniBand, Tesla eligió adaptar Ethernet a sus necesidades con una capa de transporte modificada
  • TCP es reemplazado por Tesla Transport Protocol over Ethernet (TTPoE), diseñado para ofrecer latencias en microsegundos y permitir una descarga de hardware sencilla

Características de TTPoE

  • TTPoE está diseñado para procesarse completamente en hardware y ofrecer mejor latencia que el protocolo TCP estándar
  • La máquina de estados de TTPoE está muy simplificada en comparación con TCP
  • Al eliminar los estados de espera de TCP, la latencia se reduce
  • TTP elimina el estado TIME_WAIT y cambia la secuencia de cierre de conexión de 3 transmisiones a 2
  • El handshake de 3 vías de TCP se cambia a uno de 2 vías para acortar la latencia de establecimiento de conexión

Control de congestión de TTPoE

  • Igual que TCP, Tesla usa pérdida de paquetes para el control de congestión
  • Como fue diseñado para ejecutarse sobre una red base de baja latencia, Tesla pudo usar un enfoque más de fuerza bruta para el problema
  • Las implementaciones tradicionales de TCP mantienen una ventana de congestión deslizante, pero TTP no
  • El hardware rastrea los datos transmitidos en un búfer SRAM, que define el tamaño de la ventana de congestión
  • Los algoritmos tradicionales de control de congestión de TCP operan en escalas de tiempo demasiado largas para ser efectivos en las aplicaciones de la supercomputadora Dojo de Tesla

Implementación de hardware de TTPoE

  • Tesla procesa el protocolo TTP en un bloque de hardware ubicado entre el chip y el hardware Ethernet estándar
  • Este bloque de hardware MAC fue diseñado por diseñadores de CPU e incorpora muchas características de diseño de CPU
  • El presentador lo describió como algo que funciona como una caché compartida, donde el árbitro elige entre solicitudes considerando riesgos de orden
  • Uno de los recursos más destacados es un búfer SRAM de transmisión de 1MB, que, como se mencionó arriba, define la ventana de congestión

Mojo NIC

  • El MAC de TPP está implementado en lo que Tesla llama una "Dumb-NIC"
  • Se le llama "dumb" porque es lo más barata y simple posible
  • Tesla busca desplegar una gran cantidad de nodos host para alimentar con datos a la supercomputadora Dojo, y usar tarjetas de red baratas permite lograrlo de forma rentable
  • El nombre Mojo viene de la idea de que los hosts adicionales le dan más Mojo a Dojo para mantener el rendimiento
  • Las tarjetas Mojo se instalan en máquinas host remotas, y si los ingenieros necesitan más ancho de banda para alimentar datos a la supercomputadora Dojo, pueden incorporar más máquinas host remotas desde un pool

Resumen

  • Mojo y el protocolo TTPoE ofrecen una perspectiva interesante sobre cómo el conocido Transmission Control Protocol (TCP) puede simplificarse para su uso en redes internas de supercomputación de alta calidad
  • En teoría este protocolo podría ejecutarse en internet, pero simplificaciones como la ventana de congestión fija probablemente no funcionarían bien en enlaces de menor calidad que conectan con proveedores de servicios de internet y más allá
  • En comparación con otras soluciones de red para supercomputación como InfiniBand, un protocolo de transporte personalizado sobre Ethernet puede ofrecer suficiente ancho de banda adicional para satisfacer los requisitos de Dojo