Siemens veröffentlicht Hypervisor Jailhouse 0.11

Siemens опубликовала kostenlose Hypervisor-Version Gefängnis 0.11. Der Hypervisor unterstützt x86_64-Systeme mit VMX+EPT- oder SVM+NPT-Erweiterungen (AMD-V) sowie ARMv7- und ARMv8/ARM64-Prozessoren mit Virtualisierungserweiterungen. Separat entwickelt sich Bildgenerator für den Jailhouse-Hypervisor basierend auf Debian-Paketen für unterstützte Geräte. Projektnummer vertrieben von lizenziert unter GPLv2.

Der Hypervisor ist als Modul für den Linux-Kernel implementiert und sorgt für Virtualisierung auf Kernel-Ebene. Komponenten für Gastsysteme sind bereits im Haupt-Linux-Kernel enthalten. Das Isolationsmanagement nutzt Hardware-Virtualisierungsmechanismen, die von modernen CPUs bereitgestellt werden. Die Markenzeichen von Jailhouse sind seine leichte Implementierung und der Fokus auf die Bindung virtueller Maschinen an eine feste CPU, einen RAM-Bereich und Hardwaregeräte. Dieser Ansatz ermöglicht es einem physischen Multiprozessorserver, den Betrieb mehrerer unabhängiger virtueller Umgebungen sicherzustellen, von denen jede einem eigenen Prozessorkern zugeordnet ist.

Durch eine harte Bindung an die CPU wird der Overhead des Hypervisors minimiert und seine Implementierung erheblich vereinfacht, da kein komplexer Ressourcenzuweisungsplaner ausgeführt werden muss – die Zuweisung eines separaten CPU-Kerns stellt sicher, dass keine anderen Aufgaben ausgeführt werden diese CPU. Der Vorteil dieses Ansatzes ist die Möglichkeit, einen garantierten Zugriff auf Ressourcen und eine vorhersehbare Leistung bereitzustellen, was Jailhouse zu einer geeigneten Lösung für die Erstellung von Echtzeitaufgaben macht. Der Nachteil ist die eingeschränkte Skalierbarkeit, die durch die Anzahl der CPU-Kerne begrenzt ist.

In der Gefängnisterminologie werden virtuelle Umgebungen als „Kameras“ (im Kontext von Gefängniszellen Zellen) bezeichnet. Im Inneren der Kammer sieht das System wie ein Single-Socket-Server aus und zeigt Leistung schließen zur Leistung eines dedizierten CPU-Kerns. Auf der Kamera kann eine beliebige Betriebssystemumgebung sowie verkürzte Umgebungen zum Ausführen einer Anwendung oder speziell vorbereitete Einzelanwendungen zur Lösung von Echtzeitaufgaben ausgeführt werden. Die Konfiguration ist eingestellt .cell-Dateien, die die der Umgebung zugewiesene CPU, Speicherbereiche und E/A-Ports bestimmen.

Siemens veröffentlicht Hypervisor Jailhouse 0.11

In der neuen Ausgabe

  • Unterstützung für Marvell MACCHIATObin, Xilinx Ultra96, hinzugefügt
    Microsys miriac SBC-LS1046A und Texas Instruments AM654 IDK;

  • Statistiken für jeden CPU-Kern hinzugefügt;
  • Aktiviert das Zurücksetzen von PCI-Geräten, wenn die Kamera heruntergefahren wird;
  • Die Gerätebaumstruktur wurde für die neuesten Linux-Kernel-Versionen angepasst;
  • Zusätzlicher Schutz gegen Spectre v64-Angriffe für ARM- und ARM2-Plattformen. Die qemu-arm64-Einstellungen berücksichtigen Änderungen aus den neuesten QEMU-Versionen. Probleme beim Umschreiben der PSCI-Firmware auf Orange Pi Zero-Boards wurden behoben;
  • Für die x86-Plattform ist beim Ausführen von Demoumgebungen (Insassen) die Verwendung von SSE- und AVX-Anweisungen aktiviert und die Ausnahmeberichterstattung hinzugefügt.

Zu den Plänen für die Zukunft gehört die lang erwartete Unterstützung von IOMMUv3, die die Effizienz der Nutzung des Prozessorcaches erhöht (Cache-Färbung), Beseitigung von Problemen mit APIC auf AMD Ryzen-Prozessoren, Überarbeitung des ivshmem-Geräts und Heraufstufung von Treibern in den Hauptkernel.

Source: opennet.ru

Kommentar hinzufügen