AI Hypercomputer utilizza servizi di rete specifici determinati dal tipo di macchina GPU che scegli. La comprensione di questi servizi ti consente di ottimizzare le prestazioni e il goodput, ovvero l'avanzamento effettivo di un'attività di addestramento di machine learning.
Networking per infrastruttura
L'architettura di rete per il deployment dipende dalla scelta dell'infrastruttura, GPU generiche o GPU in cluster.
Networking VPC standard per GPU generiche
Le GPU generiche utilizzano il networking VPC standard Google Cloud.
- Architettura: si basa su una progettazione VPC multi-tenant standard per l'inferenza, l'erogazione del modello e la ricerca esplorativa.
- Protocolli: utilizza TCP/IP su Google Virtual NIC (gVNIC).
Fabric ad alte prestazioni per GPU in cluster
AI Hypercomputer ti aiuta a eseguire il deployment di macchine GPU che utilizzano un'architettura di rete gerarchica e con allineamento ai rail. La connettività prevedibile e ad alte prestazioni di questa progettazione riduce al minimo l'overhead di comunicazione, il che migliora direttamente il goodput consentendo alle GPU di dedicare più tempo al calcolo anziché all'attesa dei dati.
La disposizione con allineamento ai rail delle GPU in cluster include tre componenti:
- Sub-blocchi:un gruppo di host fisicamente colocalizzati su un singolo blocco. Uno switch top-of-rack (ToR) connette questi host, consentendo una comunicazione a hop singolo estremamente efficiente tra due GPU qualsiasi all'interno del sub-blocco. RDMA su Converged Ethernet (RoCE) facilita questa comunicazione diretta. Una libreria NCCL migliorata e ottimizzata per la topologia con allineamento ai rail di Google gestisce i collettivi di comunicazione GPU.
- Blocchi:una raccolta di sub-blocchi interconnessi da una rete non bloccante ad alta velocità che fornisce una larghezza di banda elevata. Qualsiasi GPU all'interno di un blocco è raggiungibile in un massimo di due hop di rete. Il sistema espone i metadati di blocco e sub-blocco per consentire il posizionamento ottimale dei job.
- Cluster:una raccolta di blocchi interconnessi che possono scalare a migliaia di GPU, consentendoti di eseguire workload di addestramento su larga scala. La comunicazione tra blocchi diversi aggiunge un solo hop aggiuntivo, mantenendo prestazioni e prevedibilità elevate anche su larga scala. Per consentire il posizionamento intelligente dei job su larga scala, i metadati a livello di cluster sono disponibili anche per gli orchestratori.
Tecnologie per la comunicazione da GPU a GPU
Le macchine GPU utilizzano una combinazione di tecnologie per fornire prestazioni elevate, velocità effettiva elevata e bassa latenza per i workload. Queste tecnologie includono RDMA su Converged Ethernet (RoCE), NIC NVIDIA e la topologia di rete con allineamento ai rail a livello di data center di Google.
La tecnologia NVLink di NVIDIA crea percorsi dati diretti ad altissima velocità tra le NIC NVIDIA su ogni macchina. Inoltre, RoCE consente un RDMA efficiente tra le GPU su macchine diverse.
Stack di rete GPU
Uno stack di rete è una raccolta di protocolli software, driver e livelli che funzionano insieme per implementare la comunicazione da GPU a GPU. Tipi di macchine GPU diversi utilizzano stack di rete diversi. La tabella seguente definisce gli stack di rete e i tipi di macchine associati:
| Stack di Networking | Descrizione | Tipo di macchina GPU |
|---|---|---|
| GPUDirect RDMA | Consente un percorso diretto per lo scambio di dati tra una GPU e un altro dispositivo. Per le istanze A4X Max e A4X, questo stack di rete utilizza RoCE. Per ulteriori informazioni, consulta Opzioni di configurazione del cluster con GPUDirect RDMA. | |
| GPUDirect-TCPXO | Migliora GPUDirect-TCPX eseguendo l'offload del protocollo TCP. Utilizzando GPUDirect-TCPXO, il tipo di macchina A3 Mega raddoppia la larghezza di banda della rete rispetto ad A3 High. Per informazioni su come massimizzare la larghezza di banda della rete sui cluster GKE che utilizzano GPUDirect-TCPXO, consulta Massimizzare la larghezza di banda della rete GPU nei cluster in modalità Standard e seleziona la scheda GPUDirect-TCPXO. | |
| GPUDirect-TCPX | Aumenta le prestazioni della rete consentendo il trasferimento dei payload dei pacchetti di dati direttamente dalla memoria della GPU all'interfaccia di rete. Per informazioni su come massimizzare la larghezza di banda della rete sui cluster GKE che utilizzano GPUDirect-TCPX, consulta Massimizzare la larghezza di banda della rete GPU nei cluster in modalità Standard e seleziona la scheda GPUDirect-TCPX. |
|
| TCP/IP standard | Il protocollo di rete di base per i workload generici (standard). Fornisce un'elevata affidabilità e un'ampia compatibilità con i servizi VPC standard. |
|
Rete del piano dati host e di archiviazione
Le istanze multi-GPU richiedono configurazioni di rete diverse per la comunicazione con l'istanza di computing rispetto all'elaborazione delle informazioni da GPU a GPU.
Un percorso di rete separato (a volte chiamato anche rete nord-sud o rete frontend) gestisce tutte le comunicazioni con l'istanza di computing. Questo traffico include l'accesso al disco, la comunicazione intra-VM, l'accesso a internet, l'accesso a Cloud Storage, la gestione a livello di host e la comunicazione con altri Google Cloud servizi.
Per gestire questo traffico, i tipi di macchine GPU utilizzano la configurazione Google Virtual NIC (gVNIC) sulle NIC Google Titanium. Le NIC Titanium eseguono l'offload delle attività di elaborazione di rete dalla CPU, liberandola per concentrarsi sui workload. Questa separazione contribuisce a garantire che il traffico host per uso generico e il traffico GPU-GPU dedicato utilizzino interfacce fisiche diverse, impedendo loro di competere per le stesse risorse di sistema.
Ambiente multi-VPC
Tutti i workload operano all'interno del Virtual Private Cloud (VPC) di Google Cloud.
Le macchine con acceleratori ad alte prestazioni sono dotate di una progettazione hardware specializzata che utilizza più interfacce di rete fisiche per gestire diversi tipi di traffico. Per gestire questa progettazione hardware specializzata, è necessario un ambiente multi-VPC, indipendentemente dal fatto che tu utilizzi Slurm, GKE o Compute Engine per eseguire i workload.
La configurazione multi-VPC specifica dipende dal tipo di macchina GPU e dal relativo stack di rete:
A4X Max, A4X, A4 e A3 Ultra con GPUDirect RDMA:queste macchine sono supportate da due NIC fisiche: una che supporta il traffico per uso generico e una che supporta il traffico RDMA. Le vNIC dell'istanza che eseguono il mapping alla NIC fisica per uso generico (l'interfaccia
nic0e un'interfaccia di rete aggiuntiva) sono collegate alle reti VPC normali. Le vNIC RDMA che eseguono il mapping alla NIC fisica con funzionalità RDMA sono collegate a una rete VPC separata con un profilo di rete RDMA per sfruttare GPUDirect RDMA. In totale, questi tipi di macchine richiedono tre reti VPC. Per scoprire come configurare questa infrastruttura di rete, consulta Creare VPC e subnet.A3 Mega con GPUDirect-TCPXO:queste macchine richiedono otto VPC separati per le NIC GPU, che sono dedicate alla comunicazione a larghezza di banda elevata. Per la procedura dettagliata su come completare questa configurazione, consulta Creare VPC e subnet.
A3 High con GPUDirect-TCPX:queste macchine richiedono quattro VPC separati per le NIC GPU, che sono dedicate alla comunicazione a larghezza di banda elevata. Per la procedura dettagliata su come completare questa configurazione, consulta Creare VPC e subnet.
Questa configurazione multi-VPC contribuisce a garantire che le operazioni di archiviazione e altre attività di sistema non competano per la larghezza di banda con le comunicazioni GPU-GPU critiche.
La configurazione di rete multi-VPC richiesta che devi configurare varia in base al tipo di macchina GPU. Per una guida dettagliata sulla disposizione della rete, sulle velocità della larghezza di banda e sulle NIC per tutti i tipi di macchine GPU supportati, consulta Networking e macchine GPU.
Il seguente diagramma mostra l'architettura di rete per una macchina GPU in cluster, evidenziando la separazione del traffico per uso generico e del traffico GPU-GPU dedicato su piani di rete diversi.
Come mostrato nel
diagramma precedente, queste macchine GPU utilizzano percorsi di rete dedicati per diversi
tipi di traffico. Il traffico per uso generico, inclusi l'accesso alla gestione e all'archiviazione, passa attraverso le NIC Google Titanium collegate a un VPC. La comunicazione GPU-GPU ad alte prestazioni utilizza interfacce di rete e VPC separati, ottimizzati con tecnologie come RDMA, contribuendo a garantire una larghezza di banda elevata e una bassa latenza per i workload di AI e ML.
Librerie e componenti di Networking
Per massimizzare la larghezza di banda e le prestazioni della rete, le seguenti librerie e componenti di rete ti consentono di utilizzare le GPU con lo stack di rete di Google:
- gVNIC: Google Virtual NIC (gVNIC) è un'interfaccia di rete virtuale progettata specificamente per Compute Engine. gVNIC migliora le prestazioni, aumenta la coerenza e contribuisce a ridurre i problemi di vicini rumorosi. gVNIC è consigliato per tutte le famiglie di macchine ed è la vNIC consigliata per la comunicazione host-host. Per ulteriori informazioni, vedi Utilizzo di Google Virtual NIC.
- NCCL: la NVIDIA Collective Communications Library (NCCL) fornisce primitive ottimizzate per le operazioni di comunicazione collettiva. NCCL è progettata specificamente per ambienti multi-GPU e multi-nodo che utilizzano GPU e networking NVIDIA. Esegui i test NCCL per valutare le prestazioni dei cluster di cui hai eseguito il deployment. Per ulteriori informazioni, consulta Testare le prestazioni di rete.
- Networking multiplo GKE: il supporto di più reti per i pod consente più interfacce su nodi e pod in un cluster GKE. Per i dettagli su come configurare il networking multiplo nel contesto di GPUDirect, consulta Massimizzare la larghezza di banda della rete GPU nei cluster in modalità Standard e Opzioni di configurazione del cluster con GPUDirect RDMA.
Per ulteriori dettagli sugli stack software disponibili, consulta Immagini del sistema operativo e Docker.
Passaggi successivi
- Per scoprire come proteggere i deployment, consulta Best practice per l'utilizzo dei service account.
- Per scoprire come proteggere la rete, consulta Regole firewall VPC.
- Per scoprire di più sulla connettività degli acceleratori, consulta Panoramica del networking GPU.