Xen and the Art of Virtualization
📜 Abstract
Numerous systems have been designed which use virtualization to subdivide the ample resources of a modern computer. Some require specialized hardware, or cannot support commodity operating systems. Some target 100% binary compatibility at the expense of performance. Others sacrifice security or functionality for speed. Few offer resource isolation or performance guarantees; most provide only best-effort provisioning, risking denial of service. This paper presents Xen, an x86 virtual machine monitor which allows multiple commodity operating systems to share conventional hardware in a safe and resource managed fashion, but without sacrificing either performance or functionality. This is achieved by providing an idealized virtual machine abstraction to which operating systems such as Linux, BSD and Windows XP, can be ported with minimal effort. Our design is targeted at hosting up to 100 virtual machine instances simultaneously on a modern server. The virtualization approach taken by Xen is extremely efficient: we allow operating systems such as Linux and Windows XP to be hosted simultaneously for a negligible performance overhead — at most a few percent compared with the unvirtualized case. We considerably outperform competing commercial and freely available solutions in a range of microbenchmarks and system-wide tests.
✨ Summary
Summary
The paper presents Xen, a type-1 x86 virtual machine monitor designed to multiplex hardware among multiple mutually distrustful guest operating systems while preserving application compatibility, resource isolation, and near-native performance. Its central design choice is paravirtualization: guest kernels are modified to use a virtual machine interface that exposes operations difficult to virtualize efficiently on x86, while guest application binaries remain unmodified. The interface includes validated page-table updates, lower-privilege guest execution, hypercalls, asynchronous events, virtual timers, shared-memory I/O rings, virtual network interfaces, and virtual block devices. A privileged management domain, later known as dom0, performs domain construction and higher-level control; Xen itself aims to keep policy separate from low-level enforcement. (cl.cam.ac.uk)
The evaluation reports that XenoLinux generally performs close to native Linux. It achieved within approximately 1% of native performance on the SPEC WEB99 workload, incurred about 3% overhead for Linux kernel compilation, and substantially outperformed VMware Workstation and User-Mode Linux on several system-level and microbenchmark workloads. Xen also demonstrated resource differentiation among domains, limited degradation under disruptive workloads, and operation across as many as 128 domains with a 7.5% aggregate-throughput reduction under an intentionally demanding scheduling experiment. The authors identify disk scheduling, page-table update costs, and the lack of SMP guest support as limitations of the prototype. (cl.cam.ac.uk)
Influence
The work helped establish paravirtualization and the domain/dom0 management model as important designs for practical server virtualization. Xen was first released publicly in 2003 and has continued as an open hypervisor project; current Xen documentation retains the hypervisor, domains, dom0, resource isolation, and guest-facing interfaces central to the paper. (handbook.xenproject.org)
The paper was subsequently used as a basis for empirical follow-up research: Xen and the Art of Repeated Research explicitly repeated and extended its performance study, framing open-source virtualization as a mechanism for transferring systems research into production environments. Ian Pratt’s Xen and the Art of Virtualization Revisited later documented Xen’s evolution from a research project toward enterprise software and examined subsequent paravirtualization and hardware/software co-design. (usenix.org)
The design also influenced industry virtualization infrastructure. AWS documentation describes early EC2 instances as using a privileged Amazon Linux virtual machine functioning as Xen’s dom0, demonstrating adoption of the paper’s control-domain model in commercial cloud infrastructure. Xen-related platforms and tools continue to support cloud and infrastructure use cases. (docs.aws.amazon.com)