Xen Overview for Campus Grids Andrew Warfield University of Cambridge andrew.warfield@cl.cam.ac.uk Computer Laboratory What is hardware virtualization? Indirect the underlying hardware layer Allow multiplexing and isolation Key points: Treat OS as a component Split the administrative role in half What is Xen? Virtual machine manager (VMM) Developed at University of Cambridge An Isolation Kernel Recently included in mainline Linux Used in many production environments Virtualization in the Enterprise Consolidate under-utilized servers to reduce CapEx and OpEx Avoid downtime with VM Relocation Dynamically re-balance workload to guarantee application SLAs Enforce security policy Why Xen is interesting for Grid/E-Science Environments Encapsulation OS as management primitive, and strong isolation Accounting Collect detailed usage data on each VM Pre-emption and Checkpointing Using suspend/resume Load Balancing Using migration Storage virtualization Simple virtual block interface can be mapped to whatever you like (disk/file/etc…) Virtualization Overview Single OS image: Virtuozo, Vservers, Zones Group user processes into resource containers Hard to get strong isolation Full virtualization: VMware, VirtualPC, QEMU Run multiple unmodified guest OSes Hard to efficiently virtualize x86 Para-virtualization: UML, Xen Run multiple guest OSes ported to special arch Arch Xen/x86 is very close to normal x86 Paravirtualization Virtualization is traditionally slow relative to raw hardware (IBM VM, VMware, etc) Xen paravirtualizes Co-design with VM OS Optimize OS to run in a virtualized environment Maintain ABI – applications stay the same. Xen 3.0 Architecture AGP ACPI PCI 32/64bit VM0 Device Manager & Control s/w VM1 Unmodified User Software VM2 Unmodified User Software GuestOS GuestOS GuestOS (XenLinux) (XenLinux) (XenLinux) Back-End Back-End SMP Native Device Driver Control IF Native Device Driver Safe HW IF Front-End Device Drivers Event Channel Virtual CPU VM3 Unmodified User Software Unmodified GuestOS (WinXP)) Front-End Device Drivers Virtual MMU Xen Virtual Machine Monitor Hardware (SMP, MMU, physical memory, Ethernet, SCSI/IDE) VT-x System Performance 1.1 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 L X V U SPEC INT2000 (score) L X V U Linux build time (s) L X V U OSDB-OLTP (tup/s) L X V U SPEC WEB99 (score) Benchmark suite running on Linux (L), Xen (X), VMware Workstation (V), and UML (U) TCP results 1.1 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 L X V U Tx, MTU 1500 (Mbps) L X V U Rx, MTU 1500 (Mbps) L X V U Tx, MTU 500 (Mbps) L X V U Rx, MTU 500 (Mbps) TCP bandwidth on Linux (L), Xen (X), VMWare Workstation (V), and UML (U) Scalability 1000 800 600 400 200 0 L X 2 L X 4 L X 8 L X 16 Simultaneous SPEC WEB99 Instances on Linux (L) and Xen(X) Web Server Relocation Performance issues for GRID environments One problematic workload: Synchronous, low-latency, MPI-style communications. Domain crossings / no batching. BUT: Hardware vendors know this is a problem that needs fixing. Several vendors are in the process of building virtualization-friendly devices. Existing GRID Users Tim Freeman and Kate Keahey at Argonne National Lab in Chicago Looking at combining virtualization with GRID Environment creation, management, etc. Other Xen Supporters Operating System and Systems Management Hardware Systems Acquired by Platforms & I/O * Logos are registered trademarks of their owners Ongoing Work Parallax: Distributed VM storage Decentralized, data replication, copy-on-write Pervasive Debugging VMs are an ideal debugging environment XenSE: Security Enhanced Xen MAC-based VMM Conclusions Xen is a complete and robust GPL VMM Outstanding performance and scalability Excellent resource control and protection Live relocation makes seamless migration possible for many real-time workloads http://www.cl.cam.ac.uk/Research/SRG/netos/xen/ (Google for “Xen”)