En juin-juillet, près de deux douzaines d'entreprises se sont tournées vers nous qui étaient intéressées par les capacités des GPU virtuels. Les «graphiques» de Cloud4Y sont déjà utilisés par l'une des plus grandes filiales de Sberbank, mais en général, le service n'est pas très populaire. Une telle activité nous a donc beaucoup plu. Voyant l'intérêt croissant pour la technologie, nous avons décidé de parler un peu plus de vGPU. Des «lacs de données» obtenus à la suite d'expériences et de recherches scientifiques, du Deep Learning et d'autres domaines de travail avec l'IA, la modélisation d'objets volumineux et complexes - tout cela nécessite un matériel haute performance. Eh bien, si c'est le cas et vous permet de résoudre rapidement les problèmes actuels. C'est simplement en raison de la complexité informatique croissante des tâches (principalement pour l'analyse commerciale, le rendu, les algorithmes et les infrastructures DL), les capacités matérielles des processeurs de bureau et même des serveurs deviennent de plus en plus inutiles.
La solution a été trouvée dans l'utilisation de l'informatique GPU. Cette technologie d'accélération graphique permet le partage des ressources d'un GPU entre plusieurs ordinateurs virtuels. Le GPU a été initialement conçu pour fonctionner avec des graphiques, car il se compose de milliers de petits cœurs utilisés pour un traitement efficace des tâches parallèles. Dans le même temps, une partie des calculs les plus gourmands en ressources est effectuée sur le GPU, le CPU prend le reste.

L'informatique GPU a été inventée par
Nvidia en 2007. Aujourd'hui, cette technologie a atteint un nouveau niveau et est utilisée dans les centres de données des plus grandes entreprises et laboratoires scientifiques. Cependant, l'approche traditionnelle présente un inconvénient important: l'achat d'équipement physique est très coûteux. Et si vous vous souvenez de la vitesse d'obsolescence du "fer", cela devient encore plus triste.
Le problème est conçu pour résoudre la technologie des processeurs graphiques virtuels: vGPU. Avec lui, les utilisateurs peuvent lancer à distance des applications lourdes comme AutoCAD, 3DS Max, Maya, Sony Vegas Pro. La virtualisation a rapidement gagné sa part de marché. Après tout, quel scientifique russe des données n'aime pas le calcul rapide sur les cartes vidéo NVidia Tesla?
Il convient de noter ici qu'avant l'avènement du vGPU, d'autres méthodes d'accélération du traitement graphique étaient utilisées: l'accélération graphique partagée virtuelle (vSGA) et l'accélération graphique dédiée virtuelle (vDGA). La solution vGPU combine le meilleur des deux technologies. Comme dans le cas de vSGA, dans l'environnement vGPU, le GPU et la RAM sont censés être partagés entre plusieurs bureaux virtuels, mais chaque VM transmet des commandes directement au GPU, comme c'est le cas avec vDGA.
Pourquoi ai-je besoin de vGPU
Le cloud computing utilisant vGPU permet aux entreprises de faire face à des tâches qui étaient auparavant impossibles à résoudre. Ou peut-être, mais cela exigeait une quantité irréaliste de ressources. 1 serveur GPU moderne peut remplacer jusqu'à 100 processeurs conventionnels. Il existe d'autres
chiffres encore plus impressionnants . Ce ne sont pas des blagues: les solutions Nvidia traitent des pétaoctets de données plusieurs fois plus rapidement que les serveurs CPU classiques. Et le même Google Cloud propose des machines virtuelles avec des GPU qui émettent jusqu'à 960 téraflops.
De nombreux professionnels ont besoin d'appareils puissants capables d'effectuer des calculs parallèles. Les architectes et les ingénieurs utilisent la technologie vGPU dans les systèmes de conception (le même Autodesk, par exemple). Les concepteurs travaillent avec du contenu photo et vidéo numérique (Photoshop, CorelDraw).
Les machines virtuelles avec GPU sont également requises par les établissements médicaux qui accumulent et analysent les données des patients et des maladies. Fonctionne avec GPU et
Yandex .
Tu penses tout? Peu importe comment. La technologie est utilisée à la fois pour la
vérification automatique
de la précision des images satellite et pour la
prévision des épidémies , les
études météorologiques , la modélisation des
cycles solaires et
l'analyse commerciale . Il y a aussi un
article intéressant
sur la modélisation dans Unity3D par
ThisIsZolden .
Pour autant, les solutions basées sur vGPU n'ont pas encore reçu une large diffusion dans le monde. Ainsi, en 2018, NetApp a mené une
enquête auprès des entreprises utilisant des GPU dans leur travail. Les résultats ont montré que 60% des organisations travaillent toujours sur leur propre infrastructure informatique. Le «cloud» n'est utilisé que par 23%. En Russie, la pénétration de la technologie de cloud computing est moins importante. Mais grâce aux nouvelles solutions matérielles et logicielles, le nombre d'entreprises utilisant des machines virtuelles avec GPU est en constante augmentation.
Solutions VGPU

De nombreuses entreprises participent au développement de technologies de virtualisation pour les accélérateurs graphiques, mais il existe incontestablement des leaders parmi elles.
VMware , l'un des développeurs de solutions cloud les plus respectés, propose aux entreprises l'hyperviseur
ESXi , en vertu duquel la vitesse des GPU virtuels est comparable à celle des implémentations bare metal. Dans une mise à jour récente, le développeur a désactivé l'équilibreur de charge vMotion et ajouté la prise en charge de la technologie d'E / S DirectPath, qui connecte le pilote CUDA à la machine virtuelle en contournant l'hyperviseur et accélère le transfert de données.
Nvidia essaie également de répondre aux attentes du marché, et pour cela a publié la plate-forme open source
Rapids . La solution combine plusieurs bibliothèques pour travailler avec l'architecture CUDA, ce qui simplifie le travail avec les données lors de la formation des réseaux de neurones et vous permet d'automatiser le travail avec le code Python. L'utilisation de Rapids avec l'algorithme d'apprentissage automatique XGBoost offre une augmentation de 50 fois les performances par rapport aux systèmes à processeur.
AMD possède sa propre technologie. La plateforme s'appelle
ROCm . Il utilise la technologie SR-IOV, qui partage les capacités matérielles d'un périphérique physique entre plusieurs machines virtuelles. Les ressources d'un accélérateur peuvent être réparties entre seize utilisateurs, en maintenant des performances égales pour chacun d'eux. Cela accélère le transfert de données entre les processeurs cloud et les GPU. Un dialecte spécial C ++ appelé HIP est également utilisé, ce qui simplifie la mise en œuvre des opérations mathématiques sur le GPU.
Intel construit sa technologie sur la base de l'hyperviseur multiplateforme
Citrix XenServer 7, qui a reçu le certificat de conformité FSTEC en 2017. La solution combine le travail d'un pilote GPU standard et d'une machine virtuelle. Autrement dit, la «virtualka» peut
prendre en charge le fonctionnement d'applications lourdes sur des appareils d'un grand nombre (plusieurs centaines) d'utilisateurs.
Perspectives du marché

Des analystes indépendants estiment que les ventes de solutions HPC atteindront 45 milliards de dollars d'ici 2022. Les développeurs de plates-formes s'attendent également à une demande accrue de systèmes hautes performances. Cette attente est renforcée par la popularité du Big Data et le besoin souvent ressenti de traiter de grandes quantités de données.
En outre, la demande accrue de vGPU peut stimuler le développement de technologies hybrides qui combinent les GPU et les CPU dans un seul appareil. Dans de telles solutions intégrées, deux types de cœurs utilisent un cache commun, ce qui accélère le transfert de données entre les graphiques et les processeurs traditionnels.
Les hybrides ont fondamentalement changé l'approche de la virtualisation et de la distribution des ressources virtuelles au sein des centres de données. Et les solutions open source comme ROCm et Rapids permettent aux opérateurs de centres de données d'utiliser plus efficacement les ressources informatiques, augmentant ainsi les performances de l'équipement.
Il y a une autre opinion. Par exemple, ces GPU virtuels seront remplacés par des puces optiques avec codage photonique des données. De telles solutions existent déjà et sont utilisées pour l'apprentissage automatique. De plus, ils semblent être plus
productifs qu'un GPU classique. Mais la technologie est encore humide.
Quelle conclusion peut-on tirer? Malgré l'émergence possible d'analogues, le vGPU est un domaine assez prometteur qui peut résoudre un grand nombre de problèmes. Mais cela ne convient pas à tout le monde. Vous pouvez donc mettre vous-même une virgule dans l'en-tête.
PSAbonnez-vous à notre chaîne Telegram pour ne pas manquer un autre article! Nous écrivons pas plus de deux fois par semaine et uniquement pour affaires.