Open source hypervisor Xen has reached version 4.12, bringing major improvements in resource footprint and security, and revamped x86 architecture support.
The Xen Project team has reduced the code size between 5 per cent and 22 per cent, depending on configuration, introduced a new inter-VM communications protocol, added features to protect Xen from privilege escalations in QEMU and the ability to compile PV-only or HVM/PVH-only versions of the hypervisor.
Xen was originally developed at the University of Cambridge, with its first public release in 2003. Today, the project is managed by the Linux Foundation and has more than 10 million users.
It was once the main hypervisor at AWS – before the cloud provider switched to KVM as the default option in 2017. That switch appeared to have motivated the Xen community to broaden its development efforts and branch out into areas like embedded and automotive computing. As a result, Xen 4.12 has a variety of new features designed to appeal to everyone from cloud operators to car makers to IoT enthusiasts.
“Xen Project Hypervisor 4.12 is a clear example of the project delivering on its promise for revamped architecture, a major step forward to unlock market segments such as security products as well as embedded and automotive,” said Lars Kurth, chairperson of the Xen Project Advisory Board.
The latest release separates the code paths for Xen’s classic PV and more recent HVM/PVH virtualization modes, enabling users to build a PV-only or HVM/PVH-only hypervisor. To achieve this, Xen has adopted a modular structure where users can compile large chunks of unneeded functionality out. Among other benefits, this should enable Xen-based security products with “vastly reduced” memory footprint, and, as a result, smaller attack surfaces.
The release improves de-privileged QEMU functionality, introduced with version 4.9, so security vulnerabilities originating in the popular hardware emulator are now less of a threat.
It also makes “many functional and performance improvements” to the Virtual Machine Introspection (VMI) subsystem, which enables detection of zero-day vulnerabilities.
Version 4.12 introduces Argo, a new inter-domain communication mechanism with advanced isolation properties, designed to improve security. As a bonus, it also prevents negative performance impact caused by malicious VMs and misbehaving VCPUs.
“Argo provides Xen hypervisor primitives to transmit data between VMs, by performing data copies into receive memory rings registered by domains. It does not require memory sharing between VMs and does not use grant tables or Xenstore,” Kurth explained.
The Xen Project team has also made several adjustments to the way it handles x86 architecture, a goal that it has been working towards for several years. These include the adoption of Credit2 as the default scheduler, designed “specifically for performance of latency-sensitive workloads, as well as scalability and predictability.”
Xen 4.11 is over a month late and its devs are mostly cool with that
Other x86-specific improvements include support for Grub2 (the GRand Unified Bootloader version 2), the purpose of which is to load the Linux kernel into memory, and upgrades to PVH Dom0. This virtualization tech was introduced with 4.11, elevating it from ‘experimental’ to ‘tech preview’ status – although developers warn that upgrades to the latter only work on Intel-based hardware.
Meanwhile, owners of systems based on AMD’s Epyc CPUs can look forward to improved IOMMU mapping code, designed to significantly shorten their startup times.
As for adopting Xen for cars, the project team has introduced ‘Dom0less VMs’ that can load much quicker in statically partitioned systems, decreasing boot times by more than 90 per cent, and created tiny Arm configurations that fit most of the hypervisor goodness in less than 50,000 lines of code.
“This new functionality allows building Xen variants for specific hardware such as Renesas RCar 3 and Xilinx Ultrascale+ MPSoC with a minimal set of drivers and features that are needed for mixed-criticality systems,” Kurth said.
Xen 4.12 contains 1466 commits from 364 patch series. It includes contributions from Citrix, Suse, Arm, Xilinx, BitDefender, EPAM, OpenXT Community, Oracle, Gentoo Linux, Aggios, Amazon, Invisible Things Lab and DornerWorks, along with a few universities and individuals.
You can find the full release notes here.