Getting a jump on competing hypervisors, the open source Xen is preparing for the day when ARM processors will run virtual machines.
“There is a lot of interest in ARM virtualization, both for micro servers and for the embedded space,” said George Dunlap, one of the contributors to the Xen project.
Previous versions of the Xen could run on ARM chips, but this version is the first to offer a stable ABI, the application binary interface that links Xen to the OS and underlying hardware. Having a stable ABI promises forward compatibility.
“Any guest that is designed to run on ARM in Xen 4.4 will be able to run on future Xen hypervisors,” Dunlap said.
The Xen hypervisor is one of the chief hypervisors used today for server-based virtualization, along with VMware’s ESX, Microsoft’s Hyper-V and the Red Hat-led KVM (Kernel-based Virtual Machine).
Of these rivals, only KVM has a version that runs on ARM, though Microsoft and VMware may be investigating ARM virtualization in their labs as well.
For the ARM work, the Xen Project got input from the Linaro Enterprise Group (LEG), an industry group that is working to prepare the ARM architecture for use in servers.
Users of Xen should find the ARM command line interface and tool stack to be “fairly similar” to these components for x86, Dunlap said.
Xen 4.4 can also, for the first time, be used to create 64-bit virtual machines that can on ARMv8, the next generation of ARM processors. No ARMv8 processors are commercially available, however.
More companies, such as Microsoft and Hewlett-Packard, are investigating the idea of running ARM processors in servers, as a way to handle low-intensity CPU tasks, such as serving Web pages or individual cloud services, in a more energy-efficient manner.
Hypervisors could also be handy in the embedded space, Dunlap said.
“Anytime you want to cleanly and securely separate out two components, virtualization is an obvious winner,” Dunlap said. For instance, an embedded system for a vehicle should separate the critical functions—such as displaying the speed of the vehicle—from other functions, so if one program crashes, it doesn’t take down other critical programs with it.
“If you need this isolation, then virtualization is an obvious answer,” Dunlap said.
Xen 4.4 also has some improvements for use on x86 processors. One of the most important is that this version removes a limit that only 200 Xen VMs could run on a single server.
This limitation wasn’t a major issue until recently, Dunlap explained.
“Having thousands of VMs on a single host is becoming much more common,” he said.
More organizations are using VDI (virtual desktop infrastructure) technology, in which thousands of desktops are streamed to users. Servers now can come with 128 or 256 processor cores, making them prime candidates for running thousands of VMs.
Also, the emerging class of cloud operating systems, such as MirageOS and OSv, would also benefit from the ability to run thousands of VMs on each server. These OSes are geared towards running thousands of smaller VMs that do one thing each, rather than running fewer multipurpose VMs, Dunlap said.
Another new feature is that Oracle provided a speedy new virtualization mode, available in preview form in this release. It extends Xen’s natural paravirtualization (PV), in which the VM can talk directly to the hardware, cutting out the emulation layer that can slow other hypervisors. Oracle’s version of PV, called PVH, uses the native hardware virtualization extensions on Intel x86 processors to speed system calls, page table lookups, and boot and I/O operations.
Development of Xen is managed by the Xen Project, under the management of the Linux Foundation. Amazon EC2, Rackspace Cloud and other cloud services use Xen for their operations. The Xen Project estimates that the hypervisor has been used by over 10 million users.
Amazon, AMD, Analog Devices, Broadcom, Citrix, Fujitsu, Intel, the National Security Agency, Oracle, Suse and Verizon/Terremark all submitted significant amounts of code for this release. Academic and independent developers also contributed to the project.