Analyse de la technologie de mise en réseau de cluster GPU : NVLink, InfiniBand, ROCE, DDC

Pour obtenir de bonnes performances d'entraînement, les réseaux GPU doivent remplir les conditions suivantes :

1. Délai de bout en bout : étant donné que les communications GPU sont fréquentes, la réduction de la latence globale du transfert de données entre les nœuds contribue à raccourcir le temps global de formation.

2. Transmission sans perte : ceci est essentiel pour l'entraînement de l'IA, car toute perte de pentes ou de résultats intermédiaires entraînera le retour de l'entraînement au point de contrôle précédent stocké en mémoire et son redémarrage, ce qui affectera gravement les performances de l'entraînement.

3. Mécanisme efficace de contrôle de la congestion de bout en bout : dans une topologie arborescente, une congestion transitoire est inévitable lorsque plusieurs nœuds transmettent des données à un seul nœud. Une congestion persistante augmentera la latence de la queue du système. En raison de la dépendance séquentielle entre les GPU, même si la mise à jour du gradient d'un GPU est affectée par la latence du réseau, plusieurs GPU peuvent cesser de fonctionner. Une liaison lente suffit à réduire les performances d'entraînement.

En plus des facteurs ci-dessus, le coût total du système, la consommation d’énergie et les coûts de refroidissement doivent également être pris en compte de manière globale. Sur la base de ces prémisses, nous explorerons les différents choix de conception d’architecture GPU ainsi que leurs avantages et inconvénients.

I. Système de commutation NVLink

Le commutateur NVLink qui connecte 8 GPU dans un serveur GPU peut également être utilisé pour créer un réseau de commutation connectant les serveurs GPU. Nvidia a présenté une topologie qui utilise l'architecture NVSwitch pour connecter 32 nœuds (ou 256 GPU) lors de la conférence Hot Chips en 2022. Puisque NVLink est spécifiquement conçu pour connecter des GPU avec des liaisons point à point à haut débit, il offre des performances plus élevées et une surcharge inférieure à celle des réseaux traditionnels.

nvidia-nvswitch-topologie-deux

Le NVswitch de troisième génération est équipé de 64 ports NVLink, offrant jusqu'à 12.8 Tbit/s de capacité de commutation, tout en prenant en charge les fonctions de multidiffusion et d'agrégation de réseau. L'agrégation de réseau peut rassembler tous les dégradés générés par les GPU fonctionnels au sein des NVswitches et renvoyer les dégradés mis à jour aux GPU pour l'itération suivante. Cette fonctionnalité permet de réduire la quantité de transfert de données entre les GPU pendant le processus d'itération de formation.

Selon Nvidia, l'architecture NVswitch est deux fois plus rapide que le réseau de commutation InfiniBand lors de la formation du modèle GPT-3, affichant des performances impressionnantes. Cependant, il convient de noter que la bande passante de ce switch est quatre fois inférieure à celle du switch 51.2 Tbps fourni par les fournisseurs de switch haut de gamme.

Si l’on essaie d’utiliser des NVswitches pour construire un système à grande échelle contenant plus de 1000 XNUMX GPU, cela s’avère non seulement peu rentable, mais peut également être limité par le protocole lui-même, le rendant incapable de prendre en charge des systèmes à grande échelle. De plus, Nvidia ne vend pas les NVswitches séparément, ce qui signifie que si les centres de données souhaitent étendre leurs clusters existants en mélangeant et en faisant correspondre les GPU de différents fournisseurs, ils ne pourront pas utiliser les NVswitches, car les GPU d'autres fournisseurs ne prennent pas en charge ces interfaces. .

diagramme-nvidia-nvswitch

II. Réseau InfiniBand

InfiniBand (IB) est une technologie qui constitue une alternative haut débit depuis son lancement en 1999, remplaçant efficacement les technologies de bus PCI et PCI-X et largement utilisée pour connecter des serveurs, du stockage et des réseaux. Bien que sa grande vision initiale ait été réduite en raison de facteurs économiques, InfiniBand a toujours été largement appliqué dans des domaines tels que le calcul haute performance, les clusters d'intelligence artificielle/d'apprentissage automatique et les centres de données. Ceci est principalement dû à son excellente vitesse, sa faible latence, sa transmission sans perte et son accès direct à la mémoire à distance (RDMA) capacités.

