Virtualisierung
22.01.2016
Nvidia GRID
1. Teil: „Grafikbeschleuniger in virtuellen Umgebungen“

Grafikbeschleuniger in virtuellen Umgebungen

Grafikbeschleuniger in virtuellen UmgebungenGrafikbeschleuniger in virtuellen UmgebungenGrafikbeschleuniger in virtuellen Umgebungen
Nvidia
Nvidia GRID 2.0 ist ein System aus Server-Grafikkarten und Erweiterungen für den Hypervisor, das aus virtuellen Desktops leistungsfähige Grafik-Workstations macht.
Während sich die Virtualisierung im Server-Bereich praktisch flächendeckend durchgesetzt hat, sind virtuelle Desktops noch längst nicht so verbreitet. Das Borderstep Institut etwa schätzte die Zahl virtueller Desktops (Virtual Desktop Infrastructure, VDI) im vergangenen Jahr auf deutschlandweit 1,5 Millionen. Bei rund 100 Millionen PCs oder Notebooks ist der Marktanteil damit weit von den 15 Prozent entfernt, die beispielsweise Gartner für das Jahr 2014 vorhergesagt hatte.
Die Zurückhaltung liegt unter anderem daran, dass Grafikvirtualisierung technisch äußerst anspruchsvoll ist und zudem nur in ausgewählten Branchen und Institutionen sinnvoll ist. Die hier benötigte Grafikleistung können virtuelle Desktops in vielen Fällen nicht erbringen.
Tabelle:
Diese Systemhäuser und Systempartner sind auf die Integration von Nvidia GRID in Virtualisierungsplattformen spezialisiert.

Vor allem bei grafikintensiven Aufgaben wie Computer Aided Design (CAD), 3D-Rendering, Visual Effects (VFX), Videoschnitt, bildgebende Verfahren in der Medizin oder Geländemodellierungen in den Geowissenschaften spielt die Hardware-Unterstützung durch eine Grafikkarte eine große Rolle.
2. Teil: „Warum Virtualisierung von High-End-Grafikkarten?“

Warum Virtualisierung von High-End-Grafikkarten?

Um die enorme Grafikkleistung bereitzustellen, kamen bislang in der Regel physische Workstations mit High-End-Grafikkarten zum Einsatz. Mit deren Nutzung sind allerdings eine Reihe von Nachteilen verbunden:
  • 
    • Grafikbeschleunigung: Diese Technik ermöglicht es, Anwendungen wie CAD-Programme oder 3D-Design-Software zu virtualisieren und auf Laptops oder Tablets zu verwenden.
      Quelle:
      Nvidia
    Workstations sind unflexibel. Der Mitarbeiter ist an seinen Arbeitsplatz im Büro gebunden und kann nicht von unterwegs oder zu Hause Kundenwünsche umsetzen, Nachfragen klären oder Fehler beheben. Die mangelnde Flexibilität wiegt besonders dann schwer, wenn die Auslastung sehr unterschiedlich ausfällt. Die Folge: Um Spitzenlasten abfangen zu können, müssen genügend Workstations vorhanden sein.
     
  • Workstations sind teuer. Die Investitionskosten für leistungsfähige Workstations liegen im deutlich vierstelligen Bereich. Hinzu kommen die Stromkosten für den Betrieb und ein erhöhter Managementaufwand bei vielen dezen­tral verteilten Rechnern.
     
  • Workstations sind ein Sicherheitsrisiko. Viele Unternehmen und Institutionen setzen zu Spitzenzeiten freiberufliche Spezialisten ein oder geben Aufträge an Subunternehmer ab, um sich die erwähnten Kosten zu sparen. Oft verlassen damit hochsensible Daten aus Forschung und Entwicklung oder der Produktion das Unternehmen. Die spektakulärsten Fälle, in denen auf diese Weise wichtige Daten gestohlen wurden, stammen sicher aus der Filmindus­trie, aber auch ein Mittelständler kann nicht hundertprozentig sicher sein, dass sich seine Subunternehmer und deren Subunternehmer an alle vereinbarten Sicherheits- und Vertraulichkeitsregeln halten.
     
  • Workstations sind nicht teamfähig. Ob Konstruktion, Modellierung oder Rendering – Projekte profitieren von der Zusammenarbeit verschiedener Experten oder Abteilungen. Bei der Arbeit mit physikalischen Workstations muss ein Projekt jedoch immer aus- und nach Bearbeitung wieder eingecheckt werden, damit Kollegen darauf zugreifen können. Dabei werden oft Gigabyte an Daten hin und her geschaufelt. Das sorgt für hohen Bandbreitenbedarf und verlangsamt die Bearbeitung erheblich.
