Avatar di Marco Pedrani

a cura di Marco Pedrani

Managing Editor

Nel corso della conferenza Hot Chips 2018 di Cupertino, Nvidia ha svelato alcuni interessanti dettagli riguardo la tecnologia NVSwitch che troviamo alla base dei sistemi DGX-2 presentati sul finire di marzo alla GTC 2018.

Il CEO di Nvidia Jensen Huang presentò il server DGX-2 definendolo la "GPU più grande del mondo". Questo sistema si basa su ben 16 Tesla V100 da 32 GB interconnesse in modo da essere rilevate come un'unica GPU con memoria unificata.

Nvidia DGX-2 ha specifiche da capogiro, e il prezzo non è da meno: si parla di 400 mila dollari. Se si confronta però il prodotto con le soluzioni concorrenti usate nei datacenter più avanzati e dal punto di vista di chi si occupa di intelligenza artificiale, la cifra non è per nulla spropositata.

nvidia dgx 2

Lo sviluppo delle AI è in rapida crescita e ogni settimana arrivano nuovi progressi. La maggior parte dei nuovi modelli di deep learning è molto più grande dei precedenti e ha bisogno di maggiori capacità di memoria e potenza di calcolo.

La risposta di Nvidia a questi crescenti necessità è l'unione di 16 Tesla V100 con un'interfaccia di memoria universale e ben 512 GB di memoria HBM2. Questo DGX-2 offre 81.920 CUDA core e 12.240 Tensor core dedicati all'intelligenza artificiale. Per funzionare, questa macchina strabiliante ha bisogno di ben 10kW di potenza.

La Tesla V100 ha un die di 815 mm2 con 21 miliardi di transistor che si posa in cima al nuovo package SXM3, dotato di 32 GB di memoria HBM2 e che necessita di 350W di potenza, 50W in più rispetto al precedente SXM2. Nvidia afferma che questi 50W extra sono dedicati ad aumentare il clock della GPU, ma l'azienda non ha diffuso dati precisi sulle frequenze.

Il nuovo DGX-2 offre due diverse tipologie di comunicazione in modo da evitare le limitazioni dell'intefaccia PCIe per lo scambio dati tra GPU. Ogni V100 si interfaccia con la scheda madre attraverso due connettori mezzanino: uno porta il traffico PCIe verso la scheda di collegamento passiva che si trova nella parte anteriore del server, mentre l'altro trasporta il traffico NVLink verso la scheda di collegamento posteriore.

Queste schede di collegamento facilitano la comunicazione tra la scheda superiore e quella inferiore, entrambe occupate da otto V100. La topologia PCIe è dotata di quattro switch che collegano CPU, rete con RDMA e fino a 30TB di unità NVMe SSD per le GPU.

Il design di DGX-2 richiedeva uno switch ad alte prestazioni per il traffico NVLink, ma nessun design "pronto all'uso" riusciva a soddisfare gli obiettivi di latenza e banda prefissati dall'azienda. Per questo motivo, l'azienda ha deciso di creare un nuovo switch adatto alle proprie esigenze.

Il nuovo NVSwitch è prodotto con il processo 12nm FFN di TSMC. Il die ha 18 miliardi di transistor ed è dotato di 18 NVLink e una PCIe per la gestione dei dispositivi. L'NVLink usa un protocollo proprietario di Nvidia per offrire una banda di 25 GB/s per ogni porta, per un totale di 450 GB/s. I nuovi switch, 18 in totale, portano a una banda di bisezione di 2,4 TB/s tra le GPU.

NVSwitch ha un die da 106mm 2 con una forma allungata e insolita, ma questo sorprendentemente non ha influito sul numero di die che Nvidia può produrre in ogni wafer. Il 50% del die è dedicato a controller I/O, come accade ai PHY dell'NVLink che occupano la parta alta, sinistra e destra del die. I blocchi logici trasformano i pacchetti per fare in modo che l'intero sistema appaia come un'unica GPU. Il particolare design impilato del PHY permette l'instradamento parallelo dei percorsi dal die, semplificando il routing nel substrato.

Il die di NVSwitch è relativamente semplice rispetto a quello degli switch di rete completi, in gran parte perché il DGX-2 non ha bisogno della rilevazione e successiva correzione degli errori. Nvidia usa un controllo di ridondanza ciclico per abilitare dei controlli di consistenza interna. Ogni switch ha dei buffer SRAM interni, ma le linee esterne sono lasciate senza buffer. Il DGX-2 inoltre non ha nessun ripetitore di segnale per le linee NVLink.

nvidia dgx 2 01

Clicca per ingrandire

Questi NVSwitch sono in una disposizione a doppia traversa (dual crossbar), quindi l'accesso dalle GPU sulla scheda superiore a quelle sulla scheda inferiore ha una latenza leggermente più alta, tuttavia i modelli AI necessitano di una banda enorme e possono tollerare dei piccoli cambi di latenza.

L'intero sistema necessita di 10kW di potenza, ma il DGX-2 usa un sottosistema di distribuzione dell'energia a 48V per ridurre la corrente necessaria a far funzionare il tutto. Delle barre in rame trasportano la corrente dall'alimentatore fino alle due schede.

Per raffreddare il server è necessario un flusso d'aria di circa 1000 LFM e l'aria preriscaldata espulsa dai dissipatori delle GPU riduce l'efficienza del raffreddamento sul retro dello chassis. Gli NVSwitch sono posizionati nella parte posteriore del case e necessitano di grossi dissipatori. Nvidia non ha dichiarato i loro consumi energetici, ma dice che sono inferiori rispetto a quelli di uno switch classico.

L'azienda ha invece condiviso i risultati di alcuni benchmark che mostrano una crescita quasi lineare della larghezza di banda  tra GPU poste su diverse schede, questo per dimostrare l'efficienza degli NVSwitch. Altri risultati, tra cui quelli di all-reduce e cuFFT, mostrano i vantaggli della topologia di DGX-2 rispetto a quella di DGX-1.

La presentazione di Nvidia a Hot Chips ha risposto a molti dei quesiti che circolavano attorno a NVSwitch, salvo per quelli sui consumi. L'unica altra domanda rimasta senza risposta è quando Nvidia passerà ad un sistema DGX-3 basato su architettura Turing, ma l'azienda insiste nell'affermare che al momento Volta è la sua piattaforma dedicata all'AI e non ha in programma una timeline per i sistemi di prossima generazione.


Tom's Consiglia

Se il deep learning è un campo che vi appassiona, questo libro di Goodfellow, Bengio e Courville è un'ottima lettura.