Virtualisierungsfunktionen der Prozessoren

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

Seite: 3/4

Anbieter zum Thema

Beschleunigter Speicherzugriff

Die Speicherverwaltung in modernen CPUs erfolgt in der Regel immer in einem mehrstufigen Zugriffsverfahren, wobei anwendungsspezifischer Speicher (virtueller Speicher) auf physikalischen Speicher abgebildet wird. Dieser Prozess wird Paging genannt. Die unterste Ebene und kleinste Einheit stellt dabei die Page (eine Speicherseite) dar. In einem Page Table werden mehrere dieser Seiten zusammengefasst. Denen übergeordnet ist das Page Directory, darüber die Page Map. Hinzu kommen ferner mehrstufige Caches, sowie der Swap-Bereich in Linux und die Auslagerungsdatei in Windows. Alles in allem erfordert der Zugriff auf ein Informationshäppchen für eine Applikation damit einen mehrstufigen Ablauf, der natürlich Zeit kostet. Durch die Virtualisierung wird der Speicherzugriff um eine Stufe erweitert, da nun eine weitere Abstraktionsschicht eingefügt werden muss. Damit wird der Ablauf um eine Stufe komplexer. Die jetzt virtuellen Betriebssysteme greifen ja nicht wirklich auf physikalischen Speicher zu, sondern dies übernimmt nun der Hypervisor. Solange die Hardware dies nicht unterstützt, muss der Zugriff in Software emuliert werden. Dieser Prozess wird Shadow Paging genannt. Shadow Paging führt somit zu einem Mehraufwand bei den Speicherzugriffen, so dass die Leistung des Servers dadurch beeinträchtigt werden kann. Mit der Einführung von Rapid Virtualization Indexing (RVI), auch als Nested Paging bekannt, will AMD dieser zusätzliche Umsetzung begegnen. Bei RVI wird die Übersetzung wieder von der CPU übernommen und kann so speziell bei speicherintensiven Anwendungen einen erheblichen Leistungsvorteil erbringen.

Intel setzt zum beschleunigten Zugriff auf den Speicher auf die Intel-VT Extended Page Tables und will damit in Zukunft den Speicherzugriff optimieren.

Vereinfachte Migrationen durch CPU-Support

Eine weitere Funktion der CPU‘s ist die Unterstützung der Migration von virtuellen Maschinen. Dies ist vor allem zur Lastverteilung, Disaster Recovery oder auch bei Wartungsarbeiten, bei denen Serversysteme z.B. außer Betrieb zu nehmen sind, notwendig. Dabei werden dann, unterstützt durch den Virtualisierer, alle auf dem Server befindlichen virtuellen Maschinen auf einen anderen Server transferiert. Mittlerweile wird dies auch unter der Hinwendung zum Stromsparen propagiert, so dass man nachts die Last auf weniger Server zusammenfasst. Der Beweis über die tatsächliche Ersparnis aber steht noch aus.

Die Übertragung einer ausgeschalteten virtuellen Maschine, die nur als Datei auf dem Speichermedium vorliegt, ist davon ausgenommen. Diese als Cold-Migration bezeichnete Variante erfordert lediglich CPU‘s der gleichen Basisarchitektur und wie Breite, wie etwa x86 oder x64.

Die Übertragung einer laufenden virtuellen Maschine von einem Host auf einen anderen stellt gänzlich andere Anforderungen. Sie erfolgt bei Vmware durch Vmotion, Xen hat dafür sein XenMotion und Microsoft verwendet ein Verfahren, das als Quick Migration bezeichnet wird. Allerdings machen nur Xen und Vmware wirklich eine Liveübertragungen, Microsoft bringt auf dem Quell-System die virtuellen Maschinen in einen „Suspended“ Zustand, überträgt dann die Datei mit der virtuellen Maschine und erweckt diese auf dem Zielsystem wieder. Aber auch die anderen und weniger bekannten Virtualisierer unterstützen Migrationsverfahren von virtuellen Maschinen. Bei Virtual Iron und Solaris Container gehört die Migration zu den Core-Funktionen. Novell SLES 10 arbeitet ebenso wie Microsoft noch an der Implementierung. RHEL5 unterstützt die Migration von paravirtualisierten Gästen.

Artikelfiles und Artikellinks

(ID:2014523)