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 votre choix d'infrastructure : 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 : s'appuie sur une conception de VPC standard et mutualisée pour l'inférence, la mise en service du modèle 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 les rails. La connectivité prévisible et hautes performances de cette conception réduit au maximum la surcharge de communication, ce qui améliore directement le débit utile en permettant aux GPU de passer plus de temps sur le calcul plutôt que d'attendre les données.

La disposition alignée sur les rails des GPU en cluster comprend trois composants :

  • Sous-blocs : groupe d'hôtes physiquement regroupés sur 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 du 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 communications collectives entre les GPU.
  • Blocs : ensemble de sous-blocs interconnectés par un réseau haut débit non bloquant qui fournit 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 des blocs et des sous-blocs pour permettre un placement optimal des jobs.
  • Clusters : ensemble de blocs interconnectés pouvant évoluer jusqu'à 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 outils d'orchestration.

Technologies de communication entre les GPU

Les machines GPU utilisent une combinaison de technologies pour fournir 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 hébergés sur des machines différentes.

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. Les différents types de machines GPU utilisent des piles réseau différentes. Le tableau suivant définit les piles de mise en réseau et les types de machines associés :

Pile Mise en réseau Description Type de machine GPU
GPUDirect RDMA Active un chemin direct pour l'échange de données entre un GPU et un autre appareil. Pour les instances A5X, 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. En effet, grâce à GPUDirect-TCPXO, le type de machine A3 Mega offre le double de la bande passante réseau proposée par le type de machine 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 hôte et de stockage

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

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

Pour gérer ce trafic, les types de machines GPU utilisent la carte d'interface réseau virtuelle Google (gVNIC) ou, pour les instances Bare Metal A5X et A4X Max, l'interface réseau Intel Infrastructure Data Path Function (IDPF) sur les cartes d'interface réseau Google Titanium. Les cartes d'interface réseau Titanium déchargent le processeur des tâches de traitement réseau, ce qui lui permet de se concentrer sur vos charges de travail. Cette séparation permet de s'assurer que le trafic de l'hôte à usage général et le trafic dédié entre les GPU utilisent des interfaces physiques différentes, ce qui évite qu'ils ne se disputent les mêmes ressources système.

Environnement multi-VPC

Toutes les charges de travail s'exécutent 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 nécessaire, 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 :

  • A5X, A4X Max, A4X, A4 et A3 Ultra avec GPUDirect RDMA : ces machines sont associées à deux types de cartes d'interface réseau physiques : l'une compatible avec le trafic à usage général et l'autre compatible avec le trafic RDMA. Les interfaces réseau 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 interfaces réseau RDMA qui correspondent à la carte d'interface réseau physique compatible RDMA sont associées à un réseau VPC distinct avec un profil réseau RDMA pour utiliser GPUDirect RDMA. Au total, ces types de machines utilisent jusqu'à trois réseaux VPC. Pour les déploiements A5X, A4X Max et A4X au sein d'un même sous-bloc, la structure NVLink multinœud gère la communication entre GPU. Le réseau VPC RDMA est donc facultatif. 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 des GPU, qui sont dédiées aux communications à bande passante élevée. Pour savoir comment effectuer cette 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 des GPU, qui sont dédiées aux communications à bande passante élevée. Pour savoir comment effectuer cette 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 n'entrent pas en concurrence avec les communications critiques entre les GPU pour la bande passante.

La configuration de réseau multi-VPC requise que vous devez configurer diffère en fonction de votre type de machine GPU. Pour obtenir un guide détaillé sur la configuration du réseau, les débits 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é de GPU à GPU sur différents plans réseau.

Architecture réseau pour les machines AI Hypercomputer avec GPU. Comme le montre 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 d'assurer 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 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 aide à réduire les problèmes de voisins bruyants. gVNIC est recommandé sur toutes les familles de machines et est la vNIC recommandée pour la communication d'hôte à hôte. 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 des réseaux NVIDIA. Exécutez des tests NCCL pour évaluer les performances des clusters déployés. Pour en savoir plus, consultez Tester les performances du réseau.
  • Multiréseau GKE : la compatibilité multiréseau des pods permet d'activer 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 Standard et Options de configuration des clusters avec GPUDirect RDMA.

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

Étapes suivantes