Die Maschine in der Maschine Das Who's Who der Virtualisierungstechniken

Virtualiserung: die Maschine in der Maschine.

Vollvirtualisierung, Paravirtualisierung, Bare-metal – Wissen Sie, was gemeint ist? Wenn das Gedächtnis kurz aussetzt: kein Problem, in dieser Übersicht sind die wichtigsten Techniken und Begriffe kurz und knapp erklärt.

Das nahende Ende von Moore's Law bereitet nicht nur den Hardware-Entwicklern Kopfzerbrechen sondern hat auch Konsequenzen für die Software. Denn um die Rechenleistung weiter zu erhöhen, sind die Hardware-Entwickler in die Welt der Multi-Core-Prozessoren aufgebrochen. Damit stehen die Software-Entwickler jedoch vor einem Riesenproblem: Wie beschäftigt man mehrere parallel arbeitende Prozessoren sinnvoll? – Denn originäre Parallelprogrammierung ist ein Forschungsgebiet, das mehr Fragen als Antworten aufwirft. Virtualisierungstechnik bietet hier einen Ausweg.

Warum virtualisieren?

Verdoppelt man bei einem Prozessor die Rechenleistung durch Verdoppelung der Taktfrequenz, dann steigt seine Leistungsaufnahme um rund das Vierfache, denn es muss nicht nur die Frequenz erhöht werden, sondern auch die Versorgungsspannung gesteigert werden, um eine bessere Flankensteilheit zu erreichen. Verdoppelt man die Rechenleistung durch Hinzufügen eines zweiten Prozessors, dann steigt die Leistungsaufnahme linear, ist also »nur« doppelt so hoch. Kurz und gut: In Anbetracht des zuende gehenden Moore'schen Gesetzes sind Mehrkern-Prozessoren ein gangbarer Weg, die Leistung weiter zu erhöhen. Als angenehmer Nebeneffekt vollzieht sich diese Leistungssteigerung ohne überproprotionale Zunahme des Stromverbrauchs – verglichen mit einer Erhöhung der Taktfrequenz.

Allerdings sind selbst Single-Core-Prozessoren heute schon so leistungsfähig, dass sie oft nur zu einem Bruchteil ausgelastet sind. Viele Investitionsgüter wie Flugzeuge, Bahnen, Fahrzeuge und Maschinen sind mit Dutzenden von Prozessoren ausgestattet, die jeweils bestimmte, ihnen zugedachte Aufgaben erledigen. Durch Multi-Core-Prozessoren können mehrere Prozessoren in einem Gerät zusammengefasst werden und dank Virtualisierung läuft die Software auf ihnen dennoch getrennt. Das verbessert die Effektivität ohne dass die Sicherheit darunter leidet.

Virtualisierung ist nichts neues. Die ersten praktischen Anwendungen gab es schon 1971 auf dem Großrechnersystem 370 von IBM. Mit den Mehrkern-Prozessoren erobert Virtualisierung nun auch den Mainstream-Bereich. Inzwischen sind zur Virtualisierung aber noch andere Konzepte wie Partitionierung und Emulation hinzugekommen, die Anlass zur Verwechslung geben. Auch für die Virtualisierung selbst gibt es mehrere Wege zum Ziel: Vollvirtualisierung, Paravirtualisierung, mit oder ohne Hardwareunterstützung – dieses »Spezial Virtualisierung« gibt einen Überblick über die verschiedenen Möglichkeiten.