Das Xen-Projekt hat seinen Hypervisor auf Version 4.10 angehoben, und trotz einer recht kurzen Entwicklungsphase einige neue Features eingebaut.
So unterstützt der Xen Hypervisor laut der offiziellen Ankündigung nun den Credit-2-Scheduler. Damit lässt sich in Cloud- und Serverumgebungen eine Präferenz setzen, um eine VM auf einer spezifischen CPU zu betreiben. Der Scheduler berücksichtigt neuerdings Numa, zudem dürfen Nutzer eine maximale Zahl an CPUs setzen, die eine VM nutzen soll.
Für den Null-Scheduler, der so gut wie keinen Overhead erzeugen soll, gibt es Updates. Er arbeitet mit deutlich weniger Latenz, liefert eine besser vorhersagbare Performance und führt Tracing (zur Workload-Optimierung) sowie Soft Affinity ein. Letzteres dient dazu, Präferenzen für das Platzieren virtueller CPUs auf einem Prozessor zu setzen.
VMI, die Virtual Machine Introspection, arbeitet nun ebenfalls zügiger, zugleich erhält die Software für ARM einen Pagetable-Walker und haben die Entwickler eines Basis für “alt2pm” gelegt. Mit Linux 4.14 kommt zudem Support für ein Application Binary Interface (ABI) für Paravirtualisierungs-Systemaufrufe (PV Calls). Damit kann Xen POSIX-Anfragen an alle Gäste weitergeben. Zudem lässt sich ein Netzerkmodell einsetzen, dass besser mit Cloud-Native-Apps funktioniert.
Änderungen am User Interface erlauben es, Bootparameter zu übergeben, ohne Xen neu starten zu müssen. Gasttypen lassen sich über die “type”-Option in der Konfigurationsdatei auswählen, wobei Xen-User zwischen PV-, PVH- und HVM-Gästen wählen. Weil die “type”-Option kommt, haben die Entwickler die “builder”-Option in Rente geschickt. Zudem ersetzt eine handvoll PVH-spezifische Optionen die “PVH”-Option.
ARM, reich beschenkt
Im ARM-Bereich unterstützt Xen nun SoCs, die auf der 64-Bit Armv8-A-Architektur von Qualcomm Centriq 2400 und Cavium Thunder X basieren. Die SBSA-UART-Emulation macht den Hypervisor für Kommandozeilen-Werkzeuge zugänglich. Das Gäste-Betriebssystem erreicht die Konsole so auch ohne PV-Konsolentreiber.
Daneben unterstützt Xen Hypervisor 4.10 ARMs Interrupt Translation Service (ITS) und kann so Gebrauch von der GICv3-Architektur machen. Das verbessert die Effizienz im Umgang mit Interrupts, macht Xen attraktiver für On-Chip-Einsätze auf Servern oder im Embedded-Raum und ist essenziell, um Systeme mit großen Mengen an Interrupts zu virtualisieren. Dank Interrupt Remapping lässt sich zudem sicheres PCI-Passthrough auf ARM-Basis umsetzen. Nicht zuletzt gibt es nun Grub-2-Support für Armv8-A.
Die x86-Optimierungen
Dank eines Architektur-Umbaus unterstützt Xen 4.10 jetzt PVHv2 Dom-U. Das sorgt für eine kleinere Angriffsfläche und saubereren Code auf der x86-Plattform, verglichen mit Paravirtualisierungs- und HVM-Gästen. Zugleich haben die Entwickler die Entfaltungsmöglichkeiten für Qemu beschnitten, um Sicherheitslücken vorzubeugen. Der Support für Intels L2 Cache Allocation Technology (Cat) auf bestimmten (Micro)-Serverplattformen erlaubt es, L2-Cache für verschiedene virtuelle Maschinen zu partitionieren und zu teilen.
Xen 4.10 führt Local Machine-Check Exceptions (LMCE) auf Intel CPUs für HVM-Gäste ein, was Machine-check Exceptions effizienter vom Hypervisor an die Gäste übermittelt. Die User Mode Instruction Prevention (UMIP) ist ein Security-Feature für neue Intel-Prozessoren. Es verhindert das Ausführen bestimmter Instruktionen, wenn der Current Privilege Level (CPL) größer als 0 ist. Last but not least ergänzt das Projekt Maschinen-lesbare “md”-Dateien für die Dokumentation.
Den Quellcode für die Hypervisor-Version 4.10 gibt es via Git, Tarballs warten auf der Webseite.