Ein erster Ansatz, diese Probleme zu lösen, ist, die Workstation selbst zu virtualisieren, ihr aber Zugriff auf eine reale PCIe-Grafikkarte zu ermöglichen. Diese „Pass-Through“ oder „I/O-Virtualisierung“ genannte Funktion ist unter verschiedenen Hypervisoren möglich, beispielsweise unter VMware ESXi (VMDirectPath), Citrix XenServer (VGA Passthrough) oder KVM. 
Voraussetzung ist, dass Mainboard und CPU Intel VT-d (Virtualization Technology for Directed I/O) beziehungsweise AMD IOMMU (I/O Memory Management Unit) unterstützen. Pass-Through ist allerdings alles andere als eine Plug-and-Play-Lösung.
Die offiziellen Listen mit kompatiblen Grafikkarten sind sowohl bei AMD als auch bei Nvidia kurz. Je nach Firm­ware-, Treiber- und Konfigurationsvariante läuft das System gar nicht oder erst nach langem Herumprobieren. Unternehmen sollten deshalb beim Einsatz von Pass-Through auf vorkonfigurierte und getestete Systeme setzen.
3. Teil: „Mehr Leistung ohne Pass-Through mit der vGPU“

Mehr Leistung ohne Pass-Through mit der vGPU

Pass-Through ist nicht ohne Fallstricke. Zudem erkauft man sich damit eine neue Unflexibilität. Zwar befindet sich nun die Grafik-Workstation im Server beziehungsweise im Rechenzentrum, dafür muss für jeden Arbeitsplatz eine dedizierte Grafikkarte vorgehalten werden – und das kann zu Platz- und Klimaproblemen im Server-Schrank führen. 
Eine Alternative sind Systeme, die die Leistung einer Grafikkarte mehreren virtuellen Maschinen als sogenannte „vGPU“ zur Verfügung stellen können. Citrix und VMware bieten diese Technologie auf Basis der Softwareplattform GRID von Nvidia an. Das System aus Server-Grafikkarten und Erweiterungen für den Hypervisor ermöglicht es, virtuellen Desktops mehr Grafikleistung zur Verfügung zu stellen, als dies mit den „Shared Graphics“-Treibern der Hypervisoren möglich ist. Die Übertragung des Videosignals erfolgt als H.264-kodierter Pixelstrom, der unter Citrix per HDX und unter VMware per PCoIP übermittelt wird.
Version 1 von GRID, die 2012 auf den Markt kam, besteht aus zwei Varianten mit Kepler-GPUs namens  „GRID K1“ und „GRID K2“. GRID K1 ist mit vier Kepler-GPUs ausgestattet und bietet 16 GByte RAM sowie 768 CUDA-Kerne. GRID K2 verfügt nur über zwei, dafür aber deutlich leistungsfähigere Grafikprozessoren mit 3072 CUDA-Kernen und 8 GByte RAM. Sie ist vor allem für die Unterstützung grafikintensiver Applikationen wie CAD konzipiert.
4. Teil: „Die Softwareplattform GRID 2.0 von Nvidia“

Die Softwareplattform GRID 2.0 von Nvidia

Auf der VMworld 2015, die Ende August in San Francisco stattfand, hat Nvidia die zweite Generation von GRID vorgestellt. Sie kann unter anderem mit 32 Nutzern pro GPU und 128 virtuellen Desktops pro Server doppelt so viele Anwender bedienen wie die Vorgängerversion. Möglich machen dies GPUs der zweiten Maxwell-Generation. Die Karten tragen den Namen „Tesla“.
  • Tesla M60: Diese Karte mit mit Maxwell-GM204-GPUs, 16 GByte RAM sowie 4096 CUDA-Kernen bedient bis zu 36 parallele 1080p30-H.264-Streams.
    Quelle:
    Nvidia
