vGPU, ovvero schede GPU (Graphics Processing Unit) che sono progettate per i desktop virtuali. Per soddisfare i requisiti di applicazioni intensive come nel caso dell’iperconvergenza, della virtualizzazione o dell’intelligenza artificiale, infatti, le organizzazioni devono disporre di un framework adeguato a supportare un numero elevato di server basati su queste GPU. L’adozione delle GPU è impegnativa e richiede una sofisticazione tecnica. Tant’è che è molto diffusa all’interno delle grandi imprese, ma non tra le PMI.
Il significato delle CPU per i fornitori cloud
In generale i cloud provider stanno investendo su tutte le funzionalità basate su GPU di diversi fornitori, quindi le organizzazioni dovrebbero cercare di comprendere la differenza tra le offerte di AMD e Nvidia.
Sia Nvidia che AMD producono schede di alta qualità di livello aziendale progettate per l’elaborazione dei data center. Queste schede non solo sono adatte per l’esecuzione in server raffreddati attivamente, ma hanno anche una memoria di codice che risolve gli errori, correggendo i dati errati prima che si rovinino i set. Si tratta di una funzione che è un requisito fondamentale per l’esecuzione di qualsiasi tipo di processo di elaborazione e analisi dei dati.
La GPU ieri, oggi e domani
Le GPU per i data center di livello aziendale hanno sempre aiutato le organizzazioni a sfruttare le capacità di elaborazione parallela attraverso continui aggiornamenti hardware. Questo permette alle organizzazioni di accelerare i flussi di lavoro e le applicazioni ad alta intensità grafica. Nel tempo li amministratori hanno iniziato a identificare dei nuovi modi di usare le GPU.
Alcuni ingegneri hanno iniziato a progettare chip GPU per scaricare qualsiasi elaborazione grafica. Le GPU supportano le applicazioni grafiche e inizialmente trovano i loro casi d’uso nel settore dei giochi. Una volta stabilizzata la tecnologia, le organizzazioni hanno iniziato a diversificarne l’uso per supportare l’infrastruttura virtualizzata e gli utenti esperti.
Esempi di vGPU: il caso Microsoft
A Microsoft Ignite 2019, Microsoft ha rivelato che stava lavorando con il fornitore di semiconduttori AMD per fornire un nuovo set di macchine virtuali su Azure basate su vGPU AMD. Nella sola Azure, ora Microsoft ha sette diversi tipi di istanze di macchine virtuali con diverse schede vGPU di AMD e Nvidia. I servizi cloud di Amazon e Google hanno all’incirca la stessa quantità di opzioni.
GPU: come funzionano le diverse offerte
Dal punto di vista della virtualizzazione, le offerte basate su GPU sono principalmente orientate alla visualizzazione e alla codifica remote. Queste offerte forniscono agli utenti remoti un desktop o un’applicazione basati su GPU.
AMD e Nvidia hanno lavorato su schede GPU specifiche per l’AI e carichi di lavoro basati sull’apprendimento profondo come il popolare motore di machine learning Tensorflow. Queste GPU sono anche la scelta preferita in termini di hardware per accelerare i carichi di lavoro computazionali nelle moderne offerte basate sul calcolo ad alte prestazioni.
Per i carichi di lavoro di visualizzazione remota su hypervisor tradizionali, sono disponibili tre opzioni per fornire funzionalità vGPU a una macchina virtuale:
- Pass-through – Mappatura di una scheda GPU fisica direttamente su una macchina virtuale tramite l’hypervisor. Le tecnologie che utilizzano questo metodo includono I / O VMware DirectPath, XenServer GPU Passthrough e Hyper-V Discrete Device Assignment.
- Grafica condivisa virtuale – Condivisione basata su hypervisor di GPU su macchine virtuali. Le tecnologie che utilizzano questo metodo includono VMware vSGA e la funzione precedente in Hyper-v RemoteFX vGPU.
- GPU virtuale (vGPU) – Virtualizzazione basata su GPU, con profili GPU virtuali collegati a ciascuna macchina virtuale. Le tecnologie che utilizzano questo metodo includono Nvidia vGPU e AMD MxGPU.
Le principali differenze tra questi tre modelli di consegna sono la scala e la compatibilità con le diverse funzionalità GPU della macchina virtuale. I dipartimenti IT dovrebbero capire più nel dettaglio le differenze tecniche in modo tale da comprendere per quale tipo di carichi di lavoro sono più adatte.
Pass-through: le cose da sapere
La modalità pass-through offre piena compatibilità grafica, il che significa che l’utente finale può accedere a tutte le funzionalità della GPU collegata alla macchina. Tuttavia, questo approccio non fornisce scalabilità perché le schede GPU sono bloccate su una macchina virtuale. Il che può anche significare che le risorse non vengono utilizzate nel modo più efficiente. Le organizzazioni utilizzano in genere la modalità pass-through per carichi di lavoro specifici che richiedono una capacità più dedicata.
Grafica condivisa virtuale: le cose da sapere
Con la seconda opzione di vGPU condivisa, la capacità della GPU è suddivisa su più istanze virtualizzate che possono essere collegate a più macchine virtuali. Il metodo vGPU fornisce anche funzionalità complete, ma garantisce che ogni macchina virtuale abbia accesso a una determinata quantità delle risorse GPU sottostanti.
vGPU: le cose da sapere
La terza opzione, vGPU classica, è stata il modello di distribuzione più comune per i carichi di lavoro impostati sulla visualizzazione. Ad esempio, l’IT può eseguire Citrix Virtual Apps e Desktop o VMware Horizon per fornire funzionalità GPU a più utenti finali.
Confronto tra AMD e Nvidia dei prodotti vGPU
Sia AMD che Nvidia forniscono prodotti basati su vGPU, ma c’è una differenza nei loro modelli di consegna che le organizzazioni devono comprendere prima di scegliere un fornitore.
- Nvidia – Le offerte vGPU di Nvidia si basano sull’installazione di driver host all’interno dell’hypervisor, che alloca le schede grafiche virtuali alle VM guest.
- AMD – L’approccio di AMD è completamente basato sull’hardware, con un’offerta MxGPU, basata sulla funzionalità hardware chiamata virtualizzazione input / output a radice singola (SR-IOV).
Entrambi i fornitori adottano anche approcci diversi dal lato hardware.
- Nvidia implementa la pianificazione multiproprietà nella sua GPU. Ciò significa che ogni utente che accede alla vGPU ottiene l’accesso a tutti i core fisici della GPU per un intervallo di tempo.
- D’altra parte, AMD alloca direttamente una parte dei core GPU su ogni macchina.
Quando usare la vGPU Nvidia
L’approccio di Nvidia funziona bene in situazioni in cui tutti gli utenti non necessitano in ogni momento del pieno accesso alla GPU. Questo approccio consente agli utenti di condividere le risorse con meno attrito. L’architettura di Nvidia consente anche la migrazione in tempo reale di macchine virtuali in esecuzione con vGPU, il che non è possibile con la funzione MxGPU di AMD.
Questa funzione di Nvidia ha un costo. Anni dopo che Nvidia ha rilasciato la sua offerta vGPU, infatti, ha modificato il suo modello di vendita per richiedere una licenza software in aggiunta alle loro schede GPU. Oltre all’hardware Nvidia, i clienti devono anche acquistare una licenza per accedere agli aggiornamenti del software e attivare le funzionalità vGPU.
Quando usare la vGPU di AMD
AMD, d’altra parte, non richiede ai clienti di acquistare licenze aggiuntive per attivare la propria offerta MxGPU. Inoltre, l’offerta MxGPU consente ai clienti di fornire grafica virtualizzata su diversi provider cloud perché basata su hardware.
I tech trend dei colossi
Le istanze AMD MxGPU sono ora disponibili in Microsoft Azure e sono una delle opzioni predefinite quando si sceglie un sistema VDI basato su GPU su Amazon AppStream.
Nvidia ha ancora un’impronta maggiore all’interno dei principali fornitori di servizi cloud come Amazon, Google Cloud, Azure e persino Oracle Cloud. Tuttavia, questo è solo su macchine virtuali con schede GPU dedicate, che hanno un costo molto più elevato rispetto alle offerte AMD, a seconda dei casi d’uso.
Molti dei più popolari prodotti di virtualizzazione con librerie per machine learning, deep learning e persino carichi di lavoro statistici hanno il supporto integrato per il modello di architettura di dispositivo unificato di calcolo. Questo modello è disponibile solo su schede GPU NVIDIA.
Confronto tra AMD e Nvidia: il verdetto
Sia Nvidia che AMD si sono evoluti negli ultimi due anni e hanno i loro punti di forza e di debolezza. Sebbene fino a qualche tempo fa AMD sia stato meno visibile sul mercato del cloud pubblico, da quando stanno moltiplicandosi i provider che stanno adottando MxGPU questa soluzione sta guadagnando slancio.
I desktop basati su MxGPU saranno sempre più economici delle GPU Nvidia sia per i desktop locali che per quelli ospitati su cloud. Tuttavia, le organizzazioni che desiderano le migliori prestazioni e potrebbero voler supportare l’apprendimento automatico o altri carichi di lavoro ad alte prestazioni dovrebbero rivolgersi a Nvidia.
Hyper-threading: attenzione a non abusare delle vCPU
L’hyper-threading (HT) è talvolta visto come la soluzione magica che permette di avere il doppio dei core logici sulla propria CPU fisica. Attenzione però a non abusarne durante il dimensionamento della quantità di vCPU della macchina virtuale per un carico di lavoro. Ad esempio, se l’host vSphere dice che ho 8 processori logici disponibili, non è vero che si possono usare tutti per una singola VM e le sue vCPU.
L’Hyper-Threading offre una grande flessibilità di pianificazione in quasi tutti gli scenari di virtualizzazione. È perfetto per condividere le risorse di esecuzione fisica disponibili con una grande quantità di macchine virtuali. Come sottolineano gli esperti, è fondamentale non abusare dei processori logici creando una macchina virtuale che ha più vCPU di quanti siano i core fisici disponibili. L’importante è cercare sempre di mantenere la quantità di vCPU impostata su una dimensione necessaria per la macchina virtuale e, se si devono aumentare le dimensioni rispetto al numero di core fisici, significa che è arrivato il momento di acquistare un host più grande o dividere i ruoli revisionati dalla macchina virtuale.