Aperçu de NVIDIA NVLink
NVIDIA NVLink s'est imposé comme une technologie fondamentale dans les domaines du calcul de haute performance (HPC). Cet article explore les subtilités de NVLink et présente les puces NVSwitch, les serveurs NVLink et les switchs NVLink, afin de clarifier son importance dans le paysage en constante évolution de l'informatique avancée.
Qu'est-ce que NVIDIA NVLink ?
NVLink est un protocole qui répond aux limitations de communication entre les GPU au sein d'un serveur. Contrairement aux switchs PCIe traditionnels, dont la bande passante est limitée, NVLink permet une interconnexion directe à grande vitesse entre les GPU au sein du serveur. La quatrième génération de NVLink offre une bande passante nettement plus élevée - 12 Gbps par voie - par rapport aux voies PCIe Gen5, ce qui est trois fois plus rapide.
NVLink a pour objectif d'offrir un réseau point à point rationalisé et à grande vitesse pour les interconnexions directes de GPU, en minimisant les frais généraux par rapport aux réseaux traditionnels. En fournissant une accélération CUDA à travers différentes couches, NVLink réduit la surcharge du réseau liée à la communication. NVLink a évolué en même temps que l'architecture GPU, passant de NVLink1 pour P100 à NVLink4 pour H100, comme le montre la figure. La principale différence entre NVLink 1.0, NVLink 2.0, NVLink 3.0 et NVLink 4.0 réside dans la méthode de connexion, la bande passante et les performances.
Puce NVSwitch
La puce NVSwitch est une puce physique semblable à un ASIC de commutation qui connecte plusieurs GPU avec des interfaces NVLink à haut débit, améliorant ainsi la communication et la bande passante au sein d'un serveur. La troisième génération de NVIDIA NVSwitch a été proposée et peut interconnecter chaque paire de GPU à un débit stupéfiant de 900 Go/s.
La dernière puce NVSwitch3, avec 64 ports NVLink4, offre un total de 12,8 Tbps de bande passante unidirectionnelle ou 3,2 TB/s de bande passante bidirectionnelle. Ce qui distingue la puce NVSwitch3, c'est son intégration de la fonction SHARP, qui agrège et met à jour les résultats de calcul sur plusieurs unités GPU pendant toutes les opérations réduites, réduisant ainsi les paquets de réseau et améliorant les performances de calcul.
Serveur NVLink
Les serveurs NVLink intègrent les technologies NVLink et NVSwitch pour connecter les GPU. On les trouve généralement dans les serveurs NVIDIA de la série DGX ou dans les serveurs OEM HGX dotés d'architectures similaires. Ces serveurs utilisent la technologie NVLink pour fournir une interconnectivité GPU, une évolutivité et des capacités HPC exceptionnelles. En 2022, NVIDIA a annoncé la quatrième génération du système NVIDIA® DGX™ à être construite avec le nouveau serveur NVIDIA DGX H100.
Par conséquent, les serveurs NVLink sont devenus indispensables dans des domaines critiques tels que l'informatique scientifique, le traitement des données volumineuses et les centres de données. En fournissant une puissance de calcul robuste et un traitement efficace des données, les serveurs NVLink répondent non seulement aux exigences de ces domaines, mais favorisent également les avancées et les innovations dans ces domaines.
Switch NVLink
En 2022, NVIDIA a retiré la puce NVSwitch et l'a transformée en un switch appelé NVLink Switch, qui connecte les périphériques GPU entre les hôtes. Il adopte une conception de taille 1U avec 32 ports OSFP ; chaque OSFP comprend 8 voies 112G PAM4, et chaque switch a 2 puces NVSwitch3 intégrées.
Réseau NVLink
Le switch physique NVSwitch connecte plusieurs serveurs GPU NVLink dans un grand réseau Fabric, qui est le réseau NVLink, résolvant ainsi les problèmes de bande passante et d'efficacité des communications à grande vitesse entre les GPU. Chaque serveur possède son propre espace d'adressage indépendant, assurant la transmission des données, l'isolation et la protection de la sécurité des GPU dans le réseau NVLink. Au démarrage du système, le réseau NVLink établit automatiquement une connexion par le biais de l'API logicielle et peut modifier l'adresse en cours de fonctionnement.
Le tableau ci-dessous compare les réseaux NVLink aux réseaux Ethernet traditionnels, démontrant la création d'un réseau NVLink indépendant de l'IP Ethernet et dédié au service GPU.
Concept
|
Exemple traditionnel
|
Réseau NVLink
|
---|---|---|
Couche physique
|
Supports électriques/optiques 400G
|
FW OSFP sur mesure
|
Couche liaison de données
|
Ethernet
|
HW et FW NVLink personnalisés sur la puce
|
Couche réseau
|
IP
|
Nouveaux protocoles d'adressage et de gestion du réseau NVLink
|
Couche transport
|
TCP
|
HW et FW NVLink personnalisés sur la puce
|
Couche session
|
Socles
|
SHARP groupsCUDA export des adresses réseau des structures de données
|
Couche de présentation
|
TSL/SSL
|
Abstractions de bibliothèques (par exemple, NCCL, NVSHMEM)
|
Couche application
|
HTTP/FTP
|
Applications d'utilisateurs ou structures Al
|
NIC
|
NIC PCIe (carte ou puce)
|
Fonctions intégrées dans le GPU et le NVSwitch
|
Déchargement RDMA
|
Moteur de décharge du NIC
|
Moteur de copie interne par GPU
|
Moteur de décharge du NIC
|
Moteur de décharge NIC/Switch
|
Moteurs SHARP internes du NVSwitch
|
Décharge de sécurité
|
Fonctionnalités de sécurité du NIC
|
Cryptage interne du GPU et pare-feu "TLB"
|
Contrôle de la transmission
|
Adaptation du câble NIC
|
Contrôleurs de câbles OSFP internes du NVSwitch
|
Tableau : Concepts traditionnels de mise en réseau comparés à leurs équivalents dans le système de commutation NVLink
|
Réseau InfiniBand VS réseau NVLink
Le réseau InfiniBand et le réseau NVLink sont deux technologies de réseau différentes utilisées dans les applications de calcul à haute performance et les centres de données. Elles présentent les différences suivantes :
Architecture et Design : Le réseau InfiniBand est une technologie de réseau standard ouverte qui utilise des connexions série multicanaux à haut débit, prenant en charge les communications point à point et multidiffusion. Le réseau NVLink est une technologie propriétaire de NVIDIA, conçue pour les connexions directes à haut débit entre les GPU.
Application : Le réseau InfiniBand est largement utilisé dans les clusters HPC et les centres de données à grande échelle. Le réseau NVLink est principalement utilisé dans les grappes de GPU à grande échelle, les HPC et autres domaines.
Bande Passante et Latence : Le réseau InfiniBand offre une large bande passante et une faible latence, ce qui permet d'augmenter le débit et de réduire les délais de transmission. Le réseau NVLink offre une bande passante plus élevée et une latence plus faible entre les GPU afin de permettre l'échange rapide de données et le calcul collaboratif. Voici une comparaison de la bande passante entre le H100 utilisant le réseau NVLink et le A100 utilisant le réseau IB.
En savoir plus - Introduction d'InfiniBand.
Conclusion
NVIDIA NVLink est une technologie innovante qui a révolutionné les domaines du HPC. Sa capacité à améliorer la communication entre les GPU, à accroître les performances et à permettre un traitement parallèle transparent en a fait un composant indispensable dans de nombreuses applications de HPC. Alors que le paysage de l'informatique avancée continue d'évoluer, l'importance et l'impact de NVLink continueront de se développer, en stimulant l'innovation et en repoussant les limites du possible.