Auch hier gibt es zwei Varianten: Die „Tesla M60“ mit Maxwell-GM204-GPUs, 16 GByte RAM sowie 4096 CUDA-Kernen kann bis zu 36 parallele 1080p30-H.264-Streams bedienen. Die schwächere M6 ist mit nur einer GM204-GPU, 8 GByte RAM und 1536 CUDA-Kernen ausgerüstet und lässt maximal 18 parallele 1080p30-H.264-Streams zu. Dafür passt sie aber dank MXM-Format in Blade-Server-Umgebungen. So lässt sich trotz geringerer Performace-Werte eine höhere Leistungsdichte erreichen als mit Rackservern.
Die Softwareplattform selbst ist in drei Versionen erhältlich, die jeweils pro angemeldeten Nutzer (Concurrent Connected User, CCU) lizenziert werden (siehe Tabelle oben). Ein Anwender muss also nach der Arbeit seine VM herunterfahren, um die Lizenz freizugeben. Der Lizenz-Server zur Überwachung steht lokal im Unternehmen und überträgt laut Nvidia keine Daten an den Hersteller.
Die Edition „Virtual PC“ unterstützt 4 bis 16 Windows-Gastsysteme pro GPU, denen zwischen 512 MByte und 2 GByte Grafikspeicher zugewiesen werden können. Sie ist für Standardanwendungen gedacht, bietet aber im Unterschied zu Shared Graphics, also der Grafikberechnung durch die CPU, mehr Multimedia-Komfort für den Nutzer. So lassen sich etwa Youtube-Videos oder Goo­gle-Earth-Animationen problemlos aufrufen. Die Auflösung pro Display ist auf 2560 x 1600 Pixel begrenzt, pro Nutzer werden maximal zwei Displays unterstützt.
Tabelle:
1) nur 8 GByte / 1 User-Profil     2) Grafik-RAM pro Nutzer / max. Anzahl der Nutzer pro GPU     ● ja     ○ nein

In der Version „Virtual Workstation“ sind es vier Displays bei gleicher Maximal-Auflösung. Zusätzlich sind virtuelle Linux-Desktops möglich und es stehen Features wie Hardware-Antialiasing zur Verfügung, ohne die Lösungen wie etwa das CAD-Programm Catia nicht funktionieren. Diese Variante ist für klassisches CAD oder 3D-Video-Rendering gedacht.
In der Edition „Virtual Workstation Extended“ können bis zu vier UHD-Displays mit jeweils 3840 x 2160 Pixeln angesteuert werden. Diese Variante kann einem Nutzer die komplette GPU und 8 GByte Speicher zur Verfügung stellen. Sie lohnt vor allem dann, wenn man die GPU auch für Berechnungen verwenden will, beispielsweise bei der Modellierung von Öl- und Gasvorkommen. Nur in dieser Konfiguration kann nämlich CUDA, aber auch OpenCL benutzt werden. Da die Grafikkarte in diesem Modus ständig zwischen Grafik- und Datenberechnung hin und her schalten muss, lässt sich in diesem Modus nur ein Nutzer pro GPU bedienen.
Kaufen kann man GRID offiziell nur im Paket mit Servern und Support von Partnern wie Cisco, Dell, HP, Lenovo oder Supermicro. Insgesamt sind 125 Server-Modelle für den Einsatz mit GRID zertifiziert. Die MXM-Variante Tesla M6 läuft aktuell mit Blade-Servern von Cisco und HP, weitere sollen folgen. Unternehmen können bei der Integration auf ein Partnernetzwerk von Systemhäusern und -partnern zurückgreifen. Eine Übersicht ist in der Tabelle rechts zu finden.
5. Teil: „AMDs Antwort auf GRID“

AMDs Antwort auf GRID