bande infinie

Le protocole InfiniBand (IB) vise à obtenir une conception efficace et légère, évitant efficacement les surcharges courantes dans les protocoles Ethernet. Il prend en charge la communication basée sur les canaux et sur la mémoire et peut gérer efficacement divers scénarios de transfert de données.

En utilisant un contrôle de flux basé sur le crédit entre les appareils d'envoi/réception, IB réalise une transmission sans perte (au niveau de la file d'attente ou du canal virtuel). Ce contrôle de flux saut par saut garantit qu'aucune perte de données ne se produira en raison d'un débordement de mémoire tampon. De plus, il prend également en charge la notification de congestion entre les points de terminaison (similaire à ECN dans la pile de protocoles TCP/IP). IB offre une excellente qualité de service, permettant de prioriser certains types de trafic afin de réduire la latence et d'éviter la perte de paquets.

Il convient de mentionner que tous les commutateurs IB prennent en charge le protocole RDMA, qui permet de transférer les données directement de la mémoire d'un GPU vers la mémoire d'un autre GPU, sans l'intervention du système d'exploitation du CPU. Ce mode de transfert direct améliore le débit et réduit considérablement la latence de bout en bout.

Cependant, malgré ses nombreux avantages, le système de commutation InfiniBand n'est pas aussi populaire que le système de commutation Ethernet. En effet, le système de commutation InfiniBand est relativement difficile à configurer, à maintenir et à faire évoluer. Le InfiniBand Le plan de contrôle est généralement contrôlé de manière centralisée par un seul gestionnaire de sous-réseau. Bien qu'il puisse bien fonctionner dans de petits clusters, son évolutivité peut devenir un défi pour les réseaux dotés de 32 XNUMX GPU ou plus. De plus, le réseau IB nécessite également du matériel spécialisé, tel que des adaptateurs de canal hôte et des câbles InfiniBand, ce qui rend son coût d'extension plus élevé que celui du réseau Ethernet.

NVIDIA LinkX

Actuellement, Nvidia est le seul fournisseur à proposer des commutateurs IB haut de gamme pour les clusters HPC et GPU AI. Par exemple, OpenAI a utilisé 10,000 100 GPU Nvidia A3 et un réseau de commutation IB pour entraîner son modèle GPT-16 sur le cloud Microsoft Azure. Meta a récemment construit un cluster avec 100 2 GPU, qui utilise des serveurs GPU Nvidia A2021 et des commutateurs Quantum-25.6 IB (Nvidia a lancé une nouvelle plate-forme réseau InfiniBand lors de la conférence GTC 400, avec 10,000 Tb/s de capacité de commutation et des ports de XNUMX Gb/s). Ce cluster est utilisé pour entraîner leurs modèles d'intelligence artificielle générative, dont LLaMA. Il convient de noter que lors de la connexion de plus de XNUMX XNUMX GPU, la commutation entre les GPU à l'intérieur du serveur est effectuée par les commutateurs NV à l'intérieur du serveur, tandis que le réseau IB/Ethernet est responsable de la connexion des serveurs.

Pour faire face à la demande de formation pour des paramètres plus larges, les fournisseurs de services cloud à très grande échelle cherchent à créer des clusters GPU avec 32 64 ou même XNUMX XNUMX GPU. À cette échelle, il peut s’avérer plus économique d’utiliser des réseaux Ethernet. En effet, Ethernet a formé un écosystème solide parmi de nombreux fournisseurs de silicium/systèmes et de modules optiques, et vise des normes ouvertes, garantissant l'interopérabilité entre les fournisseurs.

Ethernet sans perte RoCE

Ethernet est largement utilisé dans diverses applications, des centres de données aux réseaux fédérateurs, avec des vitesses allant de 1 Gbit/s à 800 Gbit/s, et devrait même atteindre 1.6 Tbit/s à l'avenir. Par rapport à Infiniband, Ethernet présente un avantage en termes de vitesse des ports d'interconnexion et de capacité totale du commutateur. De plus, les commutateurs Ethernet sont relativement moins chers, avec un coût par unité de bande passante inférieur, grâce à la concurrence féroce entre les fournisseurs de puces réseau haut de gamme, qui les pousse à intégrer davantage de bande passante dans les ASIC, réduisant ainsi le coût par gigabit.

