Xen

For other uses, see Xen (disambiguation).
Xen is an open-source virtual machine monitor, or Hypervisor, developed by the University of Cambridge. It has a design goal of being able to run 100 full-featured OS instances on a single typical computer. Xen provides secure isolation, resource control, quality-of-service guarantees, and live migration of virtual machines. Operating systems must be explicitly modified ("ported") to run on Xen (although compatibility is maintained for user applications). This enables Xen to achieve high-performance virtualization without special hardware support.

Use

Virtual machines are often used by IBM and others on their mainframes and servers to extract the most work possible, and to secure the programs by putting them in separate virtual operating systems, like a chroot jail but more so. It can also be used, not just for security or performance reasons, but to run different and incompatible operating systems on the same computer. Xen's support for virtual machine live migration allows workload balancing and the avoidance of downtime.

Comparison with other VMMs

  • Denali uses paravirtualisation to provide high-performance virtual machines on x86 computers. Denali's virtual machines support specialised minimal OSs for Internet services. The system can scale to thousands of virtual machines. Unlike Xen, Denali does not preserve the application binary interface (ABI), and so applications must be recompiled to run within a library operating system; in this sense it is similar to the Exokernel. Xen's motivation differs from that of Denali in that it is intended to run a moderate number of full-featured operating systems, rather than a large number of specialised lightweight ones.
  • VMware provides virtual machines for x86 that can run unmodified PC operating systems. The technology involved in doing this is extremely complex and also incurs (sometimes significant) performance overheads. Xen trades full OS binary compatibility for comparative simplicity and improved performance.
  • Virtuozzo replaces the hardware abstraction layer with a modified version enabling it to run with better performance of the OS, but forces all the VMs on a hardware box to all run the same OS. Currently they have a version for Windows 2003 and for Fedora Core Linux.

Paravirtualization with Xen

Xen uses a technique called Paravirtualization to achieve high performance (i.e., low performance penalties, typically around 2%, with worst-case scenarios at 8% performance penalty; this is in stark contrast to perfect emulation solutions which typically entail performance penalties of about 20%). Through paravirtualization, it can achieve high performance even on its host architecture (x86) which is notoriously uncooperative with traditional virtualization techniques. Unlike traditional virtual machine monitors, which provide a software-based execution environment exactly like the simulated hardware, Xen requires the Porting of guest operating systems to the Xen API. Thus far, this porting has happened for NetBSD, Linux, FreeBSD and Plan 9. At Brainshare 2005, Novell showed a port of NetWare to Xen. A Windows XP port was carried out during the initial development of Xen, but Microsoft's licensing prevents its public release.

Full virtualization with Xen

Intel has contributed modifications to Xen to support their Vanderpool architecture extensions. This technology will enable unmodified guest operating systems to run within Xen virtual machines, if the host system supports the Vanderpool or the Pacifica extensions (Intel's, and AMD's, respectively, extensions to natively support virtualization). Practically, this will mean that there will be a performance boost, and that it will be possible to virtualise Windows without having to modify it in any way, which licensing restrictions prevent.

Virtual machine migration

Xen virtual machines can be "live migrated" between physical hosts without stopping them. During this procedure, the memory of the virtual machine is iteratively copied to the destination without stopping its execution. A very brief stoppage of around 60-300 ms is required to perform final synchronisation before the virtual machine begins executing at its final destination, providing an illusion of seamless migration. Similar technology is used to suspend running virtual machines to disk and switch to another virtual machine, and resume the first virtual machine at a later date.

Platform support

Xen currently runs on X86-based systems. Ports are currently underway to x86 64, IA64 and PPC. Ports for other platforms are also technically possible and may be available in the future.

Xen in Unix-like systems

Novell's SUSE Linux Professional 9.3, released April 15, 2005, includes Xen version 2.0.5c. The newly released SUSE Linux Professional 10 ships with Xen 3 intergrated with YAST Control centre. Red Hat has also announced that their Linux distribution, Fedora Core 4, currently ships with Xen included. Xenophilia is a Linux distribution that is based around Xen. The Xen demo CD is a live ISO CD running Debian Linux that enables you to try Xen on your system without installing it to the hard disk. Debian also includes Xen packages, in unstable and experimental.

NetBSD 2.0 includes support for Xen 1.2, NetBSD 3.0 release includes support for Xen 2.0.

Commercial Services

There are companies, such as
  • and
that provide Xen-based Virtual Private Servers.

See also


Rugao   Index

This page is based on the Wikipedia article ''Xen''. It is licensed under the GNU free documentation license.


Home