AMD hat auf der VMworld 2015 ebenfalls eine Lösung für grafikbeschleunigte Virtualisierung vorgestellt – die „Multiuser GPU“. Im Unterschied zu Nvidia setzt AMD dabei nicht auf eine zusätzliche Virtualisierungsplattform. Zur Implementierung und Konfiguration genügt ein Hypervisor-Treiber. Die Kommunikation erfolgt per Single Root I/O Virtualization (SR-IOV). Damit ist der native Zugriff mehrerer virtueller Desktops auf eine PCIe-Karte möglich. Voraussetzung ist allerdings, dass auch der Server SR-IOV-fähig ist.
Die Leistung der Multiuser-GPU, die demnächst in verschiedenen Firepro-Grafikkarten verfügbar sein soll, lässt sich auf bis zu 15 Nutzer verteilen. Der direkte Zugriff auf Display-Treiber für OpenGL-4.4-, DirectX-12- und OpenCL-2.0-Beschleunigung soll Unterschiede zwischen einer lokal installierten Grafikkarte und der virtuellen Version minimieren. Diese Art der Implementierung verspricht laut AMD auch eine höhere Sicherheit, da Hacker bei Sicherheitslücken in den Treibern nicht das komplette System übernehmen könnten. Außerdem erhält jeder Nutzer einen eigenen Speicherbereich auf der Grafikkarte.
Die Multiuser-GPU wird zunächst nur für VMware vSphere/ESXi ab Version 5.5. verfügbar sein. Die Verwaltung der virtuellen Desktops kann über VMware Horizon, Citrix XenDesktop oder Teradicis Workstation Host erfolgen.

Hardware-Beschleunigung

Das Unternehmen Teradici ist ein Spezialist für die PC-over- IP-Technologie (PCoIP). Dabei wird das Image einer Applikation auf dem Server komprimiert und verschlüsselt an den Client übertragen. Da Kompression und Verschlüsselung die CPU stark belasten, hat Teradici eine Hardware-Accelerator-Karte entwickelt, die diese Arbeit übernimmt.
Die „Apex 2800“ gibt es im PCIe-Format sowie als MXM-Adapter. Mit ihr lassen sich bis zu 40 Displays mit einer Auflösung von 2560 x 1600 Pixeln bedienen. Die Karte kann auch zusätzlich zu einer Grafikbeschleunigung eingesetzt werden und verbessert dann Encodierungseffizienz und Framerate.
  • Tesla M6: Dank MXM-Format lässt sich die Karte in Blade-Server-Umgebungen nutzen.
    Quelle:
    Nvidia
Für die 1-zu-1-Virtualisierung einer Workstation bietet Tera­dici zudem die Karten „Tera2240“ und „Tera2220“ an. Die physikalische Workstation kann im Server-Raum oder Rechenzentrum stehen, der Nutzer greift dann über einen Zero Client darauf zu. Der Anbieter verspricht beim Einsatz keine Leistungseinbußen gegenüber dem direkten Zugriff und Frameraten von bis zu 60 Bildern/s.

Nachteile von vGPU

Virtualisierungssysteme stellen die Grafik als Bilderstrom zur Verfügung, der interaktiv durch die Eingaben des Nutzers verändert wird. Die Bedienbarkeit einer solchen Lösung steht und fällt natürlich mit der Qualität der Datenverbindung. Reicht die Bandbreite nicht aus, muss entweder die Auflösung verringert werden oder es kommt zu Aussetzern und Rucklern. Zwar passen Protokolle wie PCoIP Kompression und Datenrate dynamisch an, dennoch sind bei Bandbreiten unter 2 MBit/s Einbußen zu erwarten.
Im Alltag wirken sich jedoch zu hohe Latenzen meist gravierender auf den Bedienkomfort aus. So wird bei Laufzeiten von 150 ms die Bedienung merklich zäher und ab 250 ms sind Arbeitsschritte wie das Drehen eines 3D-Modells nicht mehr flüssig möglich. Solche Verzögerungen können bei Mobilfunkverbindungen oder transkontinentalen Zugriffen durchaus auftreten. Hinzu kommt ein erhebliches Datenvolumen, das bei gedeckelten Flatrates bei 3G- oder LTE-Verträgen schnell zur Drosselung führt.
6. Teil: „Fazit und GRID-Praxisbeispiel Caterpillar“

Fazit und GRID-Praxisbeispiel Caterpillar

