Italia

Rete ad alta velocità potenziata RDMA per addestrare modelli di grandi dimensioni

Inviato il 19 Dic 2023 by
160

Capire RDMA per le reti ad alta velocità

Il Remote Direct Memory Access (RDMA) è all'avanguardia nella tecnologia di accesso alla memoria di rete ad altissima velocità e rivoluziona il modo in cui i programmi accedono rapidamente alla memoria dei nodi di elaborazione remoti. Il principio alla base della sua eccezionale velocità è illustrato in modo chiaro qui di seguito. RDMA introduce un cambiamento di paradigma eliminando la necessità di accedere alla rete attraverso il kernel del sistema operativo (ad esempio, Sockets, TCP/IP). Questo bypass strategico riduce il consumo di tempo della CPU associato alle operazioni del kernel, consentendo l'accesso diretto alla memoria della NIC (Network Interface Card), nota anche come HCA (Host Channel Adapter) in determinati contesti.

traditional-vs-rdma

Nel campo delle implementazioni hardware, RDMA si traduce in tre tecnologie chiave: InfiniBand, RoCE e iWARP. In particolare, InfiniBand e RoCE sono emerse come le scelte prevalenti, come riconosciuto dagli esperti del settore all'avanguardia nei progressi tecnologici.

Presentazione di InfiniBand: Larghezza di banda eccellente

L'ecosistema InfiniBand comprende al momento tecnologie mainstream di trasmissione ad alta velocità a 100G e 200G. Tra queste, Enhanced Data Rate (EDR, 100G) e HDR (High Data Rate, 200G) rappresentano alcuni termini proprietari. Vale la pena notare che alcuni brand sono ora in grado di fornire soluzioni con velocità ancora più elevate. Ad esempio, FS ha introdotto una scheda di rete 400 GB, e sono persino disponibili moduli ottici 800 G. La tecnologia InfiniBand sta avanzando rapidamente.

Nonostante le sue eccezionali capacità, InfiniBand è spesso trascurato da molti professionisti IT a causa del suo costo elevato, che lo rende meno accessibile per l'uso generale. Tuttavia, all'interno dei centri di supercalcolo delle principali università e istituti di ricerca, InfiniBand emerge come uno standard quasi indispensabile, in particolare per supportare le attività critiche di supercalcolo.

A differenza degli switch convenzionali, la rete InfiniBand impiega una topologia di rete particolare, nota come "Fat Tree", per facilitare la comunicazione senza soluzione di continuità tra le schede di rete di due qualsiasi nodi di elaborazione. La struttura Fat Tree comprende due livelli: il livello centrale, responsabile dell'inoltro del traffico e scollegato dai nodi di elaborazione, e il livello di accesso, che collega diversi nodi di elaborazione.

Il costo elevato dell'implementazione di una topologia Fat Tree in una rete InfiniBand è dovuto principalmente al fatto che, ad esempio, su uno switch di aggregazione con 36 porte, metà deve essere collegata ai nodi di calcolo e l'altra metà agli switch core di livello superiore per una comunicazione senza perdite. In particolare, ogni cavo costa circa 1,3K dollari e per una comunicazione senza perdite sono necessarie connessioni ridondanti.

fat-tree-topology

L'adagio "Si ottiene ciò che si paga"" si applica perfettamente a InfiniBand. È innegabile che offra un'elevata larghezza di banda e una bassa latenza senza pari. Secondo Wikipedia, InfiniBand vanta una latenza significativamente inferiore rispetto a Ethernet, con latenze rispettivamente di 100 nanosecondi e 230 nanosecondi. Queste prestazioni eccezionali hanno reso InfiniBand una tecnologia fondamentale per alcuni dei più importanti supercomputer del mondo, utilizzata da giganti del settore come Microsoft, NVIDIA e dai laboratori nazionali degli Stati Uniti.

Liberare il potenziale di RoCE: Una soluzione RDMA conveniente

Nell'ambito delle tecnologie di rete, RoCE (RDMA over Converged Ethernet) si presenta come un'alternativa economicamente vantaggiosa, soprattutto se paragonata a controparti costose come InfiniBand. Pur non essendo considerato economico, RoCE offre un'opzione più conveniente, fornendo funzionalità RDMA su Ethernet. Negli ultimi tempi, RoCE ha conosciuto un rapido sviluppo, diventando un valido sostituto di InfiniBand, soprattutto negli scenari in cui il costo di quest'ultimo è un fattore proibitivo.

