Embedded-Hypervisor für Multicore-Architekturen Viele Kerne fest im Griff

Ausgefeilte Handheld-Geräte verdrängen zunehmend den PC als vorrangiges Informationsmittel. Möglich wird dies durch Software mit attraktiven, auf den kleinen Formfaktor zugeschnittenen Connectivity-, Multimedia- und Kollaborations-Applikationen, aber auch durch leistungsfähige und energiesparende Mikroprozessoren. Besonders Multicore-Bausteine erobern den Markt der eingebetteten und mobilen Geräte im Sturm. Entsprechende Hypervisoren helfen Entwicklern, die Vorteile von Multicore-Architekturen optimal zu nutzen.

Zu den Hypervisor-freundlichen Multicore-Prozessoren, die auf dem Markt für eingebettete und mobile Geräte besonders erfolgreich sind, zählen »ARM Cortex A«, Intel-Embedded-Prozessoren mit VT-Technologie sowie »QorIQ« von Freescale. Für Software-Entwickler bringt diese Technik sowohl Herausforderungen als auch Chancen mit sich. Mithilfe entsprechender Hypervisoren können Entwickler die Vorteile der Multicore-Performance nutzen, den Energieverbrauch minimieren und neue Anwendungsmöglichkeiten für Geräte erschließen.

Vergleichbar mit der Rolle von Hypervisoren bei Servern, ermöglicht der »Embedded Hypervisor« die Konsolidierung von ungleichen, bisher auf mehreren verschiedenen Architekturen laufenden Arbeitslasten auf einer einzigen Multicore-Plattform. Zum Beispiel kommen bei mobilen Geräten sehr häufig unterschiedliche Prozessoren für die Anwendungssoftware (der Applikationsprozessor) und für den Modem-Stack (der Basisbandprozessor) zum Einsatz.

Mit dem Hypervisor können beide gleichzeitig ablaufen, und dieser sorgt dabei, je nach Bedarf, für eine Partitionierung oder eine gemeinsame Nutzung von Ressourcen. Wie bei Serverumgebungen zählt ein verringerter Leistungsverbrauch zu den Hauptvorteilen der Konsolidierung. Während jedoch Server bestrebt sind, die Anzahl von Serverrechnern zu verringern, befasst sich die mobile Konsolidierung mehr mit der Minimierung des Ressourceneinsatzes innerhalb des einzigen Multicore-Prozessors.

Insbesondere muss der Hypervisor die Frequenz und die Spannung skalieren können, um sie mit aktiven Lastanforderungen abzugleichen. Und wenn die kombinierte Rechenlast des Systems niedrig genug ist, muss der Hypervisor in der Lage sein, sämtliche lauffähigen Anwendungen in ihrem zeitlichen Ablauf auf eine minimale Anzahl von Cores zu verteilen und die anderen völlig abzuschalten.

Tatsächlich kann ein SMP-Gast-Betriebssystem (symmetrisches Multiprocessing) wie beispielsweise Linux sämtliche verfügbaren Cores verwenden, während dieselbe Linux-Instanz sowie jedes andere Gast-Betriebssystem und alle anderen Anwendungen einen einzigen physikalischen Core gemeinsam nutzen können, um bei schwacher Nachfrage Energie zu sparen.

Im Gegensatz zu IT-Server-Hypervisoren bieten Embedded-Hypervisoren einen entscheidenden Vorteil: Sie können native Applikationen ohne ein universelles Betriebssystem wie Linux oder Android ausführen. Der Embedded-Hypervisor baut auf einem Echtzeit-Mikrokernel auf, der eine API (Anwendungs-Programmierschnittstelle) für spezielle Softwareapplikationen zur Verfügung stellt, zum Beispiel für die Echtzeitsteuerung, für kryptografische Subsysteme sowie für praktisch jede andere Software.

Die Anwendungsumgebung eignet sich außerdem sehr gut, darauf Plattform- oder OEM-spezifische Funktionen auszuführen, die vor einer lizenzbedingten Offenlegung geschützt werden müssen (eine mögliche Begleiterscheinung mancher Open-Source-Multimedia-Betriebssysteme).

