Ein wichtiger Gesichtspunkt der Hypervisor-Architektur ist der Mechanismus zur Verwaltung mehrerer Cores.
Der einfachste Lösungsansatz ist die statische exklusive Partitionierung (Bild 3), bei der eine - und nur eine - virtuelle Maschine (VM) permanent mit jeweils einem Core verbunden ist.
Durch die statische gemeinsame (shareable) Partitionierung lassen sich zusätzlich Zeitintervalle an mehr als eine VM auf einem einzigen Core zuteilen.
Umsetzbar ist die statische Partitionierungsarchitektur entweder mit einer einzigen logischen Hypervisor-Instanz oder mit zwei voneinander unabhängigen Instanzen, wobei jede ihren eigenen Core verwaltet (auch als Asymmetric Multiprocessing, AMP bezeichnet).
Die dynamische Partitionierung (Bild 4) stellt eine flexiblere Implementierung dar, die es virtuellen Maschinen erlaubt, zwischen Cores zu migrieren. Die Migration von virtuellen Maschinen gleicht der Prozessmigration in einem SMP-Betriebssystem.
Die Möglichkeit einer Migration von Rechenlasten kann dann leistungskritisch sein, wenn der Hypervisor mehr virtuelle Maschinen verwalten muss, als Cores vorhanden sind.
Das kommt einer Server-basierten Virtualisierung gleich (wie sie zum Beispiel beim Cloud-Computing Verwendung findet), bei der mehr virtuelle Server als Cores bestehen, und der Hypervisor den zeitlichen Einsatz der Server auf Grundlage von sich dynamisch verändernden Arbeitsbelastungen optimal einplanen muss.
In mobilen Plattformen bietet die Möglichkeit einer Ablaufplanung der virtuellen Maschinen offensichtliche Vorteile, zum Beispiel durch Priorisierung von Echtzeit-Rechenlasten.
Wie zuvor bereits erwähnt, kann die dynamische Partitionierung für die Energieeffizienz von entscheidender Bedeutung sein.
Beispielsweise kann der Hypervisor festlegen, dass ein einziger Core die Last aller virtuellen Maschinen verarbeitet, dann die anderen Cores abschalten und so den Leistungsverbrauch wesentlich reduzieren.
Der »Integrity«-Hypervisor unterstützt sämtliche oben beschriebenen Multicore-Varianten: SMP oder AMP, statische oder dynamische Core-Partitionierung sowie SMP-Gastsysteme.
Hypervisor sorgt für Innovation
Hypervisoren ermöglichen neue Anwendungen für mobile Geräte. So kann ein einzelnes Multicore-SoC (System on Chip) quasi eine »doppelte Persönlichkeit« darstellen, weil mehrere Gast-Betriebssysteme auf ihm laufen können.
Anwender haben also mehrere Möglichkeiten zur Auswahl, und gleichzeitig sinkt die Komplexität der Produktfamilien für OEMs und Betreiber. Durch Multicore-Virtualisierung lassen sich bewährte Multimedia-Betriebssysteme maximal wiederverwenden, um so Zeit und Kosten für die Entwicklung mobiler Geräte drastisch zu reduzieren. Einige Hypervisoren bieten darüber hinaus eine native Umgebung für spezielle Applikationen, schnell bootende Web-Browser sowie Multimedia- und Kommunikations-Codecs.
Mithilfe von zertifizierten sicheren Hypervisoren können virtuelle Maschinen und Applikationen nebeneinander existieren, mit garantiertem Speicherplatz, CPU-Zeit-Ressourcen sowie streng erzwungener Zugriffskontrolle auf das Gerät. Hypervisoren bieten mehrere Methoden zur Virtualisierung in Multicore-Plattformen. Einige Implementierungen verwenden eine Para-Virtualisierung, um Android und andere Gast-Betriebssysteme zu hosten. Ersatzweise kann der Hypervisor unveränderte Gast-Betriebssysteme hosten, indem er sowohl fortschrittliche Techniken zur Softwarevirtualisierung als auch, sofern verfügbar, eine Hardwarebeschleunigung einsetzt.