cherezoff - stock.adobe.com

Hinweise zur Implementierung eines Embedded Hypervisors

Storage, Hauptspeicher, Systemleistung und Scheduling sind zu berücksichtigende Aspekte der Implementierung eines Embedded Hypervisors, um Latenzprobleme zu vermeiden.

Embedded-Systeme setzen den für sie verfügbaren Ressourcen und ihrer Leistung erhebliche Grenzen. Durch das Hinzufügen einer Softwareschicht, etwa eines Hypervisors, entsteht eine zusätzliche Belastung des Systems. Es ist daher wichtig, darauf zu achten, dass ein Embedded Hypervisor eine kleine Codebasis, eine hohe Bandbreite und eine geringe Latenz aufweist.

Für die erfolgreiche Implementierung eines Embedded Hypervisors spielen mehrere Überlegungen eine Rolle, darunter zum Beispiel Storage, Leistung und Scheduling. Andernfalls drohen Prozessor-Latenzzeiten und Ressourcenkonflikte.

Ausreichendend Storage und Hauptspeicher

Embedded-Systeme sind in aller Regel begrenzt in den Bereichen Storage und Hauptspeicher. Die Hypervisor-Codebasis muss daher relativ klein, hocheffizient und extrem zuverlässig sein. Der kleinstmögliche Footprint reduziert die für den Betrieb des Hypervisors benötigten Ressourcen.

Indem überflüssige Funktionen eliminiert werden und aufgeblähter Code reduziert wird, kann der minimierte Hypervisor Footprint schneller ausgeführt werden. Er weist dadurch zudem weniger Angriffsfläche auf. Wer auf einen minimierten Hypervisor-Code verzichtet, muss mit unerwünschten Neustarts rechnen, die je nach Embedded-System noch dazu eventuell gar nicht möglich sind. In den meisten Fällen unterstützt der Embedded Hypervisor die Typ-1-Virtualisierung, wie man sie auch von physischer Hardware kennt. Sie ist in der Lage, mehrere virtuelle Maschinen (VM) zu verwalten.

Systemlatenz vermeiden

Der zweite entscheidende Faktor für die Implementierung eines Embedded Hypervisors ist die Leistungsfähigkeit. Embedded-Systeme werden oft in Umgebungen und auf Computern eingesetzt, deren Anforderungen an Leistung zur Lösung realer Probleme erheblich sein können, wie zum Beispiel das Extrahieren hochdimensionaler Daten. Theoretisch kann das Hinzufügen eines Embedded Hypervisors die Latenzzeit erhöhen und die Leistung des Systems reduzieren. Der Embedded-Hypervisor muss dann eine minimale Latenzzeit gewährleisten können.

Zusätzlich belastet wird die Systemleistung durch den Kommunikationsbedarf der Embedded-Systemkomponenten. Der Embedded Hypervisor muss Kommunikation mit hoher Bandbreite und niedriger Latenzzeit zwischen der Hardware und/oder den Komponenten des Systems gewährleisten, wie zum Beispiel zwischen dem Prozessor und dem Emulator. Zudem muss er konfigurierbare Sicherheitsmerkmale bieten, die die Kommunikation zwischen diesen Komponenten kapseln und verschlüsseln. Wegen der Echtzeitanforderungen an das Embedded-System und der engen Wechselwirkung der Hardware-Komponenten ist dies durchaus kritisch zu werten.

Scheduling als Prozessorunterstützung

Die in aller Regel letzte Überlegung vor der Implementierung eines Embedded Hypervisors betrifft das sorgfältige Scheduling. Ein Prozessor in einem Embedded-System kann nur eine Aufgabe auf einmal abarbeiten. Fordern mehrere Systemkomponenten einen Dienst vom Prozessor an, zum Beispiel ein Hypervisor und VMs, so kommt es zur Konkurrenzsituation. Der Prozessor muss dann seine Zeit auf die verschiedenen anfragenden Prozesse aufteilen.

Der Vorgang, mit dem ein Prozessor, seine I/O und der Rest des Systems solche Zeitzuteilungen verwalten, wird als Scheduling bezeichnet. Der Embedded Hypervisor muss einen granularen und zuverlässigen Scheduler aufweisen, um auch Echtzeit-Hochleistungssysteme unterstützen zu können.

Weitergehende Überlegungen zur Implementierung eines Hypervisors umfassen Lizenzkosten, Feature-Roadmaps und Update-Frequenz. Updates beeinflussen die Zuverlässigkeit eines Embedded-Systems, weil jede Aktualisierung in die Codebasis des Systems (in der Regel Firmware) übersetzen werden muss. Dafür wird ein dezidierter Update-Prozess benötigt.

Die Aktualisierung des Firmware-Chips erfolgt genau so, wie man die BIOS-Firmware eines Computers aktualisieren würde. Jede neue Aktualisierung ist aber natürlich ausgiebig zu testen und zu validieren, bevor ein Upgrade nach erfolgreichem Testen auch tatsächlich angewandt werden kann.

Nächste Schritte

Fünf Embedded-Hypervisoren im Überblick

Welchen Nutzen hat ein Embedded Hypervisor

Gratis-eBook: Grundlagen zur Paravirtualisierung

Erfahren Sie mehr über Server- und Desktop-Virtualisierung