Beispielsweise kann ein Plattform-spezifischer 3D-Grafikcode in einem Mikrokernel-Treiberprozess ausgeführt werden, sicher isoliert von dem Multimedia-Betriebssystem, das nur auf eine virtualisierte Grafikkarte zugreift.

Bild 1 zeigt die hybride Virtualisierung sowie die native Umgebungsarchitektur des Embedded-Hypervisors »Integrity Secure Virtualization« (ISV) von Green Hills Software.

Auf die gleiche Weise, wie der Hypervisor mehrere Gast-Betriebssysteme partitioniert, isoliert er auch die kritischen nativen Mikrokernel-Applikationen.

Sicherheit ist Trumpf

Unsere tragbaren Geräte begleiten uns überall - es wäre doch sehr angenehm, wenn sie auch als Schlüssel für unser Auto, als Smart-Card für sichere Internet-Bankgeschäfte, als virtuelle Kreditkarte für Zahlungsvorgänge im Einzelhandel, als Fahrschein für öffentliche Transportmittel oder als Führerschein und/oder Reisepass fungieren könnten.

Weil eine sichere Betriebsumgebung fehlt, mangelt es den Endverbrauchern bisher jedoch am nötigen Vertrauen für solche Anwendungen. Ein sicherer Hypervisor schafft diese Vertrauensebene, indem er für eine sichere Partitionierung sowie streng kontrollierten Zugriff zwischen Sicherheitsanwendungen und der User-Umgebung sorgt.

Manche Hypervisoren können zudem die »TrustZone«-Technologie von ARM nutzen, die bei der Multicore-Prozessorfamilie »Cortex A« zur Verfügung steht und sich als spezielle Virtualisierungsmöglichkeit zur Hardwarebeschleunigung betrachten lässt.

Mit TrustZone (Bild 2) läuft das Multimedia-Betriebssystem (das der Anwender sieht) in der normalen Zone, wohingegen sicherheitskritische Software in der vertrauenswürdigen Trust-Zone abläuft. Trust-Zonen-Software kann zwar auf den Speicher der Normalzone zugreifen, umgekehrt ist das aber nicht möglich. Dadurch arbeitet die Normalzone als virtuelle Maschine, die unter Kontrolle des Hypervisors in der Trust-Zone läuft.

Mit diesem separaten Bereich für sicherheitskritische Informationen und Abläufe kann TrustZone die Kosten für mobile Geräte mit solchen Funktionen (beispielsweise Zahlung über NFC (Near Field Communication) oder mobiles Banking) reduzieren und den Markteintritt beschleunigen.

Mit TrustZone sowie einem zertifizierten Hypervisor zu deren Verwaltung kann die Bank (oder die Zertifizierungsstelle) die Zertifizierung auf die vertrauenswürdige Zone beschränken und so die komplizierte (wenn nicht gar undurchführbare) Zertifizierung der Multimedia-Betriebssystem-Umgebung vermeiden.

Nur mit einem höchst vertrauenswürdigen Hypervisor lassen sich kritische Informationen und Anwendungen sicher schützen, wenn sie mit universeller Software zusammengelegt werden, die Virtualisierung einsetzt. Und Vertrauen wird meist von Sicherheitszertifizierungen durch unabhängige Stellen abgeleitet.

So erhielt »Integrity« eine hoch vertrauenswürdige »Common-Criteria«-Sicherheitszertifizierung mit dem »Evaluation Assurance Level« EAL6+. Voraussetzung dafür waren Penetrationstests der US-amerikanischen NSA (National Security Agency) sowie der formale Nachweis der System-Sicherheitsrichtlinien. Durch diese Zertifizierung können branchenspezifische Institutionen wie Banken und Behörden mit kritischer Infrastruktur Zeit und die Kosten für eigene Evaluierung und Zertifizierung senken oder ganz vermeiden.

Cores statisch und dynamisch zuweisen