Technisch spricht nichts dagegen, auch grafikintensive Anwendungen und Arbeitsplätze zu virtualisieren. Flexibilität, vereinfachtes Management und eine höhere Datensicherheit sind die Hauptargumente dafür. Nvidia hat mit GRID derzeit sicher die ausgereifteste Lösung am Markt, die in Version 2.0 noch leistungsfähiger geworden ist.
Vor allem Unternehmen und Institutionen aus Wissenschaft und Technik wie Universitäten oder Energieerzeuger dürften sich zudem über die neu hinzugekommene Linux-Unterstützung freuen.
Caterpillar Energy Solutions: Durch das Nvidia-GRID-System stehen bis zu 16 virtuelle CAD-Arbeitsplätze zur Verfügung.
Foto: Caterpillar
Beispiel: Virtuelle CAD-Arbeitsplätze im Kraftwerks- und Motorenbau
Das 1871 von Carl Benz als „Mechanische Werkstätten“ gegründete Mannheimer Unternehmen MWM baut Gasmotoren, Stromaggregate und Blockheizkraftwerke für Energieversorger und industrielle Anwender. Es wurde 2011 von Caterpillar übernommen und firmiert nun als Caterpillar Energy Solutions.
Für die Entwicklung und Konstruktion seiner Produkte setzte das Unternehmen bisher CAD-Arbeitsplätze auf physikalischen Workstations mit Nvidia-Quadro-K4000-Grafikkarten ein. Die Nutzung war nur in der eigenen Büroumgebung möglich. Von diesen Grafik-Workstations gibt es noch zehn Stück im Unternehmen. Hauptanwender sind die Mitarbeiter aus dem Bereich Konstruktion.
Um Auftragsspitzen abzufangen, setzt Caterpillar Energy externe Mitarbeiter ein. Bisher mussten für solche Projekte eigens teure Grafik-Workstations angeschafft und an die Auftragnehmer ausgeliefert werden. Um konstruieren zu können, luden sich die externen Mitarbeiter die Datensätze der zu bearbeitenden Produkte auf ihre Workstations. Das Aus- und Einchecken dauerte lange, zudem stellte es ein Sicherheitsrisiko dar.
Um eine größere Flexibilität bei der Bereitstellung von externen Arbeitsplätzen zu erreichen und um sicherzustellen, dass Design-Datensätze das Haus nicht mehr verlassen, prüfte Caterpillar Energy Solutions den Einsatz von virtuellen Grafik-Workstations. Mit Unterstützung des Systemhauses Mightycare setzte das Unternehmen eine Testumgebung mit einem Dell-R730-Server und Nvidia-GRID-K1-Grafikkarten auf.
Die Virtualisierung erfolgte über VMware vSphere, kombiniert mit Horizon View Clients in einer 1-GPU-pro-Nutzer-Umgebung. Fünf Nutzer an internen und externen Arbeitsplätzen testeten drei Monate die Umgebung. „Die Ergebnisse der Proof-Of-Concept-Phase waren sehr überzeugend“, sagt Patrick Ruhnke, IT-Service-Leiter bei Caterpillar Energy, „die neuen virtuellen Konstruktionsarbeitsplätze waren ebenso leistungsfähig und auch für unsere externen Konstrukteure stand so genügend Rechenleistung zur Verfügung.“
Seit Frühjahr 2015 setzt das Unternehmen nun virtuelle Grafik-Workstations auf Basis von VMware und GRID produktiv ein. Durch die Anschaffung eines zweiten Dell-R730-Servers stehen jetzt bis zu 16 virtuelle Arbeitsplätze zur Verfügung. „Arbeitsplätze können schnell erstellt werden, ohne dass neue Hardware beschafft und an die externen Mitarbeiter ausgeliefert werden muss“, sagt Ruhnke. Zudem lasse sich die Pflege der Arbeitsplätze nun zentral verwalten und Software-Aktualisierungen in einem Durchgang auf alle Systeme bringen, so Ruhnke weiter. Auch für die Nutzer habe die Umstellung Vorteile: „Das Öffnen der Projekte sowie das Ein- und Auschecken von Datensätzen geht wesentlich schneller vonstatten als bisher, da keine großen Datenmengen mehr übertragen werden müssen.“
Inwieweit GRID zu Einsparungen geführt hat, dazu gibt es laut Ruhnke noch keine abschließenden Erkenntnisse. Auf jeden Fall will das Unternehmen im nächsten Hardware-Beschaffungs­zyklus GRID 2.0 testen. „Dann werden wir entscheiden, ob wir die bestehenden Systeme aktualisieren oder auf eine neue Infra­struktur migrieren“, sagt Ruhnke. Auch die Einführung von Zero Clients für die Ingenieure statt der jetzigen Workstations werde dann evaluiert.

mehr zum Thema