CSE598c - Spring 2006 - Virtual Machines - Prof. Urgaonkar Page
Xen and the Art of Virtualization
- Barham et. al.
CSE 598c - Spring 2006 William Enck
1
Xen and the Art of Virtualization - Barham et. al. CSE 598c - - - PowerPoint PPT Presentation
Xen and the Art of Virtualization - Barham et. al. CSE 598c - Spring 2006 William Enck CSE598c - Spring 2006 - Virtual Machines - Prof. Urgaonkar Page 1 Xens Goals Isolation Access Control Performance Heterogeneity
CSE598c - Spring 2006 - Virtual Machines - Prof. Urgaonkar Page
1
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
2
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
3
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
4 Host Hardware VMM Guest OS App. App. Guest OS App. App. Guest OS App. App. Host Hardware Host OS VMM App. App. Guest OS App. App. Guest OS App. App.
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
5
X E N H/W (SMP x86, phy mem, enet, SCSI/IDE)
virtual network virtual blockdev virtual x86 CPU virtual phy mem
Control Plane Software
GuestOS
(XenoLinux)
GuestOS
(XenoBSD)
GuestOS
(XenoXP)
User Software User Software User Software
GuestOS
(XenoLinux)
Xeno-Aware Device Drivers Xeno-Aware Device Drivers Xeno-Aware Device Drivers Xeno-Aware Device Drivers
Domain0 control interface
Figure 1: The structure of a machine running the Xen hyper- visor, hosting a number of different guest operating systems, including Domain0 running control software in a XenoLinux environment.
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
6
X E N H/W (SMP x86, phy mem, enet, SCSI/IDE)
virtual network virtual blockdev virtual x86 CPU virtual phy mem
Control Plane Software
GuestOS
(XenoLinux)
GuestOS
(XenoBSD)
GuestOS
(XenoXP)
User Software User Software User Software
GuestOS
(XenoLinux)
Xeno-Aware Device Drivers Xeno-Aware Device Drivers Xeno-Aware Device Drivers Xeno-Aware Device Drivers
Domain0 control interface
Figure 1: The structure of a machine running the Xen hyper- visor, hosting a number of different guest operating systems, including Domain0 running control software in a XenoLinux environment.
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
7
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
8
X E N H/W (SMP x86, phy mem, enet, SCSI/IDE)
virtual network virtual blockdev virtual x86 CPU virtual phy mem
Control Plane Software
GuestOS
(XenoLinux)
GuestOS
(XenoBSD)
GuestOS
(XenoXP)
User Software User Software User Software
GuestOS
(XenoLinux)
Xeno-Aware Device Drivers Xeno-Aware Device Drivers Xeno-Aware Device Drivers Xeno-Aware Device Drivers
Domain0 control interface
Figure 1: The structure of a machine running the Xen hyper- visor, hosting a number of different guest operating systems, including Domain0 running control software in a XenoLinux environment.
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
9
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
10
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
11
X E N H/W (SMP x86, phy mem, enet, SCSI/IDE)
virtual network virtual blockdev virtual x86 CPU virtual phy mem
Control Plane Software
GuestOS
(XenoLinux)
GuestOS
(XenoBSD)
GuestOS
(XenoXP)
User Software User Software User Software
GuestOS
(XenoLinux)
Xeno-Aware Device Drivers Xeno-Aware Device Drivers Xeno-Aware Device Drivers Xeno-Aware Device Drivers
Domain0 control interface
Figure 1: The structure of a machine running the Xen hyper- visor, hosting a number of different guest operating systems, including Domain0 running control software in a XenoLinux environment.
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
12
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
13
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
14
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
15
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
16
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
17
Request Consumer Private pointer in Xen Request Pr oducer Shared pointer updated by guest OS Response Consumer Private pointer in guest OS Response Pr oducer Shared pointer updated by Xen Request queue - Descriptors queued by the VM but not yet accepted by Xen Outstanding descriptors - Descriptor slots awaiting a response from Xen Response queue - Descriptors returned by Xen in response to serviced requests Unused descriptors
Figure 2: The structure of asynchronous I/O rings, which are used for data transfer between Xen and guest OSes.
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
18
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
19
L 567 X 567 V 554 U 550
SPEC INT2000 (score)
L 263 X 271 V 334 U 535
Linux build time (s)
L 172 X 158 V 80 U 65
OSDB-IR (tup/s)
L 1714 X 1633 V 199 U 306
OSDB-OLTP (tup/s)
L 418 X 400 V 310 U 111
dbench (score)
L 518 X 514 V 150 U 172
SPEC WEB99 (score)
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1
Relative score to Linux
Figure 3: Relative performance of native Linux (L), XenoLinux (X), VMware workstation 3.2 (V) and User-Mode Linux (U).
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
20
CSE598c - Spring 2006 - Virtual Machines - William Enck Page
21