Nonostante l'economicità, il raggiungimento di una rete veramente senza perdite con RoCE pone delle sfide, rendendo difficile mantenere il costo complessivo della rete al di sotto del 50% di quello che si avrebbe con InfiniBand.

Potenziare l'addestramento di modelli su larga scala: GPUDirect RDMA

Nel regno dell'addestramento di modelli su larga scala, i costi di comunicazione tra i nodi sono molto elevati. Con la fusione di InfiniBand e GPU è emersa una soluzione rivoluzionaria, che ha dato origine a una caratteristica fondamentale nota come GPUDirect RDMA. Questa innovazione facilita la comunicazione diretta tra GPU e nodi, aggirando il coinvolgimento di memoria e CPU. In poche parole, l'intricata danza della comunicazione tra le GPU di due nodi si svolge direttamente attraverso le schede di interfaccia di rete InfiniBand, evitando il percorso tradizionale attraverso la CPU e la memoria.

GPUDirect RDMA assume un'importanza maggiore nel contesto dell'addestramento di modelli su larga scala, dove i modelli risiedono sulle GPU. Il processo convenzionale di copia dei modelli nella CPU richiede già un notevole investimento di tempo e la loro trasmissione ad altri nodi tramite la CPU non farebbe che aggravare la lentezza del trasferimento dei dati.

gpu-direct-rdma

Ottimizzare grandi reti di modelli: Configurazione strategica

Nel mondo dei modelli di grandi dimensioni, il raggiungimento di prestazioni ottimali dipende da un'attenta configurazione, soprattutto quando si accoppiano una GPU e una scheda di rete InfiniBand. Qui presentiamo il sistema DGX del nostro partner NVIDIA, che sostiene l'accoppiamento one-to-one di GPU e scheda di rete InfiniBand e stabilisce un punto di riferimento. In questo paradigma, un nodo di calcolo standard può ospitare nove NIC InfiniBand. Di queste, una è dedicata al sistema di storage, mentre le altre otto sono assegnate alle singole schede GPU.

Questa configurazione, pur essendo ottimale, ha un costo considerevole, che spinge a cercare alternative più economiche. Un compromesso vantaggioso consiste nell'adottare un rapporto di 1 scheda di rete InfiniBand per 4 schede GPU.

Negli scenari pratici, sia la GPU che InfiniBand trovano i loro punti di connessione in uno switch PCI-E, che in genere ospita due GPU per switch. Lo scenario ideale si realizza quando a ogni GPU viene assegnata meticolosamente una scheda di rete InfiniBand dedicata. Tuttavia, le sfide sorgono quando due GPU condividono una singola scheda di rete InfiniBand e uno switch PCI-E. Questa configurazione introduce una contesa tra le GPU, che si contendono l'accesso alla scheda di rete InfiniBand condivisa.

PCI-E switch-connection

Il numero di schede di rete InfiniBand diventa un fattore determinante, che influisce direttamente sui livelli di contesa e, di conseguenza, sull'efficienza della comunicazione tra i nodi. Il diagramma che segue illustra chiaramente questa correlazione. In particolare, con una sola scheda di rete da 100 Gbps, la larghezza di banda si attesta a 12 GB/s, con aumenti successivi della larghezza di banda quasi lineari all'aumentare del numero di schede di rete. Immaginate il potenziale di trasformazione di una configurazione con otto schede H100 accoppiate a otto schede NDR InfiniBand da 400 G, per una velocità di trasferimento dati sorprendentemente elevata.

nvidia-ib-bw

Una scheda di rete per GPU è la situazione ideale:

gpu-network-solution

Progettare l'eccellenza: Ottimizzazione del rail per topologia di rete modello di grandi dimensioni

Nel campo dei modelli su larga scala, la chiave del successo sta nella configurazione di una topologia di rete fat-tree dedicata. A differenza dei tradizionali fat-tree per il calcolo ad alte prestazioni (HPC), "Rails" offre prestazioni superiori e rivoluzionarie.

Lower-End Fat-Tree and Rails-Optimized Topology

