Download presentation
Presentation is loading. Please wait.
Published byClaude Boone Modified over 9 years ago
1
Xen and the Art of Virtualization Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield By Tyrel Russell October 25, 2006
2
Overview A virtual machine monitor Paravirtualization Design Evaluation Discussion
3
Motivating Goals Virtual machine monitor –allows isolation of processes and virtual machines –supports a variety of guest operating systems –performance overhead is minimal
4
Paravirtualization Provides an abstract machine similar to the underlying machine Avoids difficulties of virtualizing all parts of the architecture Specifically, avoids parts of the x86 architecture that weren’t designed for virtualization Requires modification of guest OSes
5
Xen Design Principles Support unmodified application binaries Support full multi-application operating systems Paravirtualization is necessary for performance Hiding the effects of resource virtualization
6
The Virtual Machine Interface Memory Management –Guest OSes manage and allocate hardware page tables –Avoids TLB flushes by maintaining Xen in every address spaces CPU –Guest OSes must run at a lower privilege level Device I/O –Uses a shared buffer to increase performance
7
Cost of Porting OS to Xen Modify code accessing page tables Virtual network driver Virtual block driver Rewriting routines using privileged instructions Changing low-level system initialization code Changing boot-loading mechanism
8
The Control Interface Hypervisor controls basic operations Control of the system is performed by the Control Plane Software Separate Guest OS called the Domain0
9
Hypercalls and Events Hypercalls perform a synchronous software trap –Needed to perform privileged operations –Updating page tables Communication from a guest OS and Xen is performed by an event system –Including device interrupts and termination requests
10
I/O Rings A ring of I/O descriptors Buffer memory is provided by the guest OS Requests and responses can be batched
11
Subsystem Virtualization CPU Scheduling Time and timers Virtual Address Translation Physical Memory Network Disk
12
CPU Scheduling and Timers Uses the Borrowed Virtual Time scheduling algorithm –Work conserving –Low-latency wakeup Guest OSes can see both real and virtual time –Xen provides a timer through the event mechanism to deal with guest OS timers
13
Virtual Address Translation Page Tables cannot be directly written –Writes must be validated Page tables are associated with: – a type – a reference count To minimize calls, the requests can be batched
14
Physical Memory Memory is reserved for a guest OS statically Xen can pass more pages if necessary through a balloon driver Guest OSes create an illusion of contiguous physical memory using a shared translation array
15
Network Virtual Firewall Router –One or more network interfaces Network interface is two I/O rings of descriptors –Transmission –Receive The descriptors have a set of rules to perform operations like firewall functions
16
Disk Domain0 has unchecked access Others access through virtual block drivers A VBD is a list ownership and access control information Accessed using the I/O ring mechanism A translation table is maintained by Domain0 in the hypervisor
17
Building a New Domain Domain0 creates new domains Allocates a new address space Informs Xen of initial register state Builds boot-time address space to match guest OS
18
Evaluation Compared: –Linux –XenoLinux (Xen) –VMware workstation 3.2 –User-Mode Linux
19
Tests Relative Performance Tests Operating System Benchmarks Concurrent Virtual Machines Performance Isolation Scalability
20
Discussion Is the memory load of guest operating systems acceptable to reach their scalability goal? Especially with Windows? How much modification of guest operating systems is too much? That is, is several thousand lines of code per operating system actually minimal effort? What information is transparent to a guest OS in Xen? In other words, how much information can be obtained through Xen about other guests? They assume top 64MB of address will not be used by applications. Is this reasonable? Trade-off between paravirtualization and full virtualization
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.