puce de commutation ethernet

Les principaux fournisseurs d'ASIC de commutateur Ethernet haut de gamme peuvent fournir jusqu'à 51.2 Tbps de capacité de commutation, équipés de ports 800 Gbps, soit deux fois les performances de Quantum-2 (une nouvelle plate-forme réseau InfiniBand lancée lors du NVIDIA GTC 2021, avec 25.6 Tbps de capacité du commutateur et ports 400 Gbit/s). Cela signifie que si le débit du commutateur est doublé, le nombre de commutateurs requis pour construire un réseau GPU peut être réduit de moitié.

Ethernet peut également fournir un service de transmission sans perte, via un contrôle de flux prioritaire (PFC). PFC prend en charge huit classes de service, chacune pouvant être contrôlée par le flux et certaines pouvant être désignées comme classes sans perte. Lors du traitement et du passage par les commutateurs, le trafic sans perte a une priorité plus élevée que le trafic avec perte. En cas de congestion du réseau, les commutateurs ou les cartes réseau peuvent gérer les périphériques en amont via le contrôle de flux, au lieu de simplement supprimer des paquets.

De plus, Ethernet prend également en charge le RDMA (accès direct à la mémoire) via RoCEv2 (RDMA sur Converged Ethernet), où les trames RDMA sont encapsulées dans IP/UDP. Lorsque les paquets RoCEv2 arrivent à la carte réseau (NIC) du serveur GPU, la NIC peut transférer directement les données RDMA vers la mémoire du GPU, sans intervention du processeur. Parallèlement, de puissants schémas de contrôle de congestion de bout en bout, tels que DCQCN, peuvent être déployés pour réduire la congestion de bout en bout et la perte de paquets du RDMA. En termes d'équilibrage de charge, les protocoles de routage tels que BGP utilisent le routage multivoie à coût égal (ECMP) pour distribuer les paquets sur plusieurs chemins avec un « coût » égal jusqu'à la destination. Lorsque les paquets arrivent sur un commutateur doté de plusieurs chemins de coût égal vers la cible, le commutateur utilise une fonction de hachage pour décider du chemin des paquets. Cependant, le hachage n’est pas toujours parfait et peut entraîner une charge inégale de certains liens, entraînant une congestion du réseau.

Demande RDMA

En termes d'équilibrage de charge, les protocoles de routage tels que BGP utilisent le routage multi-chemin à coût égal (ECMP) pour distribuer les paquets sur plusieurs chemins avec un « coût » égal. Lorsqu'un paquet arrive sur un commutateur comportant plusieurs chemins de coût égal vers la destination, le commutateur utilise une fonction de hachage pour décider quel chemin envoyer le paquet. Cependant, le hachage n’est pas toujours parfait et peut entraîner une charge inégale de certains liens, entraînant une congestion du réseau.

Pour résoudre ce problème, certaines stratégies peuvent être adoptées, comme réserver un léger excédent de bande passante ou mettre en œuvre un équilibrage de charge adaptatif, qui permet au commutateur d'acheminer de nouveaux paquets de flux vers d'autres ports lorsqu'un chemin est encombré. De nombreux commutateurs prennent déjà en charge cette fonctionnalité. De plus, l’équilibrage de charge au niveau des paquets de RoCEv2 peut répartir uniformément les paquets sur toutes les liaisons disponibles, afin de maintenir l’équilibre des liaisons. Mais cela peut entraîner l'arrivée des paquets à destination dans le désordre, et cela nécessite que la carte réseau prenne en charge le traitement de ces données non ordonnées sur la couche de transport RoCE, pour garantir que le GPU reçoit les données dans l'ordre. Cela nécessite une prise en charge matérielle supplémentaire de la part de la carte réseau et du commutateur Ethernet.

De plus, les commutateurs Ethernet ROCE de certains fournisseurs peuvent également regrouper les gradients des GPU à l'intérieur du commutateur, ce qui contribue à réduire le trafic inter-GPU pendant le processus de formation, comme les commutateurs Ethernet haut de gamme de NVIDIA.

