Cómo elegir entre InfiniBand y RoCE

Un ancho de banda ultraalto, una latencia ultrabaja y una confiabilidad ultraalta son los requisitos de red para el entrenamiento de modelos grandes.

Durante muchos años, el protocolo TCP/IP ha sido el pilar de la comunicación por Internet, pero para las redes de inteligencia artificial, TCP/IP tiene algunos inconvenientes fatales. El protocolo TCP/IP tiene una latencia alta, normalmente de decenas de microsegundos, y también provoca una carga importante de la CPU. RDMA puede acceder directamente a los datos de la memoria a través de la interfaz de red, sin la intervención del kernel del sistema operativo. Esto permite una comunicación de red de alto rendimiento y baja latencia, especialmente adecuada para su uso en clústeres de computadoras paralelos a gran escala.

InfiniBand, RoCEv1, RoCEv2 e iWARP son las cuatro implementaciones de la tecnología RDMA. Sin embargo, RoCEv1 ya no se utiliza y iWARP es poco común. Las soluciones de red predominantes en la industria son InfiniBand y RoCEv2.

Pila de protocolos RDMA

¿Cuáles son los requisitos de red para cargas de trabajo HPC/AI?

La mayoría de los centros de datos actuales utilizan una arquitectura de red de dos niveles, mientras que los clústeres de IA son supercomputadoras construidas para ejecutar tareas complejas de IA a gran escala. Las cargas de trabajo informáticas se ejecutan en paralelo en varias GPU, lo que requiere una alta utilización. Por lo tanto, en comparación con las redes de centros de datos tradicionales, las redes de centros de datos de IA enfrentan una complejidad adicional:

  • Computación paralela: las cargas de trabajo de IA son una infraestructura unificada de múltiples máquinas que ejecutan la misma aplicación/tarea informática;
  • Escala: la escala de las tareas de HPC/AI puede alcanzar miles de motores informáticos (como GPU, CPU, FPGA, etc.);
  • Tipos de tareas: las diferentes tareas varían en tamaño, duración de ejecución, tamaño y cantidad del conjunto de datos a considerar, tipo de respuesta a generar y diferentes lenguajes utilizados para codificar la aplicación y el tipo de hardware en el que se ejecuta, lo que causa los patrones de tráfico dentro del red construida para ejecutar cargas de trabajo HPC/AI en constante cambio;
  • Sin pérdidas: en los centros de datos tradicionales, los mensajes perdidos se retransmiten, mientras que en las cargas de trabajo de IA, los mensajes perdidos significan que todo el cálculo es incorrecto o está bloqueado. Por tanto, los centros de datos de IA necesitan una red sin pérdidas.
  • Ancho de banda: es necesario ejecutar tráfico de gran ancho de banda entre servidores para que las aplicaciones puedan acceder a los datos. En las implementaciones modernas, la velocidad de la interfaz de cada motor informático para IA u otras capacidades informáticas de alto rendimiento alcanza los 400 Gbps.

Estas complejidades plantean desafíos importantes para las redes de IA, por lo que las redes de centros de datos de IA deben tener un gran ancho de banda, baja latencia, ausencia de fluctuaciones, pérdida de paquetes y estabilidad a largo plazo.

De TCP/IP a RDMA

Para aplicaciones como HPC/AI que requieren baja latencia y alta simultaneidad de E/S, la arquitectura de software y hardware TCP/IP existente no puede cumplir con los requisitos de la aplicación. La comunicación de red TCP/IP tradicional utiliza el kernel para enviar mensajes, lo que tiene un alto movimiento de datos y una gran sobrecarga de copia de datos. Por ejemplo, en una transferencia de datos IP típica, cuando una aplicación en una computadora envía datos a una aplicación en otra computadora, se producen las siguientes operaciones en el extremo receptor:

  1. El kernel debe recibir los datos.
  2. El kernel debe determinar a qué aplicación pertenecen los datos.
  3. El kernel activa la aplicación.
  4. El kernel espera a que la aplicación realice una llamada al sistema en el kernel.
  5. La aplicación copia los datos del espacio de memoria del kernel al búfer proporcionado por la aplicación.

