Nvidia-Grid-Technologie

Grafikintensive Anwendungen per Netzwerk auf virtuellen Desktops nutzen

Mit der Nvidia-Grid-Technologie können mehrere virtuelle Clients den Grafikprozessor gleichzeitig nutzen und so als Workstation fungieren. Damit sollen besonders grafikintensive Berechnungen nicht mehr die Server-CPUs im Rechenzentrum belasten, sondern können von dedizierten virtuellen Grafikprozessoren erledigt werden.

Desktop-Virtualisierung ist eine gängige Lösung für Unternehmen, um Kosten zu sparen. Mitarbeiter benötigen an ihren Arbeitsplätzen neben einem Bildschirm nur Eingabegeräte als physisch vorhandene Geräte. Die restliche Hardware wird vom Server des Unternehmens bereitgestellt. So ist es möglich, auch von unterwegs auf die vollständige Client-Oberfläche zuzugreifen, etwa mit einem Notebook oder Tablet. Doch die Technologie hatte bisher ihre Grenzen: Die CPUs der Server konnten nur für Standard-Office-Anwendungen genügend grafische Rechenpower liefern. Rechenintensive Grafikanwendungen wie etwa CAD-Applikationen oder Grafikprogramme á la Photoshop liefen nicht schnell genug auf der vorhandenen Infrastruktur.

Der Grafikspezialist Nvidia möchte dies mit seiner Grid genannten Technologie ändern. Das Konzept kombiniert Grafikprozessoren (GPUs) mit speziellen Treibern und zertifizierter Software, um einen virtuellen Client bereit zu stellen, der die Leistungsfähigkeit einer Workstation bietet. Dabei spielt es keine Rolle, ob sich der Anwender im LAN des Unternehmens befindet, oder per Remote-Zugang über das Internet (eine schnelle Verbindung vorausgesetzt, 2 bis 8 Mbit/s Download) zugreift.

GPU-Sharing, Pass-Through und vGPU

Zwar werden schon länger GPUs in Virtual-Desktop-Infrastrukturen-(VDI) für spezielle Anwendungen benutzt (GPU-Sharing, GPU Pass-Through), die Technologien sind aber bisher nicht besonders effizient. Beim GPU-Sharing gaukelt der Hypervisor einer Applikation auf dem virtuellen Client vor, sie könne auf eine eigene, dedizierte GPU zurückgreifen. Tatsächlich gibt es im Server aber nur eine physikalische GPU. Das Fehlen eines nativen Grafiktreibers lässt viele Anwendungen nicht optimal laufen und wenn viele Anwender gleichzeitig auf Applikationen zugreifen, wird die Verwaltung beim GPU-Sharing kompliziert.

Ähnlich verhält es sich bei der Pass-Through-Lösung, die jedem virtuellen Client eine dedizierte, physikalische GPU zuordnet. Dies macht es schwierig, viele Clients gleichzeitig mit hoher Grafikleistung zu versorgen. Ein einzelner, virtueller Client wird zwar leistungsfähig, aber das Gesamtsystem skaliert nicht und wird damit ineffizient.

Die Evolution geht weiter: Mit neuen Technologien lassen sich grafikintensive Anwendungen auch in das Rechenzentrum beziehungsweise auf den Server verlagern.
Die Evolution geht weiter: Mit neuen Technologien lassen sich grafikintensive Anwendungen auch in das Rechenzentrum beziehungsweise auf den Server verlagern.
Foto: Nvidia

Nvidia schafft es mit Grid hingegen, mit vielen gleichzeitig auftretenden Nutzen zu skalieren. Die Memory-Management-Einheit der Kepler-Architektur, auf der aktuelle Nvidia-GPUs basieren, ermöglicht es, dass alle Prozesse in ihren eigenen, virtuellen Adressbereichen ausgeführt werden. Außerdem teilen 256 unabhängige Input Buffer jede Befehlskette der virtuellen Maschinen in unabhängige Rendering-Umgebungen. Dadurch entstehen echte virtuelle GPUs (vGPU), die viele Anwender gleichzeitig und ohne Leistungseinbußen bedienen können. Nvidia gewährleistet auch niedrige Latenzzeiten in der VDI durch eine eigene Low-Latency-Remote-Display-Technologie. Standardmäßig wird zum Beispiel eine optimierte H.264-Codierung unterstützt.