Version 4.5 of Xen, Citrix's former hypervisor project now overseen by the Linux Foundation, debuted today with a host of improvements aimed at widening Xen's support on ARM processors, broadening the scenarios where Xen can be used, and tamping down long-standing criticisms of Xen's performance.
The previous version of Xen widened the technology's stake in supporting ARM processors used in the data center and made it easier to port Xen to as-yet-unreleased SoC (system-on-chip) designs. With 4.5, Xen supports up to 1TB of guest RAM on ARM, has reworked interrupt handling for faster performance, and can boot into the hypervisor using UEFI firmware on ARM. Xen 4.5 also supports a host of newly released ARM SoCs, such as AMD's Opteron A1100.
The most immediate practical draw for Xen 4.5 lies in performance enhancements. Xen's PVH (paravirtualization mode), introduced in 4.4, was designed to both simplify the way Xen handles virtualization and to better leverage hardware virtualization for the sake of dom0 or the host instance that Xen uses. In Xen 4.5, dom0 can use PVH mode so that many of its operations can be passed directly to hardware -- which Xen's makers say can be done without compromising security. PCI passthrough is handled differently as well, decreasing latency when dealing with guests that talk to the host's hardware.
Still another set of changes to Xen is intended to further empower its future use in automotive and embedded systems. Lars Kurth, chairman of the Xen Project Advisory Board, noted those changes also benefit more conventional use cases. For example, RTDS, the real-time scheduler added to Xen 4.5 and originally designed for embedded use, can provide cloud vendors with better granularity of performance. "You suddenly have the capability to ration the number of CPU cycles that a VM gets, based on how much a cloud customer pays," said Kurth.
Much of the criticism levied at Xen has revolved around its performance and its internal complexity, with the former a function of the latter. Brendan Gregg of Joyent has mapped out the architectural differences between Xen and KVM, with the company electing to phase out Xen in favor of KVM where hardware virtualization was needed.
KVM's close integration with the Linux kernel has, for some, made it the better choice, but the Xen team defends Xen's decoupled design. Stefano Stabellini, a senior principal software engineer at Citrix who leads the Open Source Xen Project team, believes the tight coupling between KVM and Linux is a net disadvantage. "The Xen Project architecture is very flexible and allows us to reuse device drivers from Linux," he explained in an email. "At the same time, our architecture allows us to make hypervisor-specific improvements in other key areas independently, such as the scheduler. It is much harder to write a VM-aware real-time scheduler, like RTDS, for KVM because KVM is reusing the existing Linux scheduler."
Consequently, many of the changes in Xen 4.5, such as those in PVH, both simplify Xen and make it perform better. That said, the real proof of those efforts will have to come from those deploying Xen in the field -- the Amazons and other cloud providers who build on top of Xen and offer it to customers.