Este proceso significa que si el adaptador de host utiliza acceso directo a memoria (DMA), la mayor parte del tráfico de red se copia en la memoria principal del sistema. Además, la computadora realiza algunos cambios de contexto para alternar entre el kernel y la aplicación. Estos cambios de contexto pueden provocar una mayor carga de CPU y un mayor tráfico, al tiempo que ralentizan otras tareas.

Transmisión TCP-IP

Transmisión TCP/IP

A diferencia de la comunicación IP tradicional, la comunicación RDMA evita la intervención del kernel en el proceso de comunicación, lo que permite que el host acceda directamente a la memoria de otro host, lo que reduce la sobrecarga de la CPU. El protocolo RDMA permite al adaptador de host decidir qué aplicación debe recibirlo y dónde almacenarlo en el espacio de memoria de esa aplicación después de que el paquete ingresa a la red. El adaptador de host no envía el paquete al kernel para su procesamiento y lo copia en la memoria de la aplicación del usuario, sino que coloca directamente el contenido del paquete en el búfer de la aplicación.

Transmisión RDMA

Transmisión RDMA

La transmisión RDMA reduce la cantidad de ciclos de CPU involucrados, lo que ayuda a mejorar el rendimiento y el rendimiento. En otras palabras, la esencia de RDMA es que, para escenarios de almacenamiento e informática distribuida a gran escala, permite que la tarjeta de red omita la CPU y acceda directamente a la memoria del servidor remoto, acelerando la interacción entre servidores, reduciendo la latencia y utilizando los valiosos recursos de la CPU para la informática y el control lógico de alto valor.

En comparación con las redes TCP/IP tradicionales, InfiniBand y RoCEv2 omiten la pila de protocolos del kernel y el rendimiento de latencia se puede mejorar en varios órdenes de magnitud. Cuando la comunicación dentro del mismo clúster se puede lograr en un solo salto, las pruebas experimentales muestran que después de omitir la pila de protocolos del kernel, la latencia de extremo a extremo en la capa de aplicación se puede reducir de 50us (TCP/IP) a 5us (RoCE ) o 2us (InfiniBand).

Latencia de comunicación de extremo a extremo de diferentes tecnologías.

Introducción a las redes InfiniBand

Las redes InfiniBand utilizan adaptadores o conmutadores InfiniBand en lugar de Ethernet para lograr la transmisión de datos. La latencia puerto a puerto de un tipo específico de conmutador Ethernet es de 230 ns, mientras que la latencia de un conmutador InfiniBand con la misma cantidad de puertos es de 100 ns.

Redes InfiniBand

Los componentes clave de una red InfiniBand incluyen un administrador de subred (SM), una tarjeta de red IB, un conmutador IB y un cable IB. Los conmutadores InfiniBand no ejecutan ningún protocolo de enrutamiento y un administrador de subred centralizado calcula y distribuye las tablas de reenvío de toda la red. Además de reenviar tablas, el SM también es responsable de administrar particiones, QoS y otras configuraciones en la subred InfiniBand. Las redes InfiniBand requieren cables y módulos ópticos dedicados para interconectar conmutadores y conectar conmutadores a tarjetas de red.

Red local sin pérdidas

Las redes InfiniBand utilizan un mecanismo de token de crédito para evitar fundamentalmente el desbordamiento del búfer y la pérdida de paquetes. El remitente solo inicia la transmisión de paquetes después de confirmar que el receptor tiene suficientes créditos para aceptar la cantidad correspondiente de paquetes.

