Présentation de la mise en réseau des GPU

AI Hypercomputer utilise des services réseau spécifiques déterminés par le type de machine GPU que vous choisissez. Comprendre ces services vous permet d'optimiser les performances et le débit utile, c'est-à-dire la progression effective d'une tâche d'entraînement de machine learning.

Mise en réseau par infrastructure

L'architecture réseau de votre déploiement dépend de l'infrastructure que vous choisissez : GPU généraux ou GPU en cluster.

Mise en réseau VPC standard pour les GPU généraux

Les GPU généraux utilisent la mise en réseau VPC standard Google Cloud.

  • Architecture : repose sur une conception VPC mutualisée standard pour l'inférence, la mise en service de modèles et la recherche exploratoire.
  • Protocoles : utilise TCP/IP sur la carte d'interface réseau virtuelle Google (gVNIC).

Structures hautes performances pour les GPU en cluster

AI Hypercomputer vous aide à déployer des machines GPU qui utilisent une architecture réseau hiérarchique alignée sur rails. La connectivité prévisible et hautes performances de cette conception réduit la surcharge de communication, ce qui améliore directement le débit utile en permettant aux GPU de consacrer plus de temps au calcul plutôt qu'à l'attente des données.

L'arrangement aligné sur rails des GPU en cluster comprend trois composants :

  • Sous-blocs : groupe d'hôtes physiquement regroupés dans un même bloc. Un commutateur de haut de rack (ToR, top-of-rack) connecte ces hôtes, ce qui permet une communication extrêmement efficace à saut unique entre deux GPU quelconques dans le sous-bloc. RDMA over Converged Ethernet (RoCE) facilite cette communication directe. Une bibliothèque NCCL améliorée et optimisée pour la topologie alignée sur rails de Google gère les collectifs de communication GPU.
  • Blocs : ensemble de sous-blocs interconnectés par un réseau non bloquant à haut débit qui offre une bande passante élevée. Tout GPU d'un bloc est accessible en deux sauts réseau maximum. Le système expose les métadonnées de bloc et de sous-bloc pour permettre un placement optimal des jobs.
  • Clusters : ensemble de blocs interconnectés qui peuvent être mis à l'échelle pour atteindre des milliers de GPU, ce qui vous permet d'exécuter des charges de travail d'entraînement à grande échelle. La communication entre les différents blocs n'ajoute qu'un seul saut supplémentaire, ce qui maintient la prévisibilité et les performances élevées, même à grande échelle. Pour permettre un placement intelligent des jobs à grande échelle, les métadonnées au niveau du cluster sont également disponibles pour les orchestrateurs.

Technologies de communication entre les GPU

Les machines GPU utilisent une combinaison de technologies pour offrir des performances élevées, un débit élevé et une faible latence pour les charges de travail. Parmi ces technologies, citons RDMA over Converged Ethernet (RoCE), les cartes d'interface réseau NVIDIA, et la topologie de réseau alignée sur rails à l'échelle du centre de données de Google.

La technologie NVLink de NVIDIA crée des chemins de données directs à très haut débit entre les cartes d'interface réseau NVIDIA de chaque machine. De plus, RoCE permet une communication RDMA efficace entre les GPU de différentes machines.

Piles réseau GPU

Une pile réseau est un ensemble de protocoles logiciels, de pilotes et de couches qui fonctionnent ensemble pour implémenter la communication entre les GPU. Différents types de machines GPU utilisent différentes piles réseau. Le tableau suivant définit les piles réseau et les types de machines associés :

Pile Mise en réseau Description Type de machine GPU
GPUDirect RDMA Permet un chemin direct pour l'échange de données entre un GPU et un autre appareil. Pour les instances A4X Max et A4X, cette pile réseau utilise RoCE. Pour en savoir plus, consultez Options de configuration de cluster avec GPUDirect RDMA.
GPUDirect-TCPXO Améliore GPUDirect-TCPX en déchargeant le protocole TCP. Avec GPUDirect-TCPXO, le type de machine A3 Mega double la bande passante réseau par rapport à A3 High. Pour savoir comment maximiser la bande passante réseau sur les clusters GKE qui utilisent GPUDirect-TCPXO, consultez Maximiser la bande passante réseau des GPU dans les clusters en mode standard et sélectionnez l' onglet GPUDirect-TCPXO.
GPUDirect-TCPX Améliore les performances réseau en permettant aux charges utiles des paquets de données d'être transférées directement de la mémoire GPU vers l' interface réseau. Pour savoir comment maximiser la bande passante réseau sur les clusters GKE qui utilisent GPUDirect-TCPX, consultez Maximiser la bande passante réseau des GPU dans les clusters en mode standard et sélectionnez l' onglet GPUDirect-TCPX.
TCP/IP standard Protocole réseau de référence pour les charges de travail générales (standards). Il offre une fiabilité élevée et une compatibilité étendue avec les services VPC standards.
  • A2 (A100)
  • G4 (RTX PRO 6000)
  • G2 (L4)
  • N1 (T4 ou V100)

Réseau du plan de données de l'hôte et du stockage

Les instances multi-GPU nécessitent différentes configurations réseau pour la communication avec l'instance de calcul par rapport au traitement des informations entre les GPU.

Un chemin réseau distinct (parfois appelé réseau nord-sud ou réseau frontend) gère toutes les communications avec l'instance de calcul. Ce trafic inclut l'accès au disque, la communication intra-VM, l'accès à Internet, l'accès à Cloud Storage, la gestion au niveau de l'hôte et la communication avec d'autres Google Cloud services.

