
Nel mese di giugno-luglio, quasi un'azienda al giorno ci ha contattato per esplorare le possibilità delle GPU virtuali. Una grande filiale di Sberbank sta già utilizzando la grafica di Cloud4Y, ma nel complesso il servizio non è molto popolare. Questa attività ci ha quindi molto sorpreso e ci ha reso felici. Visto l'aumento dell'interesse per la tecnologia, abbiamo deciso di parlare più dettagliatamente del vGPU.
I 'laghi di dati' generati da esperimenti scientifici e ricerche, il Deep Learning e altri ambiti dell'intelligenza artificiale, la modellazione di oggetti grandi e complessi — tutto ciò richiede hardware ad alte prestazioni. È un vantaggio se c'è e consente di risolvere rapidamente le sfide attuali. Tuttavia, a causa della crescente complessità computazionale delle attività (in particolare nel business analytics, rendering, algoritmi DL e framework) le potenzialità delle CPU desktop e persino dei server diventano sempre più frequentemente insufficienti.
La soluzione è stata trovata nell'uso dei calcoli su GPU. Questa tecnologia di accelerazione grafica consente la suddivisione delle risorse di una singola scheda grafica tra più computer virtuali. La GPU è stata progettata inizialmente per lavorare con la grafica, quindi è composta da migliaia di piccoli core utilizzati per elaborare in modo efficiente compiti paralleli. In questo modo, la GPU gestisce parte dei calcoli più intensivi, mentre il resto è gestito dalla CPU.

I calcoli utilizzando la GPU sono stati ideati dall'azienda nel 2007. Oggi questa tecnologia ha raggiunto un nuovo livello ed è utilizzata nei datacenter delle più grandi aziende e nei laboratori scientifici. Tuttavia, l'approccio tradizionale presenta un notevole svantaggio: l'acquisto di hardware fisico non è affatto economico. E se consideriamo la velocità di obsolescenza dell'hardware, la situazione diventa ancora più preoccupante.
Il problema è affrontato dalla tecnologia dei processori grafici virtuali: vGPU. Grazie a essa, gli utenti possono eseguire in remoto applicazioni pesanti come AutoCAD, 3DS Max, Maya e Sony Vegas Pro. La virtualizzazione ha rapidamente guadagnato quote di mercato. Del resto, quale data scientist russo non ama i calcoli veloci sulle schede grafiche NVidia Tesla?
È importante notare che prima dell'arrivo della vGPU venivano utilizzati altri metodi per accelerare l'elaborazione grafica: Virtual Shared Graphics Acceleration (vSGA) e Virtual Dedicated Graphics Acceleration (vDGA). La soluzione vGPU ha combinato il meglio di entrambe le tecnologie. Come nel caso di vSGA, nell'ambiente vGPU si prevede la condivisione della GPU e della RAM tra più desktop virtuali, ma ogni VM invia comandi direttamente alla GPU, come nel caso della vDGA.
Perché sono necessari i vGPU
Il cloud computing con vGPU consente alle aziende di affrontare compiti precedentemente impossibili da risolvere. O possibili, ma richiedevano risorse irrealistiche. Un moderno server GPU è in grado di sostituire fino a 100 normali CPU. Ci sono anche altre, . Non è uno scherzo: le soluzioni Nvidia elaborano petabyte di dati molte volte più velocemente dei tradizionali server CPU. Google Cloud offre macchine virtuali con GPU che producono fino a 960 teraflops.
Molti specialisti hanno bisogno di dispositivi potenti in grado di eseguire calcoli paralleli. Architetti e ingegneri utilizzano la tecnologia vGPU nei sistemi di progettazione (ad esempio, Autodesk). I designer lavorano con contenuti fotografici e video digitali (Photoshop, CorelDraw). Le strutture mediche necessitano anche di processori grafici per accumulare e analizzare dati su pazienti e malattie. Utilizzano GPU anche per».
pensate che sia tutto? Non è così. La tecnologia è usata anche per il controllo automatico , e per , , modellazione e . Inoltre, c'è un ottimo nell'ambiente Unity3D da .
Nonostante ciò, le soluzioni basate su vGPU non hanno ancora ottenuto una diffusione ampia nel mondo. Nel 2018, NetApp ha condotto tra le aziende che utilizzano GPU nel loro lavoro. I risultati hanno mostrato che il 60% delle organizzazioni opera ancora su infrastrutture IT proprie. Solo il 23% fa uso del cloud. In Russia, la penetrazione della tecnologia del cloud computing ha un significato minore. Tuttavia, grazie a nuove soluzioni hardware e software, il numero di aziende che utilizzano macchine virtuali con GPU è in costante crescita.
Soluzioni per vGPU