En résumé, les commutateurs Ethernet et les cartes réseau haut de gamme disposent d'un puissant contrôle de congestion, d'un équilibrage de charge et d'une prise en charge RDMA, et ils peuvent s'adapter à des conceptions plus grandes que les commutateurs IB. Certains fournisseurs de services cloud et sociétés de clusters à grande échelle ont commencé à utiliser des réseaux GPU basés sur Ethernet pour connecter plus de 32 XNUMX GPU.

Réseau DDC entièrement planifié

Récemment, plusieurs fournisseurs de puces de commutateur/routeur ont annoncé le lancement de puces prenant en charge Fabric ou AI Fabric entièrement planifié. Ce réseau entièrement planifié est appliqué à de nombreuses conceptions de châssis modulaires depuis plus d'une décennie, y compris les routeurs de la série PTX de Juniper, qui utilisent un réseau VOQ (Virtual Output Queue).

Dans l'architecture VOQ, les paquets sont mis en mémoire tampon une seule fois au niveau du commutateur feuille d'entrée et stockés dans des files d'attente correspondant au commutateur feuille de sortie final/au port WAN/à la file d'attente de sortie. Ces files d'attente sont appelées files d'attente de sortie virtuelles (VOQ) au niveau du commutateur d'entrée. Par conséquent, chaque commutateur feuille d'entrée fournit un espace tampon pour chaque file d'attente de sortie dans l'ensemble du système. La taille de ce tampon est généralement suffisante pour accueillir les paquets de chaque VOQ lorsqu'ils rencontrent une congestion en 40 à 70 microsecondes. Lorsque la quantité de données dans un VOQ est faible, elles sont conservées dans le tampon intégré à la puce ; lorsque la file d'attente commence à croître, les données sont transférées vers le tampon profond de la mémoire externe.

Lorsqu'un VOQ sur un commutateur feuille d'entrée accumule plusieurs paquets, il envoie une requête au commutateur de sortie, lui demandant de transmettre ces paquets dans le réseau. Ces requêtes sont envoyées via le réseau vers le commutateur feuille de sortie.

Le planificateur du commutateur feuille de sortie approuve ces demandes sur la base d'une hiérarchie de planification stricte et de l'espace disponible dans son tampon de sortie peu profond. Le taux de ces approbations est limité pour éviter une sursouscription des liaisons de commutation (au-delà de la plage d'acceptation du tampon de file d'attente).

Une fois que l'approbation arrive au commutateur feuille d'entrée, il envoie l'ensemble de paquets approuvés à la sortie et les transmet via toutes les liaisons montantes disponibles.

Les paquets envoyés à un VOQ spécifique peuvent être répartis uniformément sur toutes les liaisons de sortie disponibles, pour obtenir un équilibrage de charge parfait. Cela peut entraîner une réorganisation des paquets. Cependant, le commutateur de sortie a une fonction logique qui peut réorganiser ces paquets dans l'ordre, puis les transmettre aux nœuds GPU.

Étant donné que le planificateur de sortie contrôle les données approuvées avant qu'elles n'entrent dans le commutateur, évitant ainsi la surutilisation de la bande passante de la liaison, il élimine 99 % des problèmes de congestion causés par l'incast dans le plan de données Ethernet (lorsque plusieurs ports tentent d'envoyer du trafic vers un seul port de sortie). ) et élimine le blocage en tête de ligne (blocage HOL). Il convient de noter que dans cette architecture, les données (y compris les demandes et les approbations) sont toujours transmises via Ethernet.

Le blocage HOL fait référence au phénomène de transmission réseau, où le premier paquet d'une série de paquets rencontre un obstacle, provoquant le blocage de tous les paquets suivants et l'impossibilité de poursuivre la transmission, même si le port de sortie des paquets suivants est inactif. Ce phénomène affecte gravement l’efficacité et les performances de la transmission du réseau.

Certaines architectures, telles que les séries Express de Juniper et Jericho de Broadcom, implémentent des files d'attente de sortie virtuelles (VOQ) via leur plan de données cellulaire exclusif.

