Citrix et VMware : quelle prise en charge des processeurs graphiques virtuels (vGPU) ?
Les applications riches en graphiques sont gourmandes en ressources, mais les leaders de la virtualisation des postes de travail proposent des fonctionnalités de vGPU qui assouvissent leur faim.
Depuis les tout débuts de la virtualisation des postes de travail, les efforts des administrateurs VDI pour rapprocher les gros consommateurs de capacité graphique des autres utilisateurs ont été vains.
Les protocoles comme Citrix HDX, Microsoft Remote Desktop Protocol et PCoIP de VMware représentent une avancée certaine en termes de performances des logiciels, en particulier dans les domaines de la conception assistée par ordinateur (CAO), la modélisation en 3D et la retouche de photos et de vidéos. Toutefois, quand il s’agit de passer à la présentation avec Photoshop ou AutoCAD, les performances ne sont pas au rendez-vous.
Les utilisations intensives de traitement graphique ne se limitent en aucun cas aux logiciels de retouche de photos et d’illustration en 3D. Dans le milieu médical et en particulier en dentisterie, les images haute résolution sont une réalité quotidienne. Même des applications grand public courantes comme Google Earth peuvent entraîner l’arrêt brutal d’un hôte puissant de virtualisation de poste de travail. En l’absence de processeur graphique dédié, c’est le processeur du serveur qui supporte le poids du traitement graphique.
Les administrateurs système doivent souvent limiter l’appétit de ressources des applications pour leur permettre de coexister avec d’autres sessions utilisateur. Ils réduisent ainsi les résolutions, la profondeur des couleurs et la fréquence d’images des vidéos.
Ces compromis appauvrissent l’expérience à tel point qu’on pourrait aussi bien exécuter la charge de travail directement sur un ordinateur de bureau !
La plupart des services IT bottaient en touche : ils conservaient les stations de travail matérielles classiques ou déployaient de coûteux PC lames pour tout le monde hormis les utilisateurs les plus occasionnels. Impossible d’éluder le besoin d’ordinateurs dotés d’une carte graphique matérielle puissante pour rassasier les applications gourmandes en ressources.
Prise en charge des processeurs graphiques virtuels dans XenDesktop
Heureusement, d’importantes avancées techniques ont permis de donner aux postes de travail virtuels accès à des processeurs graphiques (GPU) matériels sur le serveur. On peut désormais virtualiser le GPU pour le partager virtuellement comme un processeur, la RAM ou les matériels réseau le sont grâce aux hyperviseurs. Le GPU virtuel peut être fractionné en processeurs plus petits pour augmenter la densité des sessions de bureau et les utiliser plus efficacement.
Sur le même sujet
Pour certains utilisateurs VDI, la part virtuelle de puissance qui leur revient reste insuffisante. Dans ce cas, l’hyperviseur peut transférer un GPU directement à la session de ces bureaux virtuels. Le GPU de transfert (pass-through GPU) est fourni avec une moindre charge de travail, car il n’est pas représenté virtuellement. Cette approche a une contrepartie : le GPU ne peut plus être partagé avec d’autres sessions puisqu’il est dédié à ce seul objet.
Beaucoup de fournisseurs, notamment NVDIA, ont exploité la technologie GPU pour intégrer la prise en charge du GPU virtuel dans leurs plates-formes de virtualisation de postes de travail. Nous allons passer brièvement ces produits en revue.
Citrix vGPU.
Avec ses produits XenDesktop 7.1 et XenServer 6.2 Service Pack 1, Citrix a récemment intégré la prise en charge native des cartes GPU Nvidia GRID à sa technologie vGPU. Nvidia propose désormais les cartes GPU GRID K1 et K2 pour certains serveurs de Cisco, d’IBM, de HP, de Nutanix et d’autres constructeurs. La carte K1 comprend quatre GPU d’entrée de gamme totalisant 768 coeurs CUDA. La carte K2 comprend deux GPU haut de gamme avec 3072 coeurs CUDA. La K1 est commercialisée pour les hautes densités d’utilisateurs alors que la K2 est optimisée pour quelques utilisateurs nécessitant des niveaux de performance bien supérieurs.
Une machine virtuelle XenDesktop peut accéder à des vGPU aux volumes de mémoire différents avec pour résultat de meilleures résolutions et jusqu’à quatre affichages supplémentaires. Les GPU dédiés de transfert sont pris en charge pour les sessions initiées par les systèmes d’exploitation du serveur et du poste de travail. Une carte K1 accepte un maximum de 32 vGPU actifs ou de quatre GPU de transfert ; une carte K2, 16 vGPU actifs ou deux GPU de transfert dédiés. Les pilotes d’affichage Nvidia sont chargés sur les machines virtuelles de bureau et prennent en charge les standards DirectX et OpenGL. Les stations de travail qui exécutent le système d’exploitation serveur XenDesktop, anciennement XenApp, prennent uniquement en charge le transfert de GPU.
VMware vSGA.
Horizon View de VMware prend en charge le partage de GPU sur des serveurs ESXi avec la technologie vSGA (Virtual Shared Graphics Acceleration). A l’inverse du vGPU de Citrix, vSGA s’appuie sur un pilote propriétaire et non sur le pilote d’un fournisseur, ce qui peut s’avérer problématique pour certaines applications comme AutoCAD et SolidWorks qui ne fonctionnent pas officiellement avec ce pilote d’affichage. VMware vSGA prend en charge le processeur graphique ATI d’AMD en sus des modèles GRID de Nvidia.
Pour les utilisations graphiques exigeantes, VMware propose la fonction d’accélération graphique vDGA (Virtual Dedicated Graphics Acceleration) sur les serveurs ESXi équipés de cartes GRID. Elle s’appuie sur le pilote Nvidia largement pris en charge, tout comme le GPU de transfert Citrix sur les serveurs XenServer.
Microsoft.
L’arrivée de Windows Server 2012 et 2012 R2 et de sa fonctionnalité RemoteFX consacre la prise en charge du partage de vGPU sur les machines virtuelles hébergées sur Hyper-V. Le serveur Hyper-V qui accueille le vGPU doit comporter un processeur capable de traduire les adresses de second niveau (SLAT), un GPU compatible avec DirectX 11.1 et un pilote compatible avec WDDM (Windows Display Driver Model). Les seuls clients des Services Bureau à distance pris en charge sont ceux de Windows 7 Service Pack 1 et Windows 8 Enterprise. Les sessions d’hôte de session Bureau à distance ne sont pas prises en charge pour vGPU.