Cada enlace de la red InfiniBand tiene un búfer predeterminado. El remitente no transmite datos que excedan el tamaño del búfer predeterminado disponible en el receptor. Una vez que el receptor completa el reenvío, libera el búfer y devuelve continuamente el tamaño de búfer predeterminado disponible actual al remitente. Este mecanismo de control de flujo a nivel de enlace garantiza que el remitente no envíe demasiados datos, evitando el desbordamiento del búfer de la red y la pérdida de paquetes.

diagrama de transmisión de datos sin pérdidas en la red InfiniBand

Capacidad de expansión de la tarjeta de red

El enrutamiento adaptativo de InfiniBand se basa en enrutamiento dinámico por paquete, lo que garantiza una utilización óptima de la red en implementaciones a gran escala. Hay muchos ejemplos de clústeres de GPU a gran escala que utilizan redes InfiniBand, como Baidu Artificial Intelligence Cloud y Microsoft Azure.

Las tarjetas de red InfiniBand han evolucionado rápidamente en términos de velocidad, con HDR de 200 Gbps ya ampliamente implementado comercialmente y tarjetas de red NDR de 400 Gbps que también están comenzando a implementarse comercialmente. Actualmente, existen importantes proveedores de soluciones de red InfiniBand y equipos de soporte en el mercado, como NVIDIA, Intel, Cisco y HPE. Entre ellas, NVIDIA tiene la mayor cuota de mercado, superando el 70%. La siguiente figura muestra el uso común Tarjetas de red InfiniBand.

Capacidad de expansión de la tarjeta de red

Introducción a las redes RoCEv2

RoCE implementa la funcionalidad RDMA a través de Ethernet, que puede omitir TCP/IP y utilizar hardware offcargando, reduciendo así la utilización de la CPU. RoCE tiene dos versiones principales: RoCEv1 y RoCEv2. RoCEv1 es un protocolo RDMA implementado a través de la capa de enlace Ethernet. Los conmutadores deben admitir técnicas de control de flujo como PFC para garantizar una transmisión confiable en la capa física. RoCEv2 se implementa sobre la capa UDP del protocolo Ethernet TCP/IP e introduce el protocolo IP para resolver problemas de escalabilidad.

RoCEv2 admite enrutamiento RDMA a través de redes Ethernet de capa 3. RoCEv2 reemplaza la capa de red InfiniBand con encabezados IP y UDP sobre la capa de enlace Ethernet, lo que hace posible enrutar RoCE entre enrutadores tradicionales basados ​​en IP.

Las redes InfiniBand son, hasta cierto punto, redes administradas centralmente con SM (administrador de subred), mientras que las redes RoCEv2 son redes distribuidas puras compuestas por NIC y conmutadores que admiten RoCEv1, y generalmente adoptan una arquitectura de dos capas.

diagrama de la arquitectura de red RoCE

Los principales proveedores de tarjetas de red RoCE son NVIDIA, Intel y Broadcom, etc. Las tarjetas PCIe son la forma principal de tarjetas de red para servidores de centros de datos. La velocidad PHY del puerto de RDMA Las tarjetas generalmente comienzan a partir de 50 Gbps, y las tarjetas de red comerciales actualmente disponibles pueden alcanzar hasta 400 Gbps de velocidad de un solo puerto.

Tarjeta de red RoCE

Actualmente, la mayoría de los conmutadores de centros de datos admiten la tecnología de control de flujo RDMA, que puede lograr una comunicación RDMA de extremo a extremo cuando se combina con tarjetas de red que admiten RoCE. Los principales actores en los conmutadores de centros de datos incluyen Cisco, HPE, Arista, etc. El núcleo de los conmutadores de alto rendimiento es el chip de reenvío que utilizan. Actualmente en el mercado, los chips de la serie Tomahawk de Broadcom se utilizan ampliamente en chips de reenvío comerciales. Entre ellos, el chip de la serie Tomahawk3 se usa más comúnmente en interruptores, y los interruptores que admiten el chip de la serie Tomahawk4 están aumentando gradualmente en el mercado.

evolución de los chips de reenvío ethernet