Pour gérer ce trafic, les types de machines GPU utilisent la configuration de la carte d'interface réseau virtuelle Google (gVNIC) sur les cartes d'interface réseau Titanium de Google. Les cartes d'interface réseau Titanium déchargent le CPU des tâches de traitement réseau, ce qui permet ainsi de le consacrer à vos charges de travail. Cette séparation permet de s'assurer que le trafic hôte à usage général et le trafic dédié entre les GPU utilisent différentes interfaces physiques, ce qui les empêche de se faire concurrence pour les mêmes ressources système.

Environnement multi-VPC

Toutes les charges de travail fonctionnent dans le cloud privé virtuel (VPC) de Google Cloud.

Les machines à accélérateurs hautes performances présentent une conception matérielle spécialisée qui utilise plusieurs interfaces réseau physiques pour gérer différents types de trafic. Pour gérer cette conception matérielle spécialisée, un environnement multi-VPC est requis, que vous utilisiez Slurm, GKE ou Compute Engine pour exécuter vos charges de travail.

La configuration multi-VPC spécifique dépend du type de machine GPU et de sa pile réseau :

  • A4X Max, A4X, A4 et A3 Ultra avec GPUDirect RDMA : ces machines sont soutenues par deux cartes d'interface réseau physiques : une qui prend en charge le trafic à usage général et une autre qui prend en charge le trafic RDMA. Les cartes d'interface réseau virtuelles d'instance qui correspondent à la carte d'interface réseau physique à usage général (l'interface nic0 et une interface réseau supplémentaire) sont associées à des réseaux VPC standards. Les cartes d'interface réseau virtuelles RDMA qui correspondent à la carte d'interface réseau physique compatible avec RDMA sont associées à un réseau VPC distinct avec un profil réseau RDMA pour exploiter GPUDirect RDMA. Au total, ces types de machines nécessitent trois réseaux VPC. Pour savoir comment configurer cette infrastructure réseau, consultez Créer des VPC et des sous-réseaux.

  • A3 Mega avec GPUDirect-TCPXO : ces machines nécessitent huit VPC distincts pour les cartes d'interface réseau GPU, qui sont dédiées à la communication à haut débit. Pour obtenir des instructions détaillées sur la configuration, consultez Créer des VPC et des sous-réseaux.

  • A3 High avec GPUDirect-TCPX : ces machines nécessitent quatre VPC distincts pour les cartes d'interface réseau GPU, qui sont dédiées à la communication à haut débit. Pour obtenir des instructions détaillées sur la configuration, consultez Créer des VPC et des sous-réseaux.

Cette configuration multi-VPC permet de s'assurer que les opérations de stockage et les autres tâches système ne se font pas concurrence pour la bande passante avec les communications critiques entre les GPU.

La configuration réseau multi-VPC requise que vous devez configurer diffère selon le type de machine GPU. Pour obtenir un guide détaillé sur l'arrangement réseau, les vitesses de bande passante et les cartes d'interface réseau pour tous les types de machines GPU compatibles, consultez Mise en réseau et machines GPU.

Le schéma suivant illustre l'architecture réseau d'une machine GPU en cluster, en mettant en évidence la séparation du trafic à usage général et du trafic dédié entre les GPU sur différents plans réseau.

Architecture réseau pour les machines GPU AI Hypercomputer. Comme illustré dans le schéma précédent, ces machines GPU utilisent des chemins réseau dédiés pour différents types de trafic. Le trafic à usage général, y compris l'accès à la gestion et au stockage, transite par les cartes d'interface réseau Titanium de Google connectées à un VPC. La communication hautes performances entre les GPU utilise des interfaces réseau et des VPC distincts, optimisés avec des technologies telles que RDMA, ce qui permet de garantir une bande passante élevée et une faible latence pour les charges de travail d'IA et de ML.

Bibliothèques et composants de mise en réseau

Pour maximiser la bande passante et les performances du réseau, les bibliothèques et composants de mise en réseau suivants vous permettent d'utiliser des GPU avec la pile réseau de Google :

  • gVNIC : la carte d'interface réseau virtuelle Google (gVNIC) est une interface de réseau virtuel spécialement conçue pour Compute Engine. gVNIC améliore les performances, augmente la cohérence et permet de réduire les problèmes de voisins bruyants. gVNIC est recommandé sur toutes les familles de machines et est la carte d'interface réseau virtuelle recommandée pour la communication entre hôtes. Pour plus d'informations, consultez la section Utiliser la carte d'interface réseau virtuelle Google.
  • NCCL : la bibliothèque NVIDIA Collective Communications Library (NCCL) fournit des primitives optimisées pour les opérations de communication collective. NCCL est spécialement conçu pour les environnements multi-GPU et multi-nœuds utilisant des GPU et une mise en réseau NVIDIA. Exécutez des tests NCCL pour évaluer les performances des clusters déployés. Pour en savoir plus, consultez Tester les performances réseau.
  • Multiréseau GKE : la compatibilité multiréseau des pods permet d'utiliser plusieurs interfaces sur les nœuds et les pods d'un cluster GKE. Pour savoir comment configurer le multiréseau dans le contexte de GPUDirect, consultez Maximiser la bande passante réseau des GPU dans les clusters en mode standardet Options de configuration de cluster avec GPUDirect RDMA.

Pour en savoir plus sur les piles logicielles disponibles, consultez Images d'OS et Docker images.

Étape suivante