160 likes | 451 Views
Zen and the Art of Virtualization. Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge. Published by ACM SOSP’03. Presented by Tina Swenson CS533 – March 5, 2007. Brief History of Virtualization. 1960s IBM System/360 Model 67 Mainframe
E N D
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACMSOSP’03 Presented by Tina SwensonCS533 – March 5, 2007
Brief History of Virtualization • 1960s IBM System/360 Model 67 Mainframe • Term Hypervisor born out of Supervisor. • Full Virtualization (Disco) • Unmodified OS/application code • Performance hit because hypervisor mediation.x86 architecture problems. • Paravirtualization (Xen) • OS cooperates with hypervisor. • OS code must be modified for this cooperation.
About Xen • A high-performance, resource-managed x86 virtual machine monitor (VMM). • 100 guest OS instances running industry standard apps and services. • The hypervisor (VMM) sitting just above the hardware at a higher privilege mode than the OSes.
Virtual Machine Interface • Memory Management • Guest OSes are responsible for the hardware page tables. • Xen exists in the top section of every address space. • Avoids a TLB flush when entering and leaving the hypervisor. • Disco maintains shadow page tables to handle TLB misses and remain invisible.
Virtual Machine Interface • CPU • The OS is no longer at the most privileged level of the system. • Hypervisor in Ring 0. OS in Ring 1. App code in Ring 3. • Privileged instructions must be validated and executed within Xen. • Disco vs Xen • x86 exceptions map to Xen exception handling tables.
Virtual Machine Interface • Device IO • Device abstractions provided. • IO data moves between domains via shared memory and asynchronous buffer-descriptor rings.
Control Transfer • Hypercall • Synchronous trap by domain into hypervisor to perform a privileged op. • Events • Asynchronous events, replaces device interrupts.
IO Data Transfer • Circular queue of descriptors • Allocated by a domain, accessible by Xen. • Producer-Consumer
Subsystem Virtualization • CPU Scheduling • Domains scheduled via Borrowed Virtual Time. • Virtual Address Translation • Xen registers guest OS page tables with the MMU and allows the Guest OS read-only access. Xen performs page table updates. • No shadow page tables, as with Disco. • Physical Memory • Statically partitioned between domains. • Mapping physical to hardware addresses is up to Guest OS. • Balloon driver – Pages passed between Xen and XenoLinux. • Other • Time and Timers • Network • Disk
Performance • Linux L VMware Workstation VXenoLinux X User-Mode Linux U
Performance • Linux L VMware Workstation VXenoLinux X User-Mode Linux U
Performance • Linux L VMware Workstation VXenoLinux X User-Mode Linux U
Concurrent VM • Linux vs XenoLinux
More Evaluation • Performance Isolation • 4 VMs. 2 normal, 2 nasty • Scalability • Can Xen run 100 domains?
Xen Today • Active Project • University of Cambridge • SourceForge • In Industry • IBM, HP, Intel, Red Hat, AMD and Novell • XenSource