Protocole RDP - vGPU RemoteFX versus DDA
Par Francis MILLOT | Le mercredi, 16 décembre 2020 | Commentaires (0) | Divers
Dans des environnements virtuels VDI, RDS ou DaaS, les applications de type « 3D » utilisent des mécanismes d'accélération GPU pour garantir un rendu graphique fluide et la meilleur expérience utilisateur possible.
Microsoft a développé deux technologies qui proposent des mécanismes d'accélération GPU (Graphics Processing Unit) :
- vGPU RemoteFX
- DDA (Discrete Device Assignment)
Pour information, Microsoft déprécie vGPU RemoteFX de son protocole RDP et le supprimera définitivement sur toutes ses plateformes Windows le 9 février 2021.
Technologie vGPU RemoteFX
La technologie de virtualisation graphique vGPU RemoteFX permet à plusieurs machines virtuelles de partager un GPU (processeur graphique) physique. Les charges de travail virtualisées (Workload) s’exécutent sur l’adaptateur « 3D RemoteFX » de Microsoft, qui coordonne les demandes de traitement GPU entre l’hyperviseur et les VMs.
Comme le rendu et les ressources de calcul sont partagés de façon dynamique entre plusieurs machines virtuelles, la technologie vGPU RemoteFX est surtout adaptée aux environnements de virtualisation de postes de travail (VDI). Les traitements graphiques des applications de plusieurs VMs seront affectés directement au GPU de l’hyperviseur, ce qui permettra d’augmenter les performances de l’UC et d’améliorer l’évolutivité de la plateforme VDI.
Le tableau ci-dessous présente les différentes versions de système d’exploitation clients en mode VDI pour la prise en charge des GPU.
Fonctionnalité |
Windows 7 SP1 |
Windows 8.1 |
Windows 10 |
Utilisation du GPU matériel pour toutes les sessions RDP |
Non |
Oui |
Oui |
Encodage matériel H.264/AVC (si pris en charge par le GPU) |
Non |
Non |
Windows 10 1703 et versions ultérieures |
Équilibrage de charge entre plusieurs GPU présentés au système d’exploitation |
Non |
Non |
Windows 10 1803 et versions ultérieures |
Optimisations de l’encodage H.264/AVC pour réduire l’utilisation de la bande passante |
Non |
Non |
Windows 10 1803 et versions ultérieures |
Prise en charge de H.264/AVC pour la résolution 4K |
Non |
Non |
Windows 10 1803 et versions ultérieures |
Les services Bureau à distance (RDS) prennent eux aussi en charge les systèmes équipés de GPU. Il est possible d’accéder à des applications qui nécessitent un traitement graphique GPU au travers d’un déport d’affichage RDP de manière à améliorer les performances et la scalabilité des applications.
Le tableau ci-dessous présente les différentes versions d’OS serveurs en mode RDS pour la prise en charge des GPU.
Fonctionnalité |
Windows Server 2008 R2 |
Windows Server 2012 R2 |
Windows Server 2016 |
Windows Server 2019 |
Utilisation du GPU matériel pour toutes les sessions RDP |
Non |
Oui |
Oui |
Oui |
Encodage matériel H.264/AVC (si pris en charge par le GPU) |
Non |
Non |
Oui |
Oui |
Équilibrage de charge entre plusieurs GPU présentés au système d’exploitation |
Non |
Non |
Non |
Oui |
Optimisations de l’encodage H.264/AVC pour réduire l’utilisation de la bande passante |
Non |
Non |
Non |
Oui |
Prise en charge de H.264/AVC pour la résolution 4K |
Non |
Non |
Non |
Oui |
La technologie vGPU RemoteFX ne peut fournir une accélération GPU qu’aux machines virtuelles Windows.
Technologie DDA (Discrete Device Assignment)
La technologie DDA, également appelée « transmission de GPU », permet de dédier un ou plusieurs GPU physiques à une VM. Dans un déploiement DDA, les charges de travail virtualisées (Workload) s’exécutent sur le pilote natif et ont généralement un accès complet aux fonctionnalités du processeur graphique.
Comme un GPU physique ne peut fournir une accélération graphique qu’à une seule machine virtuelle, il faut privilégier la technologie DDA aux environnements multisessions RDS (Remote Desktop Services) pour limiter les coûts en ressources matérielles. Dans un contexte RDS de bureau partagé, plusieurs utilisateurs pourront effectivement partager, à partir d’une seule VM, les avantages de l’accélération GPU alors qu’en environnement VDI, il n’y a qu’un seul utilisateur qui pourra bénéficier de ces avantages.
En plus des machines virtuelles Windows, DDA peut également fournir une accélération GPU pour les machines virtuelles Linux qui peuvent le prendre en charge.
La technologie DDA est prise en charge pour les machines virtuelles de génération 1 ou 2. En outre, les invités pris en charge incluent :
- Windows 10
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2 avec la mise à jour KB 3133690
- Diverses distributions du système d’exploitation Linux
Il existe également des limitations fonctionnelles pour les machines virtuelles avec DDA, et ce n’est pas négligeable à prendre en compte lors de l’implémentation d’un environnement virtuel. Les fonctionnalités suivantes ne sont pas disponibles :
- Enregistrer/Restaurer des machines virtuelles
- Migration dynamique d’une machine virtuelle
- Utilisation de la mémoire dynamique
- Ajout de la machine virtuelle à un cluster à haute disponibilité
Ce tableau résume les principales différences entre les technologies vGPU RemoteFX et DDA.
Description |
vGPU RemoteFX |
DDA |
Modèle de ressource GPU |
Dédié ou partagé |
Dédié uniquement |
Densité de machines virtuelles |
Élevé (un ou plusieurs GPU sur plusieurs machines virtuelles) |
Faible (un ou plusieurs GPU sur une seule machine virtuelle) |
Compatibilité des applications |
DX 11.1, OpenGL 4.4, OpenCL 1.1 |
Toutes les fonctionnalités GPU fournies par le fournisseur (DX 12, OpenGL, CUDA) |
AVC 444 |
Activée par défaut |
Disponible via stratégie de groupe |
VRAM du GPU |
Jusqu’à 1 Go de RAM vidéo dédiée |
Jusqu’à la quantité de RAM vidéo prise en charge par le GPU |
Fréquence d’images |
Jusqu’à 30fps |
Jusqu’à 60fps |
Pilote GPU dans l’invité |
Pilote d’affichage de carte 3D RemoteFX (Microsoft) |
Pilote du fournisseur GPU (NVIDIA, AMD, Intel) |
Prise en charge du système d’exploitation hôte |
Windows Server 2016 |
Windows Server 2016 ; Windows Server 2019 |
Prise en charge du système d’exploitation invité |
Windows Server 2012 R2 ; Windows Server 2016 ; Windows 7 SP1 ; Windows 8.1 ; Windows 10 |
Windows Server 2012 R2 ; Windows Server 2016 ; Windows Server 2019 ; Windows 10 ; Linux |
Hyperviseur |
Microsoft Hyper-V. |
Microsoft Hyper-V. |
Matériel GPU |
GPU Entreprise (comme Nvidia Quadro/GRID ou AMD FirePro) |
GPU Entreprise (comme Nvidia Quadro/GRID ou AMD FirePro) |
Matériel serveur |
Aucune exigence |
Serveur moderne, expose IOMMU au système d’exploitation (généralement un matériel compatible SR-IOV) |
Les constructeurs de GPU utilisent un mode de licencing qui diffère fonction des contextes hyperviseurs et des système d’exploitation serveur. Si les GPU sont implémentés dans un hyperviseur « non-Microsoft » ou dans le cloud, c'est au constructeur de fournir les pilotes des processeurs graphiques qui doivent être signés numériquement par WHQL (Windows Hardware Quality Labs).