Nmedia - Fotolia

F

Welche Rolle spielt Second-Level Address Translation bei der Virtualisierung?

Virtualisierung setzt die effiziente Verwaltung des physischen Arbeitsspeichers voraus. Welche Rolle spielt dabei Second-Level Address Translation?

Durch die Virtualisierung hat sich die Art und Weise verändert, wie Serverressourcen verteilt und von Enterprise-Workloads abgerufen werden. Die Tage sind lange vorbei, an denen ein Server eine einzige Applikation gehostet hat, und virtuelle Maschinen können heutzutage fast die gesamten physischen Ressourcen eines Servers auslasten.

Daher müssen Administratoren virtueller Server auch sicherstellen, dass ihre Workloads mit ausreichend Prozessor-, Memory-, Storage- und Netzwerkkapazitäten ausgestattet sind. Performance-Probleme sind in virtuellen Umgebungen sehr häufig auf unzureichend Arbeitsspeicher zurückzuführen, was letztlich ein Problem für den gesamten Server darstellt.

Heutige Computer behandeln Arbeitsspeicher wie eine virtuelle Ressource, selbst wenn gar kein Hypervisor zum Einsatz kommt. Wenn eine Anwendung Zugriff auf den Arbeitsspeicher benötigt, dann muss die virtuelle Speicheradresse also erst wieder in eine physische übersetzt werden. Dieser Prozess wird über eine sogenannte Page Table (auch Seitentabelle) oder Translation Lookaside Buffer (TLB, auch Übersetzungspuffer) geregelt.

Durch die Server-Virtualisierung wird dieser Prozess deutlich komplizierter. Wenn ein Hypervisor eine Virtualisierungs-Schicht hinzufügt, dann muss diese Übersetzung natürlich zwei Mal erfolgen. Einerseits, um die virtuelle Speicheradresse der virtuellen Maschine für den virtuellen Adressraum des Hosts zu übersetzen, andererseits, um den virtuellen Adressraum des Hosts schließlich für den physischen zu übersetzen.

Diese Second-Level Address Translation (SLAT) wurde normalerweise im Virtual Machine Manager durchgeführt, der Teil eines Hypervisors wie etwa VMware ESXi oder Microsoft Hyper-V ist. Die Notwendigkeit für zusätzliche Address-Translation-Zyklen kann die Performance aber ebenfalls beeinträchtigen, sobald eine Adressenübersetzung notwendig ist. Prozessorhersteller wie Intel oder AMD sind daher dazu übergegangen, die Second-Level Address Translation direkt über den Prozessor durchzuführen, um so die Leistung der virtuellen Maschinen zu verbessern.

Intels Implementierung der Second-Level Address Translation nennt sich Extended Page Tables und ist zum Beispiel in den Xeon-Prozessoren mit Westmere-EX-CPUs für Server integriert, also beispielsweise in die Produktreihen E7-88xx, E7-48xx und E7-28xx wie auch in CPUs der E56xx-, L56xx- und X56xx-Reihe. AMD nennt seine SLAT-Implementierung Rapid Virtualization Indexing, was auch als Dubbed Nested Page Tables bezeichnet wird. Rapid Virtualization Indexing gibt es zum Beispiel in Opteron-Prozessoren mit Barcelona-Core.

Bei all dem sollte auch beachtet werden, dass manche Hypervisoren, etwa Hyper-V in Windows 8, die softwarebasierte Virtualisierung von Arbeitsspeicher nicht mehr unterstützen und daher auf hardwaregestützte Second-Level Address Translation zurückgreifen müssen. Daher sollte vor dem Upgrade eines Hypervisors ein Blick auf die Systemanforderungen geworfen werden, um abzuklären, ob der neue Hypervisor auch auf Hardware ohne SLAT-Unterstützung ordnungsgemäß funktionieren wird. Falls nicht, muss entsprechend auch die Hardware aktualisiert werden, um einen SLAT-kompatiblen Prozessor bereitstellen zu können.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+ und Facebook!

Erfahren Sie mehr über Containervirtualisierung

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close