Was ist parallele Virtualisierung?

Was ist parallele Virtualisierung?

Ich versuche zu verstehen, welche Arten der Virtualisierung es gibt, und als Hilfestellung für diese Aufgabe habe ich das Buch „Mobile Cloud Computing“ von Dijiang Huang und Huijun Wu gefunden.

Die unten aufgeführten Passagen sind auch auf Google Books verfügbar:https://books.google.com/books?id=dupGDgAAQBAJ.

Aus Abschnitt 2.2.3, Tabelle 2.2, Seite 42:

HAL (Voll)

  • Beschreibung:Ein Hypervisor stellt eine vollständige VM (mit der gleichen Computerarchitektur wie der Host) bereit, die es unveränderten Gästen ermöglicht, isoliert ausgeführt zu werden.
  • Vorteile:Flexibilität beim Ausführen verschiedener Versionen verschiedener Betriebssysteme von mehreren Anbietern.
  • Nachteile:Das Gastbetriebssystem weiß nicht, dass es virtualisiert wird; dies kann bei Standardhardware zu erheblichen Leistungseinbußen führen, insbesondere bei E/A-intensiven Anwendungen.

HAL (Parallel)

  • Beschreibung:Ein Hypervisor stellt jedem Gast eine vollständige, aber spezialisierte VM (mit der gleichen Computerarchitektur wie der Host) bereit, sodass geänderte Gäste isoliert ausgeführt werden können.
  • Vorteile:Leichtgewichtig und schnell, nahezu native Geschwindigkeiten; nachweislich im Bereich von 0,5–3,0 % Overhead; ermöglicht die Zusammenarbeit des Betriebssystems mit einem Hypervisor – verbessert die E/A- und Ressourcenplanung; ermöglicht die Virtualisierung von Architekturen, die keine vollständige Virtualisierung unterstützen.
  • Nachteile:Erfordert die Portierung des Gastbetriebssystems, um Hypercalls anstelle vertraulicher Anweisungen zu verwenden. Die Hauptbeschränkung der parallelen Virtualisierung besteht darin, dass das Gastbetriebssystem speziell darauf zugeschnitten sein muss, auf dem VM-Monitor (VMM) ausgeführt zu werden, dem Hostprogramm, das mehrere identische Ausführungsumgebungen unterstützt. Dies wirkt sich insbesondere auf ältere Closed-Source-Betriebssysteme aus, die noch keine parallelen virtualisierten Erweiterungen implementiert haben.

Hier erscheint die „parallele Virtualisierung“ als Synonym zu „Paravirtualisierung“. (Ich hatte den Begriff „parallele Virtualisierung“ noch nie gehört, bevor ich das Buch gelesen habe. Der Begriff „Paravirtualisierung“ hingegen ist im Internet wohlbekannt.)

Allerdings scheint das Buch in Abschnitt 2.2.2, Seite 39, der vorherigen Passage zu widersprechen:

In der dritten Virtualisierungsklassifizierung, die in Abschnitt 2.2.3 vorgestellt wird, werden wir zwei der beliebtesten HAL-basierten Virtualisierungslösungen im Detail vorstellen, nämlich parallele Virtualisierung (oder Bare-Metal- oder Typ-1-Virtualisierung) und hostbasierte Virtualisierung (oder Typ-2-Virtualisierung).

Zusammenfassend lässt sich also sagen:

  • Abschnitt 2.2.3: Parallele Virtualisierung ist dasselbe wie Paravirtualisierung.
  • Abschnitt 2.2.2: Parallele Virtualisierung ist dasselbe wie Bare-Metal-Virtualisierung (auch bekannt als Typ 1).
  • Allerdings sind Paravirtualisierung und Bare-Metal-Virtualisierung (auch als Typ-1-Virtualisierung bekannt) meines Wissens nach zwei verschiedene Dinge. Und nicht dasselbe.

Fragen:

  • Stimmt es, dass die 2. Passage der 1. widerspricht?
  • Stimmt es, dass Paravirtualisierung und Bare-Metal-Virtualisierung (auch bekannt als Typ 1-Virtualisierung) zwei verschiedene Dinge sind?
  • Stimmen Sie zu, dass die Passage auf Seite 42 korrekt ist und die Passage auf Seite 39nichtrichtig? Wie würdest du die Passage von Seite 39 erklären?

Antwort1

Stimmt es, dass Paravirtualisierung und Bare-Metal-Virtualisierung (auch bekannt als Typ 1-Virtualisierung) zwei verschiedene Dinge sind?

Gäste, die Abstraktionsebenen wegoptimieren, haben eine andere Dimension, als wenn der Hypervisor auf einem Allzweckbetriebssystem läuft.

QEMU ist ein Emulator. Durch die Hinzufügung von KVM wird der Overhead durch Hardwarebeschleunigung auf ein Minimum reduziert, was ihn effektiv zum Typ 1 macht. Darüber hinaus verfügt KVM über paravirtualisierte Gasttreiber. Dennoch laufen sowohl QEMU als auch KVM auf Allzweck-Betriebssystemen; Sie können beliebige Anwendungen auf Ihren virtuellen Hosts ausführen.

Hyper-Vführt direkten Hardwarezugriff über eine privilegierte Rootpartition unter Windows aus. Klingt nach Typ 2. Allerdings sind die Schichten zwischen Gästen und Hardware minimal, Sie können keine Benutzerprozesse außerhalb von Hyper-V-Partitionen ausführen.

Es kann hilfreich sein, ein Diagramm der Abstraktionsschichten zu zeichnen. Implementierungen lassen sich nicht so klar in binäre Kategorien einteilen, wie Typ 1 gegenüber Typ 2 vermuten lässt. Solche Kategorien berücksichtigen nicht unbedingt praktische Aspekte wie den Overhead im Vergleich zu Bare Metal oder die Sicherheit und Wartungsfreundlichkeit eines hoffentlich einfachen Hypervisors.


Der Begriff Paravirtualisierung wird erstmals in denDenali-Artikel der University of Washington. Zuletzt einXen-Papierzitiert Denali als Erfinder des Begriffs. Ich kann keinen Beweis dafür finden, dass er von „parallel“ abstammt. Möglicherweise sollte er die Bedeutungen „neben“ und „unterstützend“ des Präfixes para- ansprechen.

verwandte Informationen