Questa illustrazione mostra una versione di base della topologia fat-tree e ottimizzata per Rails. Comprende due switch, con MQM8700 che rappresenta uno switch HDR. La velocità di interconnessione tra i due switch HDR è garantita da quattro cavi HDR. Ogni nodo GPU DGX vanta un totale di nove schede InfiniBand (IB), denominate Host Channel Adapters (HCA) nel diagramma. Tra queste, una scheda è dedicata esclusivamente allo storage (Storage Target), mentre le altre otto servono per l'addestramento dei modelli su larga scala. In particolare, HCA1/3/5/7 si collega al primo switch, mentre HCA2/4/6/8 si associa al secondo switch.

Full-Speed Rails-Optimized Topology

Per ottenere una rete continua e ad alte prestazioni, si consiglia di utilizzare una topologia di binari non ostruita e completamente ottimizzata, come illustrato nel diagramma precedente. Ogni nodo GPU DGX è dotato di otto schede IB, ognuna delle quali si collega a un singolo switch. Questi switch, chiamati leaf switch, sono in totale otto. L'assegnazione è meticolosa: HCA1 si collega al primo leaf switch, HCA2 al secondo e così via. Per facilitare la connettività ad alta velocità tra gli switch leaf, entrano in gioco gli switch spine.

La topologia sottostante, illustrata nel diagramma successivo, si sviluppa con due switch verdi che rappresentano gli switch spine e quattro switch blu come switch leaf. Un totale di 80 cavi collega gli switch blu e verdi, con gli switch blu posizionati strategicamente in basso, collegati ai nodi di calcolo. L'essenza di questa configurazione risiede nella capacità di aggirare i colli di bottiglia, consentendo a ogni scheda IB di comunicare ad alta velocità con tutte le altre schede IB della rete. Questo si traduce in un ambiente in cui ogni GPU può comunicare senza problemi con altre GPU a velocità senza precedenti.

spine to leaf to server nodes diagram

Eccellenza decisiva: Soluzioni InfiniBand e RoCE di FS

Nell'intricato panorama delle reti ad alte prestazioni e senza perdite, la scelta tra InfiniBand e RoCE dipende dalle esigenze specifiche dell'applicazione e dell'infrastruttura. Sia InfiniBand che RoCE sono dei veri e propri pilastri, in grado di offrire bassa latenza, elevata larghezza di banda e un overhead minimo per la CPU, rendendoli adatti alle applicazioni di elaborazione ad alte prestazioni.

FS offre una vasta gamma di prodotti ad alta velocità, che soddisfano sia le soluzioni InfiniBand che quelle Ethernet. I nostri moduli sono disponibili in un'ampia gamma di velocità, da 40G a 800G, con opzioni per DAC e AOC multi-rate per soddisfare le diverse esigenze dei nostri clienti. Inoltre, offriamo switch e NIC NVIDIA® per migliorare ulteriormente le capacità di networking. Questi prodotti non solo offrono prestazioni eccezionali, ma fungono anche da catalizzatori, amplificando in modo sostanziale le capacità di accelerazione del business dei clienti a costi contenuti.

Potresti essere interessato a

Conoscenza
See profile for Sheldon.
Sheldon
Cosa è la porta SFP di uno switch Gigabit?
22 Mag 2023
84.2k
Conoscenza
Conoscenza
See profile for Migelle.
Migelle
Switch PoE, PoE+ e PoE++: Come scegliere?
16 Mar 2023
36.9k
Conoscenza
See profile for Sheldon.
Sheldon
LACP e PAGP: Qual è la differenza?
08 Mar 2023
25.2k
Conoscenza
Conoscenza
See profile for Moris.
Moris
DHCP o IP Statico: Qual è il migliore?
08 Mag 2023
56.0k
Conoscenza
See profile for Migelle.
Migelle
Switch Attivo vs Passivo: Quale Scegliere?
07 Dic 2020
20.4k
Conoscenza
See profile for Sheldon.
Sheldon
RIP vs OSPF: Qual è la differenza?
15 Nov 2022
28.7k
Conoscenza
See profile for Vincent.
Vincent
Capire il moduli BiDi
08 Mar 2021
20.0k
Conoscenza
See profile for Vincent.
Vincent
XFP vs SFP+: Quali sono le differenze?
10 Gen 2023
14.9k
Conoscenza