Dans cette méthode, le commutateur feuille divise les paquets en segments de taille fixe et les distribue uniformément sur toutes les liaisons de sortie disponibles. Par rapport à une distribution uniforme au niveau des paquets, cela peut améliorer l'utilisation des liaisons, car il est difficile d'utiliser pleinement toutes les liaisons avec un mélange de petits et grands paquets. Grâce au transfert de segment, nous évitons également un autre délai de stockage/transfert sur la liaison de sortie (interface Ethernet de sortie). Dans le plan de données de segment, les commutateurs spine utilisés pour transférer les segments sont remplacés par des commutateurs personnalisés, qui peuvent effectuer efficacement le transfert de segment. Ces commutateurs de plan de données de segment sont supérieurs aux commutateurs Ethernet en termes de consommation électrique et de latence, car ils n'ont pas besoin de prendre en charge la surcharge de la commutation L2. Par conséquent, le plan de données basé sur les segments peut non seulement améliorer l'utilisation de la liaison, mais également réduire le retard global du plan de données VOQ.

Mécanisme de transfert basé sur VOQ+Cell

Il existe certaines limites de l'architecture VOQ :

Le port d'entrée de chaque commutateur feuille doit disposer d'un tampon raisonnable pour stocker les paquets pour tous les VOQ du système pendant la congestion. La taille du tampon est proportionnelle au nombre de GPU et au nombre de files d'attente prioritaires par GPU. Une plus grande échelle de GPU entraîne directement une demande de tampon d’entrée plus importante.

Le tampon de la file d'attente de sortie doit disposer de suffisamment d'espace pour couvrir le délai aller-retour à travers le plan de données, afin d'éviter que ces tampons ne soient épuisés lors de la négociation d'approbation de la demande. Dans les clusters GPU plus grands, utilisant un plan de données à 3 niveaux, ce délai aller-retour peut augmenter en raison de la latence du câble et de la présence de commutateurs supplémentaires. Supposons que le tampon de la file d’attente de sortie ne soit pas correctement ajusté pour s’adapter à l’augmentation du délai aller-retour. Dans ce cas, la liaison de sortie ne pourra pas atteindre une utilisation à 100 %, réduisant ainsi les performances du système.

Bien que le système VOQ réduise la latence de queue causée par le blocage de tête de ligne grâce à la planification de sortie, la latence minimale d'un paquet est augmentée par un délai aller-retour supplémentaire, car le commutateur feuille d'entrée doit effectuer une négociation d'approbation de demande avant transmettre le paquet.

Malgré ces limitations, le VOQ (fabric) entièrement planifié a de bien meilleures performances en matière de réduction de la latence de queue que le trafic Ethernet typique. Si l'utilisation du lien augmente à plus de 90 % en augmentant la mémoire tampon, la surcharge supplémentaire apportée par l'extension de l'échelle GPU peut valoir la peine d'investir.

De plus, la dépendance envers un fournisseur est un problème rencontré par VOQ (fabric). Étant donné que chaque fournisseur utilise son protocole propriétaire, il est très difficile de mélanger et d'associer des commutateurs dans la même structure.

Résumé : Application des technologies de mise en réseau de cluster GPU grand public

Le système de commutation NVLink fournit une solution efficace pour l'intercommunication GPU, mais l'échelle GPU prise en charge est relativement limitée, principalement appliquée à la communication GPU au sein du serveur et à la transmission de données à petite échelle entre les nœuds du serveur. Le réseau InfiniBand, en tant que réseau RDMA natif, fonctionne parfaitement dans des environnements sans congestion et à faible latence. Cependant, en raison de son architecture relativement fermée et de son coût élevé, il convient mieux aux clients de petite et moyenne taille qui exigent des connexions filaires.

L'Ethernet sans perte ROCE, s'appuyant sur un écosystème Ethernet mature, le coût de mise en réseau le plus bas et la vitesse d'itération de bande passante la plus rapide, présente une plus grande applicabilité dans le scénario de clusters GPU de formation à moyenne et grande échelle.

Quant au réseau DDC entièrement planifié, il combine les technologies de commutation de cellules et de file d'attente de sortie virtuelle (VOQ), présentant ainsi un avantage significatif dans la résolution du problème de congestion Ethernet. En tant que technologie émergente, l’industrie en est encore au stade de la recherche pour évaluer son potentiel à long terme et ses perspectives d’application.

Laisser un commentaire

Remonter en haut