RemoteFX, DDA, vGPU: Grafikoptionen in den RDS von Windows Server 2016

    Terminal-ServicesWindows Server 2016 brachte viele, zumeist nicht tief­greifen­de Änderungen bei den Remote Desktop Services (RDS). Zahlreiche Einzel­verbes­serungen bei RDP und RemoteFX kommen aber dem Benutzer­erlebnis zugute. Das Thema Grafik­beschleuni­gung wird dadurch jedoch nicht einfacher, speziell beim Terminal-Server.

    Virtuelle Desktops profitieren von RemoteFX und der Virtualisierung von GPUs seit Server 2008 R2 SP1, weil damit mehrere Gäste gleichzeitig die Leistung der physikalischen GPU nutzen können.

    Fortschritte bei RemoteFX vGPU

    Windows Server 2016 erweitert RemoteFX vGPU um neue Funktionen. Zu den Verbesserungen gehören die Unterstützung für OpenGL (bis 4.4) und OpenCL 1.1, die Zuweisung von bis zu 1GB Videospeicher zu einer VM (bisher nur 256MB) und eine insgesamt bessere Performance.

    RemoteFX-3D-Grafikkarte für VM hinzufügen

    Neu ist auch die Unterstützung für VMs der Generation 2, nachdem diesen UEFI-VMs unter Server 2012 R2 noch keine virtuellen GPUs zur Verfügung standen. Als Gäste sind dann aber nur Windows 10 (ab 1511) oder Server 2016 zulässig.

    Discrete Device Assignment (DDA)

    Hyper-V 2016 erlaubt es, bestimmte Hardware direkt an VMs Gen 2 durchzureichen, damit diese exklusiven Zugriff auf die betreffenden Komponenten haben. Dies gilt auch für GPUs, so dass Gäste von innerhalb einer VM die Grafikeinheit mit dem Treiber des Herstellers so ansprechen können, als liefe das Betriebssystem direkt auf dem Rechner.

    In der Praxis funktioniert dieses Feature offenbar nicht gleich gut mit allen GPUs und deren Treiber. Daher wird man die jeweiligen Kombi­nationen aus Server und Grafikeinheit für diesen Zweck erst gründlich testen müssen.

    Zielgruppen für die jeweilige Grafikoption

    Zielgruppe dieses Features sind Anwender, die anspruchsvolle Programme wie CAD, Bildbearbeitung oder Videoschnitt in virtuellen Desktops ausführen möchten. Für Wissensarbeiter, die Office einsetzen und dabei eine ordentliche Grafikleistung benötigen, reicht hingegen RemoteFX vGPU.

    Es liegt auf der Hand, dass man mit DDA die geringste Benutzerdichte pro Server erreicht, weil die Zahl der möglichen GPUs pro Server limitiert ist. Dagegen stellt die vGPU einen Kompromiss zwischen Leistungsfähigkeit und VM-Dichte dar.

    Hat der Server keine geeignete GPU, dann emuliert RemoteFX mit Hilfe der CPU eine Soft GPU. Sie bietet eine Low-end-Grafik für eine große Zahl an Benutzern.

    Grafikoptionen für Terminal-Server

    Während für virtuelle Desktops - abhängig vom verwendeten Gast-OS - grundsätzlich alle drei Grafikoptionen zur Verfügung stehen (DDA, vGPU, Soft GPU), ist die Lage bei Session Hosts etwas anders.

    Bis Server 2012 R2 konnten RDSH die GPU gar nicht nutzen, wenn sie in einer VM liefen. Microsoft unterstützt den paravirtualisierten Grafikprozessor (vGPU) nämlich nicht für Session Hosts, und daran ändert sich auch unter Server 2016 nichts. Die einzige Ausnahme ist Der Einsatz eines Terminal-Servers als Single User Desktop mit einer einzigen Session.

    Bei Bare-Metal-Installationen hingegen existiert seit Server 2012 eine Gruppenrichtlinie, mit der sich die Grafik­beschleunigung mittels GPU aktivieren lässt (Standard-Hardwaregrafikadapter für alle Remotedesktopdienste-Sitzungen verwenden unter Computerkonfiguration => Richtlinien => Administrative Vorlagen => Windows-Komponenten => Remotedesktop-Dienste => Remotedesktopsitzungs-Hosts => Umgebung für Remotesitzung).

    Ein Terminal-Server kann GPUs nur nach Aktivierung einer Gruppenrichtlinie nutzen.

    Unter Windows Server 2016 Hyper-V besteht nun die Möglichkeit, einem RDSH in einer VM Gen 2 mit Hilfe von DDA eine GPU zuzuweisen und diese dann ebenfalls über die oben genannte Richtlinie zu aktivieren. Auf diese Weise stehen in Sessions auch DirectX, OpenGL und OpenCL zur Verfügung.

    Kann ein virtualisierter RDSH keine Hardware-GPU nutzen, sei es, weil der Server keine leistungsfähige Grafik besitzt oder diese nicht an die VM durchgereicht wird, dann bleibt nur der Rückgriff auf die von RemoteFX emulierte Soft GPU.

    Hier die Matrix mit allen verfügbaren Grafikoptionen:

    VM Gast-OSHyper-V RemoteFX vGPU
    (Server 2012 R2, 2016)
    VM Gen 1
    Hyper-V RemoteFX vGPU
    (Windows Server 2016)
    VM Gen 2
    Hyper-V 2016
    Discrete Device Assignment
    VM Gen 2
    Windows 7 SP1 Ja Nein Nein
    Windows 8.1 Ja Nein Nein
    Windows 10 1511 Ja Ja Ja
    Windows Server 2012 R2 Ja Nein Ja (mit KB 3133690)
    Windows Server 2016 Ja Ja Ja
    Windows Server 2012 R2 RDSH Nein Nein Ja (mit KB 3133690)
    Windows Server 2016 RDSH Nein Nein Ja

    3 Kommentare

    Bild von PB
    PB sagt:
    5. Juli 2017 - 23:12

    Gibt es Erfahrungswerte/Benchmarks mit einem per DDA gepimpten RDSH?

    Bild von Matthias Bosshard
    Matthias Bosshard sagt:
    6. Juli 2017 - 0:59

    Danke für den Beitrag! Habe mich in den letzten Tagen mit dem Thema beschäftigt. Dass es die Einschränkung für denn RDSH gibt, habe ich nicht kapiert! Habe die Artikel von MS nochmals gelesen und siehe da, es steht wirklich überall VDI und somit Single User!

    Habt Ihr den vorgeschlagenen Workaround mit DDA per RDSH und dann mehrere User drauf ausprobiert! Geht das wirklich?

    So könnte man ja doch einen Host mit 4 relativ günstigen GPUs bestücken, da 4 RDSH VMs drauf und die dann wieder für ca. 10 User freigeben. Wären dann immerhin 40 User pro Host...

    Bild von Wolfgang Sommergut
    6. Juli 2017 - 11:22

    Praktisch ausprobiert habe ich eine solche Konfiguration nicht. Aber sie ist nach Microsofts Dokumentation durchaus vorgesehen.
    Wenn man sich allerdings in den Microsoft-Foren umsieht, dann bekommt man den Eindruck, dass DDA nicht mit jeder GPU-Hardware einwandfrei funktioniert.