InfiniBand vs RoCEv2 : Optimiser les réseaux pour l'IA à grande échelle

Towardsdatascience

Les grands modèles linguistiques, titans computationnels de l’IA moderne, sont de plus en plus entraînés sur des milliers d’unités de traitement graphique (GPU). Pourtant, le volume considérable d’échanges de données entre ces GPU crée souvent un goulot d’étranglement non pas de puissance de traitement, mais de vitesse réseau. Dans des systèmes distribués aussi massifs, même les moindres retards de communication s’accumulent de manière spectaculaire ; un décalage d’une microseconde lorsque les GPU partagent des données peut déclencher une réaction en chaîne, ajoutant des heures à une tâche d’entraînement. Cette dépendance critique nécessite des réseaux spécialisés conçus pour le transfert de données à haut volume avec une latence minimale.

Historiquement, les transferts de données entre les nœuds de calcul dépendaient fortement de l’unité centrale de traitement (CPU). Lorsqu’un GPU devait envoyer des données à un nœud distant, le processus était indirect : le GPU écrivait d’abord les données dans la mémoire système hôte, la CPU les copiait ensuite dans un tampon de la carte réseau, et la carte d’interface réseau (NIC) les transmettait. Du côté de la réception, la NIC livrait les données au CPU, qui les écrivait dans la mémoire système pour que le GPU récepteur puisse les lire. Cette approche en plusieurs étapes, centrée sur le CPU, bien qu’adéquate pour des systèmes plus petits, devient rapidement un obstacle sévère à l’échelle requise pour les charges de travail d’IA, car les copies de données et l’implication du CPU introduisent des retards inacceptables.

Pour contourner ce goulot d’étranglement lié au CPU, des technologies comme l’Accès Direct à la Mémoire à Distance (RDMA) et GPUDirect de NVIDIA ont été développées. Le RDMA permet à une machine locale d’accéder directement à la mémoire d’une machine distante sans impliquer le CPU dans le transfert de données. La carte d’interface réseau gère toutes les opérations de mémoire de manière indépendante, éliminant les copies de données intermédiaires et réduisant significativement la latence. Cet accès direct à la mémoire est particulièrement précieux dans les environnements d’entraînement d’IA où des milliers de GPU doivent partager efficacement les informations de gradient en contournant les surcharges du système d’exploitation et les retards du réseau. GPUDirect étend ce concept, permettant aux GPU de communiquer directement avec d’autres matériels via des connexions PCIe, en contournant entièrement la mémoire système et le CPU. GPUDirect RDMA étend cela davantage en permettant à la carte réseau d’accéder directement à la mémoire du GPU pour les transferts réseau. Ce paradigme de communication directe exige un réseau capable de gérer des vitesses immenses, et aujourd’hui, deux choix principaux émergent : InfiniBand et RoCEv2. La décision entre eux impose un équilibre critique entre la vitesse brute, les contraintes budgétaires et la volonté d’entreprendre un réglage manuel du réseau.

InfiniBand est une technologie de réseau haute performance dédiée, conçue spécifiquement pour les environnements exigeants des centres de données et du supercalcul. Contrairement à l’Ethernet standard, qui gère le trafic général, InfiniBand est conçu de bout en bout pour offrir une vitesse ultra-élevée et une latence ultra-faible spécifiquement pour les charges de travail d’IA. Il fonctionne un peu comme un système ferroviaire à grande vitesse où les trains et les voies sont conçus sur mesure pour une vitesse maximale ; chaque composant, des câbles et des cartes réseau (appelées adaptateurs de canal hôte ou HCA) aux commutateurs, est optimisé pour déplacer les données rapidement et éviter tout délai.

InfiniBand fonctionne sur un principe fondamentalement différent de l’Ethernet ordinaire. Il contourne le protocole TCP/IP traditionnel, s’appuyant plutôt sur ses propres couches de transport légères optimisées pour la vitesse et une latence minimale. À la base, InfiniBand prend en charge le RDMA directement dans le matériel, ce qui signifie que le HCA gère les transferts de données sans interrompre le système d’exploitation ni créer de copies de données supplémentaires. Il utilise également un modèle de communication sans perte, empêchant les pertes de paquets même sous un trafic intense grâce à un système de contrôle de flux basé sur le crédit où les expéditeurs ne transmettent des données que lorsque le récepteur dispose d’un espace tampon suffisant. Dans les grands clusters GPU, les commutateurs InfiniBand déplacent les données entre les nœuds avec des latences souvent inférieures à une microseconde, assurant une communication cohérente et à haut débit car l’ensemble du système est conçu de manière cohésive à cette fin. Ses forces résident dans sa vitesse inégalée, sa prévisibilité et son évolutivité inhérente, étant conçu spécifiquement pour le RDMA et évitant les pertes de paquets. Cependant, ses faiblesses sont notables : le matériel est coûteux et largement lié à NVIDIA, ce qui limite la flexibilité. Il nécessite également des compétences spécialisées pour la configuration et le réglage, ce qui le rend plus difficile à gérer et moins interopérable avec les réseaux IP standard.

