Virtualisierung mit Server-CPUs: Leistungsbremse inklusive

Als letzte Alternative bleibt also die Virtualisierung mittels Hardwarevirtualisierung der ersten Generation: AMD-V oder VT-x. Dabei läuft der Kernel-Code des Betriebssystems unmodifiziert ohne jegliches Patching im Ring 0. Der Hypervisor kann mit dieser Technologie bestimmte Befehle, etwa IN und OUT, trotzdem abfangen. Das ermöglicht, dass User-Mode-Programme wieder direkt Funktionen des Gastmaschinenkernels aufrufen können. Viele Kernel-Funktionen, die keinen I/O verursachen, beispielsweise Dateisystemoperationen oder Prozessinformationen wie bei getppid, laufen dadurch nahezu mit nativer Geschwindigkeit.

Ein dritter Benchmark, nämlich forkwait, zeigt, dass auch die VT-x- beziehungsweise AMD-V-Technologie mit Nachteilen behaftet ist. Ändern sich Page Tables, so muss der Hypervisor eingreifen.

Die Veränderung der Page Tables erreicht forkwait, indem es eine Million Mal einen neuen Prozess startet.


Bild 7: forkwait.c verursacht mindestens zwei Millionen Page-Table-Updates.

Bei forkwait sind die nativen Ergebnisse nur zur Information dargestellt. Da die verwendeten Rechner 4, 8 oder 24 Cores haben, ist keine Vergleichbarkeit mit den virtuellen Maschinen gegeben, die nur je über 2 Cores verfügen.


Bild 8: Ändern sich Page Tables, dann ist Hardwarevirtualisierung der zweiten Generation die einzig performante Alternative.


Bild 9: Im 64-Bit-Modus verliert AMD-V so stark, dass eine logarithmische Skalierung gewählt werden muss.

Die Benchmarks zeigen, dass AMD-V und VT-x sehr schwach performen. Binary Translation überzeugt ebenfalls nicht, da beim Anlegen und Beenden eines Prozesses viele Kernel-Funktionen aufgerufen werden. Abhilfe könnte eine Kombination von AMD-V oder VT-x mit Binary Translation schaffen. Dabei könnten Page-Table-Updates und I/O-Befehle durch Binary Translation erledigt werden, während AMD-V oder VT-x für einen performanten User-Kernel-Übergang in den Gastmaschinen sorgen. Allzu verständlich ist jedoch, dass die Virtualisierungshersteller nicht weiter in die Risikotechnologie Binary Translation investieren möchten.

RVI oder EPT liefert im forkwait-Benchmark zufriedenstellende Ergebnisse. Den Page-Table-Update erledigen die Prozessoren genauso mit Hardwareunterstützung wie den User-Kernel-Übergang.

Themenseiten: Anwendungsentwicklung, Betriebssystem, Nehalem, Prozessoren, Server, Servers, Shanghai, Software, Storage, Storage & Server, VMware

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

1 Kommentar zu Virtualisierung mit Server-CPUs: Leistungsbremse inklusive

Kommentar hinzufügen
  • Am 18. Dezember 2008 um 18:22 von ML

    Story comment
    A very interesting story

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *