Einführung in die Hypervisor-Echtzeittechnologie

Virtualisierung

Bei der vollständigen Virtualisierung werden Betriebssysteme wie Windows® oder Linux einschließlich ihrer Treiber und Anwendungen auf einer vollständig virtuellen oder emulierten Hardware, einer so genannten virtuellen Maschine (VM), ausgeführt.

Alle Betriebssystemtreiber greifen nicht auf reale Hardware zu, sondern interagieren mit der virtualisierten Hardware, die der zugrunde liegende Hypervisor bereitstellt.

Die Gastbetriebssysteme laufen unverändert mit Original-Hardwaretreibern, die denken, sie würden auf echter Hardware laufen.

Ein Vorteil ist, dass die Gastbetriebssysteme vollständig vom Hypervisor-Host sowie von anderen Gastbetriebssystemen und auch von der Hardware isoliert sind.

Der zweite Vorteil ist, dass die Hardware von den Gästen gemeinsam genutzt werden kann. So können die Gäste beispielsweise alle eine einzige Ethernet-Verbindung zur Außenwelt nutzen.

Natürlich gibt es auch einige negative Aspekte. Der wichtigste davon ist die Leistung. Die Ausführung eines Betriebssystems auf virtueller Hardware kann deutlich langsamer sein als die Ausführung eines Gastes auf echter physischer Hardware, da bei vollständiger Virtualisierung die Hardware vom zugrunde liegenden Hypervisor emuliert werden muss.

Para-Virtualisierung

Bei der Para-Virtualisierung werden anstelle von nativen Hardwaretreibern und emulierter Hardware hypervisorbasierte Gasttreiber verwendet.

Ein Beispiel: Anstelle der Emulation von Intel- oder anderen Legacy-Ethernet-Controllern wird ein spezieller Treiber, der den zugrunde liegenden Hypervisor kennt, als Netzwerktreiber verwendet.

Mit Para-Virtualisierung kann die Leistung erheblich gesteigert werden, da die Emulation der zugrunde liegenden Hardware nicht erforderlich ist.

Pass Through

Pass-Through ist eine Technik, bei der ein bestimmter Teil der physischen Hardware ausschließlich vom Gastbetriebssystem verwendet werden darf. Das bedeutet, dass das Gastbetriebssystem (Windows® oder Linux) direkt auf einen bestimmten Teil der Hardware zugreift, zum Beispiel auf einen Ethernet-Controller.

Dies hat erhebliche Leistungsvorteile; da sich nichts zwischen dem Gasttreiber und der Hardware befindet, wird eine native Leistung erreicht.

Allerdings gibt es auch einige Einschränkungen.

Die Verfügbarkeit von Pass-Through ist von der Hardware abhängig. Ein typisches Beispiel sind Multifunktionsgeräte. Wenn Ihr PCI-Gerät über zwei oder mehr Funktionen verfügt, können diese Funktionen nicht von verschiedenen Gästen verwendet werden, normalerweise müssen alle Funktionen an einen einzigen Gast weitergegeben werden.

Außerdem kann solche Hardware nicht mehr gemeinsam genutzt werden, da sie direkt einem bestimmten Gast zugewiesen ist.

Partitionierung

Partitionierung bedeutet, dass die einzelne PC-Hardware in zwei oder mehr Hardwarepartitionen aufgeteilt wird. Jede Partition kann als ein voll funktionsfähiger kleiner PC mit CPUs, Speicher und Geräten betrachtet werden.

In diesem Beispiel sehen Sie einen PC, der in zwei Partitionen aufgeteilt ist. Die untere Partition enthält einen CPU-Kern, einen Teil des Speichers sowie ein einzelnes Hardwaregerät. Die restlichen CPU-Kerne, der Speicher und die Hardware-Geräte gehören zur oberen Partition.

Jeder Gast wird nun auf einer der Partitionen ausgeführt.

Dies ist insbesondere für Echtzeit-Gäste wichtig, denn um das Echtzeitverhalten zu erhalten, muss ein Echtzeit-Gast ausschließlich auf seiner eigenen Hardwarepartition laufen. Die Ausführung anderer Gäste würde zu unvorhersehbaren Verzögerungen führen und somit den Determinismus zerstören.

Jedes Echtzeitbetriebssystem muss einer bestimmten Hardwarepartition zugewiesen werden. Alle Nicht-Echtzeit-Gäste können auf der übrigen Hardwarepartition laufen.

Was ist ein Echtzeit-Hypervisor?

Ein Echtzeit-Hypervisor ist eine Softwareplattform, die es ermöglicht, mehrere Betriebssysteme gleichzeitig auf derselben physischen Hardware auszuführen, und zwar mit Echtzeitgarantie. So können Sie Ihre Hardwareressourcen partitionieren und mehrere Betriebssysteme und Anwendungen nebeneinander ausführen, wobei jedes Betriebssystem und jede Anwendung in einer eigenen virtuellen Maschine (VM) läuft.

Mit einem Echtzeit-Hypervisor können Sie:

  • mehrere Betriebssysteme auf derselben Hardware ausführen, einschließlich Echtzeit-Betriebssystemen (RTOS)
  • Hardwareressourcen wie CPU, Speicher und E/A-Geräte aufteilen und sie je nach Bedarf verschiedenen VMs zuweisen
  • Gleichzeitige Ausführung mehrerer Anwendungen, wobei jede Anwendung in einer eigenen -VM ausgeführt wird
  • Sicherstellung der Echtzeit-Performance kritischer Anwendungen durch Zuweisung höherer Prioritäten und Bereitstellung von mehr Ressourcen
  • Einfache Verwaltung und Überwachung der Leistung Ihrer VMs und Anwendungen
  • Schnelle und einfache Bereitstellung und Skalierung Ihrer Anwendungen über mehrere Hardwareplattformen hinweg

Ganz gleich, ob Sie in einer High-Performance-Computing-Umgebung, einer industriellen Automatisierungsumgebung oder einer unternehmenskritischen Anwendung arbeiten, ein Echtzeit-Hypervisor kann Ihnen helfen, Ihre Hardwareressourcen optimal zu nutzen und die zuverlässige und deterministische Performance Ihrer Anwendungen zu gewährleisten.

Vergleich von Typ 1 Bare-Metal und Typ 2 Hypervisor

Kriterien

Typ 1 Hypervisor / Bare-Metal-Hypervisor

Type 2 Hypervisor

Real-time Performance

Sehr gut

(wenn das Echtzeitbetriebssystem auf einer separaten Hardwarepartition läuft)

Sehr gut

(wenn das Echtzeitbetriebssystem auf einer separaten Hardwarepartition läuft)

RTOS boot time

Gut

(RTOS kann sofort gebootet werden, wenn der Hypervisor läuft)

Schlecht

(RTOS kann erst gebootet werden, wenn das Host-Betriebssystem bereit ist)

Abgrenzung, Sicherheit

Perfekt

(bei Verwendung der vollständigen Virtualisierung für Nicht-Echtzeitbetriebssysteme)

Gut

(Betriebssystem getrennt über MMU und Intel-Virtualisierungstechnologie)

Installationsaufwand und Komplexität

  • Zusätzlicher Schritt für die Installation und Konfiguration des Hypervisors erforderlich

  • Insgesamt komplexere Lösung
  • Einfache Installation
  • Weniger komplexe Technik

Unabhängige Betriebssystemaktualisierung und Neustart

 

  • Gäste können unabhängig voneinander aktualisiert und neu gebootet werden
  • Nur für RTOS-Gäste verfügbar
  • RTOS muss gestoppt werden, wenn das Hypervisor-Host-Betriebssystem aktualisiert und/oder neu gebootet werden soll

Unterstützung mehrerer OS-Instanzen

Verfügbar für alle Gäste bei vollständiger Virtualisierung

Nur für RTOS-Gäste verfügbar.