InfiniBand frente a RoCE

En comparación con InfiniBand, RoCE tiene mayor versatilidad y un costo relativamente menor. Puede usarse no solo para construir redes RDMA de alto rendimiento, sino también para Ethernet tradicional. Sin embargo, configurar parámetros como Headroom, PFC (control de flujo basado en prioridades) y ECN (notificación explícita de congestión) en los conmutadores puede resultar complejo. En implementaciones a gran escala, el rendimiento general de las redes RoCE puede ser ligeramente inferior al de las redes InfiniBand.

IB frente a RoCE
  • Desde una perspectiva técnica, InfiniBand adopta varias tecnologías para mejorar el rendimiento del reenvío de la red, reducir el tiempo de recuperación de fallas, mejorar la escalabilidad y reducir la complejidad operativa.
  • En términos de rendimiento empresarial, InfiniBand tiene una latencia de extremo a extremo más baja que RoCEv2, por lo que las redes construidas en InfiniBand tienen una ventaja en el rendimiento empresarial a nivel de aplicación.
  • En términos de ancho de banda y latencia, factores como la congestión y el enrutamiento afectan la interconexión de redes de alto rendimiento.

Congestión

InfiniBand utiliza dos mensajes de retransmisión de tramas diferentes para controlar la congestión: Notificación de congestión explícita hacia adelante (FECN) y Notificación de congestión explícita hacia atrás (BECN). Cuando la red está congestionada, FECN notifica al dispositivo receptor, mientras que BECN notifica al dispositivo emisor. InfiniBand combina FECN y BECN con una tasa de marcado adaptativa para reducir la congestión. Proporciona un control de congestión de grano grueso.

El control de congestión en RoCE utiliza la notificación de congestión explícita (ECN), que es una extensión de IP y TCP que permite la notificación de congestión de la red de terminales sin descartar paquetes. ECN coloca una marca en el encabezado de IP para indicarle al remitente que hay congestión. Para comunicaciones con congestión sin ECN, los paquetes perdidos deben retransmitirse. ECN reduce la pérdida de paquetes causada por la congestión de la conexión TCP, evitando la retransmisión. Menos retransmisiones pueden reducir la latencia y la fluctuación, proporcionando así un mejor rendimiento de transacciones y rendimiento. ECN también proporciona un control de congestión generalizado, que no tiene ninguna ventaja obvia sobre InfiniBand.

enrutamiento

Cuando hay congestión en la red, el enrutamiento adaptativo envía dispositivos a través de rutas alternativas para aliviar la congestión y acelerar la transmisión. RoCE v2 se ejecuta sobre IP. IP se ha podido enrutar durante décadas mediante algoritmos de enrutamiento avanzados, y ahora puede predecir rutas congestionadas con aprendizaje automático de IA y enviar paquetes automáticamente a través de rutas más rápidas. En términos de enrutamiento, Ethernet y RoCE v2 tienen importantes ventajas.

Sin embargo, InfiniBand y RoCE no hacen mucho para lidiar con la latencia de cola. La latencia de cola es muy importante para la sincronización de aplicaciones de mensajes HPC.

La UEC planea definir un nuevo protocolo de transporte

Además de nuestras localidaded en InfiniBand y RoCE, la industria ha propuesto otros protocolos.

El 19 de julio, el Consorcio Ultra Ethernet (UEC) fue offoficialmente establecido. El objetivo de UEC es ir más allá de las capacidades de Ethernet existentes y proporcionar una capa de transporte de alto rendimiento, distribuida y sin pérdidas optimizada para la informática de alto rendimiento y la inteligencia artificial. Los miembros fundadores de UEC incluyen AMD, Arista, Broadcom, Cisco, Eviden, HPE, Intel, Meta y Microsoft, todos los cuales tienen décadas de experiencia en redes, inteligencia artificial, nube e implementaciones informáticas de alto rendimiento a gran escala.

miembros fundadores

