NVIDIA MIG + VMware ESXI 7u2 = an AI (r)evolution?

Data
19 Mar 2021
Categoria
Articoli
Contattaci
NVIDIA MIG + VMware ESXI 7u2 = an AI (r)evolution?

Le tecnologie NVIDIA stanno facendo passi da gigante in termini di evoluzione per i clienti che vogliono sfruttare l’ Intelligenza Artificiale (AI). In questo senso, NVIDIA MIG rappresenta una vera (r)evolution! Scopriamo insieme le ultime novità nell’articolo del nostro specialist Adam Strizzolo, uno dei 25 NVIDIA Advisor a livello globale.

INTRODUZIONE

Questo articolo ha lo scopo di andare ad analizzare la tecnologia MIG (multi instance GPU) che NVIDIA ha presentato qualche mese fa e che finalmente è disponibile sugli hypervisor della famiglia Vmware con il rilascio dell’update 2 di ESXI 7 avvenuto la scorsa settimana.

La tecnologia MIG rappresenta una vera  “milestone” tecnologica per tutti i clienti che hanno carichi di lavoro AI/Simulation/Machine Learning e permette un grosso salto in avanti un po’ come successo con la tecnologia di virtualizzazione delle schede grafiche vGPU nel lontano 2015.

N.B. La tecnologia vGPU è compatibile con tutte le schede grafiche della famiglia TESLA di NVIDIA, la tecnologia MIG solo con la nuova scheda A100

Sino ad oggi le aziende che hanno utilizzato per gli scopi sopra indicati le schede grafiche della famiglia TESLA, hanno adottato la tecnologia vGPU, che permette l’allocazione statica della memoria video per ogni VM sulla GPU fisica, condividendo invece il processore grafico tramite il time slicing, ovvero la schedulazione temporale delle potenza di calcolo della GPU che viene assegnata a “turno” e con un preciso intervallo di tempo alle varie VM.

E’ possibile adottare due tipi di schedulazione con la tecnologia vGPU:

  • Best effort
  • Equal share

Best Effort è adatta ai seguenti carichi di lavoro:

  • CAD
  • CAM
  • CAE
  • OFFICE

Fixed Share per quelli che stiamo analizzando oggi:

  • AI
  • SIMULATION
  • Machine Learning

C’è tuttavia un limite intrinseco in questo tipo di tecnologia: pur partizionando la memoria grafica non è possibile isolare le restanti componenti che fanno parte della scheda NVIDIA ovvero, stream processors, cache, cross bars etc… che vengono utilizzati in modo condiviso e gestiti dallo schedulatore.
In questo modo tutta una serie di operazioni vengono gestite in modo seriale e non parallelo, con una perdita di performance.

LA SOLUZIONE: NVIDIA MIG e AI

NVIDIA ha sviluppato una tecnologia in grado di  effettuare una vera separazione della componente GPU, rendendo le singole vm isolate l’una dall’altra in tutte le loro parti.
Vengono isolati componenti come la cache L2, i memory controller, gli address bus, i control bars etc..

Questo livello di separazione dell’hardware viene interamente gestito dal software, garantendo livelli di performance impensabili sino ad ora.

Assieme al nome della tecnologia viene introdotto anche un nuovo termine che va ad identificarne il profilo di performance: “INSTANCE

Una instance è una sorta di partizionemento della scheda grafica che definisce un set di risorse chiamate “streaming multiprocessor” (SMs).

Negli SMs sono compresi i cuda cores, la memoria video etc..
Maggiore è il numero di SMs, maggiore è la potenza di calcolo.
La nostra GPU NVIDIA TESLA diventerà pertanto un insieme di SMs che saranno suddivisi in INSTANCE.

A seconda del numero di macchine virtuali che voglio eseguire su una singola GPU (da un minimo di 1 a un massimo di 7) il numero di SMs potrà variare da 14SMs a 98SMs.

Al variare del profilo grafico e degli SMs, corrisponde un differente quantitativo di memoria video, da un minimo 5gb a un massimo di 40gb

Cosa deduco da tutto ciò?
Che la tecnologia MIG crea un vero parallelismo a livello di risorse di calcolo assegnate alle macchine virtuali.
Dove la tecnologia vGPU rappresenta l’optimum a livello di performance in ambito Virtual Workstation e Virtual PC/Office, la tecnologia MIG è il corrispettivo perfetto per i carichi di lavoro AI/Simulation/Machine Learning, garantendo all’aumentare del numero di VM una performance costante nel tempo.

TEST PRATICI su NVIDIA MIG

Abbiamo testato la tecnologia MIG con due differenti relase di ESXI:

  • ESXI-7u1: non è supportata l’assegnazione della scheda con tecnologia MIG, ma solo in passtrought su una singola vm, è poi necessario creare manualmente le GPU instance e compute instance.
    Se provo ad accendere una vm con la GPU assegnata in MIG mode, la scheda grafica va in fault e sono costretto a riavviare il server
  • ESXI-7u2: su questa versione MIG è pienamente supportato con i requisiti tecnici:
    • Sistema operativo Linux (no Windows)
    • Accelerazione GPU a livello calcolo (nessuna accelerazione nella grafica 3d)
    • Licenza vCOMPUTE NVIDIA

Una volta abilitata a livello hypervisor, è possibile aggiungere la risorsa MIG alla macchina virtuale direttamente dall’hypervisor

In questa relase di ESXI7 (u2), l’hypervisor si occupa autonomamente di create le GPU instance e COMPUTE instance, permettendo l’aggiunta della risorsa hw dal Vcenter senza interventi manuali a livello di shell da parte dell’operatore (i test condotti sulla 7u1 imponevano di creare le risorse in modo separato da shell sull’hypervisor)

Una volta installato il sistema operativo sulla VM e i relativi drivers siamo stati in grado di far lavorare correttamente la scheda grafica con la nuova versione di NVIDIA CUDA 11.2.

NEXT STEP E CONSIDERAZIONI FINALI

Ad oggi stiamo testando le performance delle singole istanze MIG con training AI e appena possibile pubblicheremo i primi risultati.

Le considerazioni vanno a quei clienti che fino ad oggi hanno utilizzato la tecnologia vGPU abbinata alle schede grafiche V100/V100S o DGX.

Quale può essere il vero valore aggiunto di questa soluzione?

Indubbiamente questa tecnologia è legata a doppio filo con la nuova generazione di schede della famiglia AMPERE e garantisce un notevole aumento di performance grazie all’hardware di nuova generazione (compatibile con lo standard PCIX4) e  a un concetto di assegnazione delle risorse innovativo rispetto al passato.
Oltre a questo la stabilità di prestazioni e la garanzia che esse rimangano costanti al variare delle VM o dei carichi di lavoro rappresentano un qualcosa che fino ad oggi non era possibile nemmeno immaginare.

Adam Strizzolo

 

 

 

 

 

Articolo a cura di Adam Strizzolo, Infastructure Architect & Member of top 25 NVIDIA Advisor of the World

Vuoi saperne di più?

Siamo a tua disposizione

    Cliccando su “Contattaci” acconsenti al trattamento dei tuoi dati personali in merito all'informativa sulla privacy.

    oppure puoi chiamarci al numero 0432 889787