Molte aziende si occupano dello sviluppo di tecnologie di virtualizzazione degli acceleratori grafici, ma tra esse ci sono alcuni leader indiscussi.
Uno dei più autorevoli sviluppatori di soluzioni nel campo del cloud è VMware offre alle aziende un hypervisor , sotto il quale la velocità di funzionamento delle GPU virtuali è paragonabile a quella delle implementazioni su hardware nativo. In un aggiornamento recente, lo sviluppatore ha disattivato il bilanciatore di carico vMotion e ha aggiunto il supporto per la tecnologia DirectPath I/O, che collega il driver CUDA con la VM bypassando l'hypervisor e accelera la trasmissione dei dati.
Nvidia si impegna anche a soddisfare le aspettative del mercato, e per questo ha rilasciato una piattaforma open source . La soluzione integra diverse librerie per lavorare con l'architettura CUDA, semplificando la manipolazione dei dati durante l'addestramento delle reti neurali e consentendo l'automazione del lavoro con codice Python. L'uso di Rapids con l'algoritmo di machine learning XGBoost offre un aumento delle prestazioni di 50 volte rispetto ai sistemi basati su CPU.
La propria tecnologia è sviluppata da AMD. La piattaforma si chiama . Essa utilizza la tecnologia SR-IOV, che divide le capacità hardware del dispositivo fisico tra più macchine virtuali. Le risorse di un acceleratore possono essere condivise tra sedici utenti, mantenendo prestazioni equivalenti per ciascuno di essi. Ciò accelera anche il trasferimento di dati tra CPU e GPU nel cloud. In aggiunta, si utilizza un dialetto speciale di C++ chiamato HIP, che semplifica l'esecuzione di operazioni matematiche su GPU.
Intel sviluppa la sua tecnologia sulla base del hypervisor cross-platform XenServer 7, che ha ricevuto nel 2017 la certificazione di conformità FSTEC. La soluzione combina il funzionamento del driver GPU standard e della macchina virtuale. Ciò significa che la 'virtual machine' può l'esecuzione di applicazioni pesanti su dispositivi con un gran numero di utenti (da qualche centinaio).
Prospettive di mercato

Analisti indipendenti stimano che il volume delle vendite delle soluzioni per sistemi HPC raggiungerà i 45 miliardi di dollari entro il 2022. Anche gli sviluppatori di piattaforme si aspettano un aumento della domanda di sistemi ad alte prestazioni. Questa aspettativa è supportata dalla popolarità del Big Data e dalla crescente necessità di gestire grandi volumi di dati.
Inoltre, la crescita della domanda di vGPU potrebbe stimolare lo sviluppo di tecnologie ibride che combinano GPU e CPU in un unico dispositivo. In queste soluzioni integrate, i due tipi di nuclei utilizzano una cache comune, il che accelera il trasferimento dei dati tra processori grafici e tradizionali.
Gli ibridi cambieranno radicalmente l'approccio alla virtualizzazione e alla distribuzione delle risorse virtuali all'interno dei data center. E soluzioni open source come ROCm e Rapids permettono agli operatori di data center di utilizzare in modo più efficace le risorse computazionali, migliorando le prestazioni dell'hardware.
C'è anche un'altra opinione. Ad esempio, i GPU virtuali potrebbero essere sostituiti da chip ottici con codifica dei dati fotonici. Queste soluzioni esistono già e vengono utilizzate per l'apprendimento automatico. Inoltre, sembrano di un normale GPU. Ma la tecnologia è ancora immatura.
Quale conclusione possiamo trarre? Nonostante la possibile comparsa di alternative, vGPU è un settore promettente, capace di affrontare molte sfide. Tuttavia, non è adatto a tutti. Quindi, la virgola nel titolo potete metterla da soli.
P.S.
Iscriviti alla nostra newsletter -canale per non perdere il prossimo articolo! Scriviamo al massimo due volte a settimana e solo quando necessario.
Solo gli utenti registrati possono partecipare al sondaggio. , per favore.
Usate vGPU?
Sì, spesso ho bisogno di potenza virtuale
No e probabilmente non lo programmeremo
Hanno votato 23 utenti. 11 utenti si sono astenuti.
Fonte: habr.com