UEC cree que RDMA, que se definió hace décadas, está desactualizado en el exigente tráfico de red AI/ML. RDMA transfiere datos en grandes bloques de tráfico, lo que puede provocar desequilibrios y sobrecargas en los enlaces. Es hora de comenzar a construir un protocolo de transporte moderno que admita RDMA para aplicaciones emergentes.

Se informa que el protocolo de transporte UEC está en desarrollo, con el objetivo de proporcionar un mejor transporte Ethernet que el RDMA actual (que aún admite RDMA), conservando al mismo tiempo las ventajas de Ethernet/IP y proporcionando el rendimiento requerido por las aplicaciones de IA y HPC. El transporte UEC es una nueva forma de capa de transporte cercano que tiene algunos ajustes semánticos, protocolo de notificación de congestión y características de seguridad mejoradas. UEC proporcionará un transporte más flexible que no requiere una red sin pérdidas, lo que permitirá que cargas de trabajo de inteligencia artificial de muchos a muchos requieran transmisión de paquetes desordenados y de múltiples rutas, y otras características.

Más poder empresarial

A medida que la red HPC/AI continúa evolucionando, cada vez más empresas lanzan sus propios protocolos o soluciones de red para satisfacer sus necesidades específicas.

Tencent Cloud utiliza su red Starlink RDMA de desarrollo propio en su red Starlink, que permite que las GPU se comuniquen directamente entre sí, ahorrando recursos de la CPU y mejorando el rendimiento general y la eficiencia de los nodos informáticos. A través de su protocolo colaborativo de extremo a extremo TiTa, de desarrollo propio, la red Starlink puede lograr una pérdida de paquetes sin carga del 90%. El protocolo TiTa incorpora un algoritmo de control de congestión, que puede monitorear el estado de la red en tiempo real y optimizar la comunicación, haciendo que la transmisión de datos sea más fluida y la latencia sea menor.

Alibaba Cloud Panjiu PredFabric utiliza su protocolo de red de alta velocidad Solar-RDMA de desarrollo propio, que permite a los procesadores acceder a la memoria de cualquier otro servidor a través de instrucciones de carga/almacenamiento, lo cual es muy adecuado para la forma interactiva de redes neuronales dentro de modelos de aprendizaje profundo. . En comparación con el modo tradicional, el tiempo de autocuración de fallas y la latencia de cola se pueden reducir en un 90 %.

La red de centros de datos hiperconvergente de Huawei utiliza su algoritmo inteligente sin pérdidas iLossless original, que coopera con tres tecnologías clave de tecnología de control de tráfico, tecnología de control de congestión y tecnología de red de almacenamiento inteligente sin pérdidas para evitar que se produzca un punto muerto de PFC por adelantado, aliviar/liberar la congestión. y lograr un control rápido de los hosts, construyendo así una red Ethernet sin pérdidas y resolviendo el problema de la pérdida de paquetes por congestión en las redes Ethernet tradicionales.

La creciente demanda del mercado es el motor fundamental del desarrollo tecnológico. Según datos de IDC, la inversión en construcción de infraestructura de IA alcanzará los 154 mil millones de dólares en 2023 y aumentará a 300 mil millones de dólares en 2026. En 2022, el mercado de redes de IA alcanzó los 2 mil millones de dólares, de los cuales InfiniBand contribuyó con el 75% de los ingresos. .

Al comparar InfiniBand y RoCE, podemos ver que ambos tienen sus propias ventajas y escenarios de aplicación. InfiniBand funciona bien en el campo de la informática de alto rendimiento, proporcionando un rendimiento excelente, baja latencia y escalabilidad. RoCE es más fácil de integrar en la infraestructura Ethernet existente y tiene un costo menor. Los protocolos de transporte emergentes representados por UEC también representan el continuo desarrollo e innovación de la tecnología. Sólo adaptándonos a las necesidades cambiantes podremos mantener la competitividad básica.

Deja un comentario

Ir al Inicio