zen and the art of virtualization paul barham, et al. university of cambridge, microsoft research...
TRANSCRIPT
Zen and the Art of VirtualizationPaul Barham, et al.
University of Cambridge, Microsoft Research Cambridge
Published by ACMSOSP’03
Presented by Tina Swenson CS533 – 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 V XenoLinux X User-Mode Linux U
Performance
Linux L VMware Workstation V XenoLinux X User-Mode Linux U
Performance
Linux L VMware Workstation V XenoLinux 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