En revanche, RoCEv2 (RDMA over Converged Ethernet version 2) apporte les avantages du RDMA aux réseaux Ethernet conventionnels. Au lieu de nécessiter du matériel réseau personnalisé, RoCEv2 tire parti des réseaux IP existants, fonctionnant sur UDP pour le transport. Cette approche s’apparente à l’ajout d’une voie express pour les données critiques à une autoroute existante, plutôt que de reconstruire l’ensemble du système routier. Il offre une communication à haute vitesse et faible latence en utilisant l’infrastructure Ethernet familière.

RoCEv2 permet un accès direct à la mémoire entre les machines en encapsulant les écritures RDMA dans des paquets UDP/IP, leur permettant de traverser les réseaux de couche 3 standard sans nécessiter de fabric dédiée. Il utilise des commutateurs et des routeurs commerciaux, ce qui le rend plus accessible et plus rentable. La différence clé avec InfiniBand est que, tandis qu’InfiniBand gère le contrôle de flux et la congestion dans son environnement étroitement contrôlé, RoCEv2 s’appuie sur des améliorations spécifiques d’Ethernet pour atteindre un réseau quasi sans perte. Ces améliorations incluent le contrôle de flux prioritaire (PFC), qui met en pause le trafic au niveau de la couche Ethernet en fonction de la priorité pour éviter la perte de paquets ; la notification explicite de congestion (ECN), qui marque les paquets au lieu de les abandonner lorsque la congestion est détectée ; et la notification de congestion quantifiée pour les centres de données (DCQCN), un protocole de contrôle de congestion qui réagit aux signaux ECN pour une gestion du trafic plus fluide. Pour des performances RoCEv2 optimales, le réseau Ethernet sous-jacent doit être soigneusement configuré pour être sans perte ou quasi sans perte, nécessitant un réglage méticuleux des commutateurs, des files d’attente et des mécanismes de contrôle de flux. Ses points forts incluent la rentabilité grâce au matériel Ethernet standard, un déploiement plus facile pour les équipes familières avec les réseaux basés sur IP, et une intégration flexible dans des environnements mixtes. Cependant, il exige un réglage minutieux du PFC, de l’ECN et du contrôle de congestion pour éviter la perte de paquets. Il est également moins déterministe qu’InfiniBand, avec une variabilité potentielle de la latence et de la gigue, et le maintien d’une fabric Ethernet constamment sans perte devient de plus en plus complexe à mesure que les clusters évoluent.

En fin de compte, dans le domaine de l’IA à grande échelle, le réseau n’est pas seulement un conduit ; c’est la colonne vertébrale même qui détermine l’efficacité et la vitesse de l’entraînement. Des technologies comme le RDMA et le GPUDirect RDMA sont indispensables pour éliminer les goulots d’étranglement induits par le CPU, permettant aux GPU de communiquer directement. InfiniBand et RoCEv2 accélèrent tous deux la communication GPU-à-GPU, mais ils empruntent des chemins fondamentalement différents. InfiniBand construit une configuration réseau sur mesure et dédiée, offrant une vitesse et une faible latence inégalées à un coût significatif. RoCEv2, à l’inverse, offre une plus grande flexibilité en tirant parti de l’infrastructure Ethernet existante, proposant une solution plus économique qui nécessite un réglage méticuleux de son réseau sous-jacent pour atteindre des performances optimales. La décision entre InfiniBand et RoCEv2 se résume à un compromis classique : des performances inégalées et prévisibles à un prix élevé, ou une flexibilité rentable exigeant un réglage méticuleux du réseau. Pour ceux qui privilégient les performances de pointe absolues avec moins de souci pour le budget, InfiniBand reste la référence. Cependant, si l’exploitation de l’infrastructure Ethernet existante et la gestion des coûts sont primordiales, RoCEv2 offre une alternative convaincante, bien que plus intensive en configuration.