Virtualisierungsfunktionen der Prozessoren

Intel und AMD: Leistungs-Boost durch Virtualisierung direkt auf der CPU

08.08.2008 | Autor / Redakteur: Johann Baumeister / Ulrich Roderer

Durch die Virtualisierungsfunktionen in der CPU entlastet Intel den Hypervisor
Durch die Virtualisierungsfunktionen in der CPU entlastet Intel den Hypervisor

Die Virtualisierung erobert die Rechenzentren. Ein neuer Leistungsschub steht durch die Integration von Virtualisierungstechniken in den CPUs bevor. Die CPU-Hersteller AMD und Intel bieten dabei gleich mehrere Konzepte für Leistungsanreize.

Die Virtualisierung von Serversystemen erfährt durch die Integration von Virtualisierungsfunktionen in den CPUs einen Leitungsgewinn. Dieser beruht darauf, dass bestimmte Aufgaben, die bei der Virtualisierung von Rechnern anfallen, nicht mehr durch den Hypervisor, sondern direkt von der CPU verarbeitet werden. Um das zu verdeutlichen, ist ein kurzer Rückblick in die Architektur der x86-CPUs und der Betriebssysteme sinnvoll. Bereits in den 80-er Jahren des vergangenen Jahrhunderts führte Intel bei seinen Prozessoren ein Ringmodell für die CPUs ein. Demnach unterscheiden die CPU seitdem vier Schichten (Berechtigungsstufen / priviledge levels) in denen der Code ausgeführt wird. Code auf Ring 0 hat alle Rechte, daher ist diese Stufe für das Betriebssystem reserviert. Die weiteren Ringe 1 bis 3 haben abfallende Rechte und waren für die weiteren Softwareschichten, wie etwa Gerätetreiber oder der Applikation vorgesehen. Beide sollten, nach der damaligen Vorstellung von Intel, auf Ebenen mit niedriger Priorität laufen.

Modularisierte Software

Das gesamte Softwaresystem eines Rechners, bestehend aus dem Betriebssystem, den gerätenahen Treibern und weiteren Basisdienste, bis hin zur Applikation sollte sich so aus mehreren Ebenen, mit abfallenden Berechtigungen zusammensetzen. Die Softwaremodule auf den Ringen sind dabei voneinander getrennt. Benötigt eine Applikation auf der Ebene 3 einen Dienst eine Gerätetreibers so wird an dieser Stelle ein Wechsel (Kontext-Switch) vom Ring 3 auf Ringe 1 oder 2 durchgeführt.

So ganz hat sich das Schichtenmodell nicht durchgesetzt, blieb aber aus Kompatibilitätsgründen bis heute erhalten. Auch wurden häufig Gerätetreiber, die der Definition wegen eigentlich in Ring 1 oder 2 laufen sollen, häufig im Ring 0 ausgeführt. War dieser Treiber aber fehlerhaft programmiert, so führte dies zu den bekannten Betriebssystemabstürzen. Der Grund für die Platzierung der Treiber in den Ring 0 waren Leistungsgründe, denn ein Wechsel von den Berechtigungsstufen kostet immer Zeit. Für das Betriebssystem wurde aber immer die Ebene 0 reserviert. Zu den Aufgaben des Betriebssystems gehören auch die Speicherverwaltung und das Interrupt-Handling.

Bei der Virtualisierung von Rechnersystemen ist aber genau das ein Engpass, denn nun laufen mehrere Betriebssysteme parallel auf einem Rechner. Häufig behilft man sich nun mit einer Zwischenschicht. Dies ist der Hypervisor. Seine Aufgabe ist die Abbildung der Betriebssystemfunktionen der virtuellen Maschinen auf die einzige Hardware. Dies passiert z.B. beim Vmware ESX-Server durch Emulationen. Bei der Binary Translation werden die kritischen Befehle zur Laufzeit umgesetzt. Doch Emulationen sind sehr zeitintensiv. Daher geht man nun dazu über, die Grundlagen für die Virtualisierung direkt in die CPUs zu verlagern.

Inhalt des Artikels:

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 2014523 / Hardware)