Google liberó Falcon, una capa de transporte asistida por hardware de baja latencia
Durante la OCP Global Summit (que se llevo a cabo hace unos días) Google dio a conocer mediante un anuncio la decisión de liberar su tecnología de transferencia de datos Falcon y la transferencia de su desarrollo posterior al proyecto Open Compute, cuyo objetivo es el desarrollo conjunto de especificaciones de hardware abiertas para equipar centros de datos.
Falcon (transporte de hardware, capa de transporte acelerado por hardware) se promociona como la próxima generación de Ethernet, ya que Google presume que es capaz de aumentar el rendimiento y la eficiencia de la transferencia de datos en las redes estándar existentes basadas en Ethernet y TCP/IP que son fundamentales para el rendimiento y la latencia, como las redes para computación de alto rendimiento e inteligencia artificial.
Las cargas de trabajo como el almacenamiento han necesitado algunos de estos atributos durante mucho tiempo; sin embargo, con casos de uso más nuevos, como la capacitación de IA/ML a gran escala y la computación de alto rendimiento (HPC), la necesidad ha aumentado significativamente. En el pasado, hemos compartido abiertamente nuestros aprendizajes sobre configuración del tráfico, control de congestión, equilibrio de carga y más con la industria al contribuir con nuestras ideas a la Association for Computing Machinery and Internet Engineering Task Force.
Para lograr este objetivo, desarrollamos Falcon para habilitar una función escalonada en el rendimiento sobre transportes solo de software.
Sobre Falcon
En la descripción del protocolo se menciona que Falcon está diseñado para poder adaptarse a las redes de centros de datos y está diseñado para proporcionar un alto rendimiento predecible, baja latencia, flexibilidad y extensibilidad.
Por la parte de su característica de ofrecer una baja latencia en redes Ethernet de alta velocidad que toleran la pérdida de paquetes, Falcon utiliza tres principios: medición detallada de los retrasos entre el envío de una solicitud y la recepción de una respuesta (RTT, tiempo de ida y vuelta), recorte de tráfico implementado por hardware en relación con individuos flujos y retransmisión de paquetes rápida y precisa. Estas propiedades se complementan con medios para el acceso simultáneo a través de varios canales (Multipath) y soporte para cifrado de conexiones.
Además de esta base, Falcon ha sido diseñado desde cero como un transporte multiprotocolo capaz de admitir ULP con requisitos de rendimiento y semántica de aplicaciones muy variables. La capa de mapeo ULP no solo proporciona compatibilidad inmediata con Infiniband Verbs RDMA y NVMe ULP, sino que también incluye innovaciones adicionales críticas para aplicaciones a escala de almacén, como semántica de pedidos flexible y manejo elegante de errores.
Por último, pero no menos importante, el hardware y el software están diseñados conjuntamente para trabajar juntos y ayudar a lograr los atributos deseados de alta velocidad de mensajes, baja latencia y alto ancho de banda, manteniendo al mismo tiempo la flexibilidad para la programabilidad y la innovación continua.
Por la parte de la base de Falcon, se menciona que las siguientes tecnologías están involucradas:
- Carrusel: un mecanismo de limitación de tráfico (Traffic Shaping), que permite regular el rendimiento y la intensidad del flujo de paquetes en el contexto de hosts individuales.
- Snap: un subsistema de red basado en microkernel que se puede ampliar con módulos a través de los cuales se pueden agregar funciones avanzadas, como virtualización de red, limitación de tráfico y funciones de entrega de mensajes.
- Swift: un mecanismo de control de congestión para redes a nivel de centro de datos, que permite lograr una latencia de menos de 50 microsegundos para mensajes RPC cortos mientras se mantiene un rendimiento de 100 Gbps por servidor con una carga cercana al 100%.
- RACK-TLP: un algoritmo para determinar la pérdida de paquetes para TCP.
- PLB: es un mecanismo de equilibrio de carga que utiliza señales de congestión.
- CSIG: un protocolo de intercambio de telemetría que se utiliza para enviar señales de congestión y control de tráfico.
- PSP: protocolo de cifrado de tráfico.
El soporte Falcon estará disponible por primera vez en la serie Intel IPU E2000 de aceleradores de red, que combinan un adaptador Ethernet con un procesador programable que puede manejar operaciones que normalmente se realizan en la pila de red o en el lado del sistema, como la gestión del tráfico y la congestión control y análisis de protocolos de alto nivel.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.