Virtualisierung mit Server-CPUs: Leistungsbremse inklusive

Um den 80386 performanter zu gestalten, entwickelte Intel einen Translation Lookaside Buffer (TLB). Er arbeitet nach einem einfachem Prinzip. Beim ersten Zugriff auf eine Speicheradresse muss der Prozessor ein Page Walk durchführen. Allerdings merkt er sich das Ergebnis und speichert es im TLB ab. Ein erneuter Speicherzugriff innerhalb derselben Page führt dazu, dass der Prozessor nur einmal im TLB nachschauen muss und sofort die physikalische Adresse kennt.

Das erfordert die Mithilfe des Betriebssystems. Es modifiziert die Page Tables, wenn einem Anwendungsprogramm Speicher zugeteilt wird, beziehungsweise wenn ein Anwendungsprogramm freiwillig Speicher zurückgibt. In diesem Fall wird der TLB ungültig. Das Betriebssystem muss ihn daher invalidieren. Alle Speicherzugriffe eines Anwendungsprogramm laufen nach der Invalidierung einmalig wieder über einen langsamen Page Walk. Dabei füllt sich der TLB erneut.

Setzt man Virtualisierung ein, kommt es zwangsläufig zu einem weiteren Schritt bei der Ermittlung der tatsächlichen Speicheradresse. Der Kernel des Gastbetriebssystems definiert Page Tables, die der Hypervisor jedoch abfängt. Erst im Hypervisor werden die echten Adressen bestimmt.

RVI von AMD und EPT von Intel erlauben daher, dass sowohl das Gastbetriebssystem als auch der Hypervisor Hardware-Page-Tables verwenden können. So muss der Hypervisor nicht eingreifen, wenn das Gastbetriebssystem Page Tables ausliest oder modifiziert. EPT hat allerdings einen Vorteil gegenüber RVI. Über die zusätzliche Page-Table-Hierarchie hinaus lässt sich für jeden virtuellen Prozessor eine virtuelle Prozessor-ID (VPID) festlegen. Ferner gibt es zwei neue Invalidierungsbefehle für den Hypervisor.

Mit invvpid können TLB-Einträge nur für einen virtuellen Prozessor invalidiert werden. Alle anderen TLB-Einträge bleiben gültig. Analog dazu invalidiert invept nur die Extended Page Tables. AMD geht anders vor. Das NPT-Konzept in RVI erlaubt lediglich Nested TLBs. Damit können Page Walks zwar verkürzt werden, jedoch lässt sich nicht verhindern, dass Page Walks in einer Gastmaschine überflüssig werden, wenn sich in einer anderen Gastmaschine Page Tables ändern.

Der Microbenchmark memsweep zeigt, dass die komplette Verlagerung der Adressübersetzung in die Prozessorhardware bei AMD zur Falle werden kann, da nur der gesamte TLB invalidiert werden kann. Die gemessene Verlangsamung um die Hälfte ist ein ernst zu nehmender Faktor. Verzichtet man auf die Verwendung von RVI, dann läuft memsweep mit nahezu nativer Geschwindigkeit ab. In diesem Fall verwaltet der Hypervisor sogenannte Shadow Page Tables per Software, was ihm eine feinere Kontrolle darüber ermöglicht, ob und wann TLB-Einträge invalidiert werden müssen.

Die Softwarelösung ist im Endeffekt schneller als die Hardwarelösung. Dieses Phänomen ist nicht neu. Die Digital Equipment Corporation (DEC) hatte einst für ihre VAX-Prozessoren den Befehl index eingeführt, der ein Byte in einer Zeichenkette findet, jedoch stellte sich schnell heraus, dass das Suchen mittels einer Schleife schneller war als die Verwendung des neuen Befehls.

Page: 1 2 3 4 5 6 7 8 9 10 11

ZDNet.de Redaktion

Recent Posts

So greift EKANS Ransomware kritische Infrastrukturen an

Sicherheitsexperten von Fortinet haben die EKANS Ransomware gründlich analysiert und zeigen auf, welche Angriffstechniken die…

5 Tagen ago

So wird IT zukunftssicher

IT und vor allem Unternehmensanwendungen verändern sich durch umfassende Digitalisierungen und Herausforderungen wie die Covid-19-Krise…

5 Tagen ago

AVM veröffentlicht FritzOS 7.20 für Fritzbox 7590

FritzOS 7.20 soll eine erhebliche Performancesteigerung bringen. Außerdem beinhaltet es Komfortfunktionen für das smarte Heimnetz,…

5 Tagen ago

Latenzen bei Online-Live-TV senken

Live-Fernsehen über das Internet stellt hohe Herausforderungen an die Latenz. Der Online-Zuschauer solle den Ausgang…

6 Tagen ago

Try2Cry: Neue Ransomware mit Wurm-Funktion infiziert Windows-Systeme

Sie kopiert sich auf Wechseldatenträger. Dort ersetzt Try2Cry alle gespeicherten Dateien durch LNK-Dateien mit deren…

6 Tagen ago

macOS Big Sur: Apple schließt Hintertür für Adware-Apps

Es entfällt die Möglichkeit zur stillen Installation von Konfigurationsprofilen. macOS Bigs Sur betrachtet Profile künftig…

6 Tagen ago