Xen Project 4 4 Features and Futures Rev6 0

Xen Project 4.4:
Features and Futures

Russell Pavlicek
Xen Project Evangelist
Citrix Systems

About This Release
• Xen Project 4.4.0 was released on March 10, 2014.
• This release is the work of 8 months of development,
with 1193 changesets.
• Xen Project 4.4 is our first release made with an
attempt at a 6-month development cycle.
– Between Christmas, and a few important blockers, we missed
that by about 6 weeks; but still not too bad overall.

Xen Project 101: Basics

Hypervisor Architectures
Type 1: Bare metal Hypervisor
A pure Hypervisor that runs directly on the

hardware and hosts Guest OS’s.

VMn
VM1
VM0
Guest OS
and Apps

Hypervisor
Device Drivers/Models

Host HW

I/O

Memory

Scheduler
MMU


CPUs

Provides partition isolation +
reliability,
higher security

Hypervisor Architectures
Type 1: Bare metal Hypervisor

Type 2: OS ‘Hosted’

A pure Hypervisor that runs directly on the
hardware and hosts Guest OS’s.

A Hypervisor that runs within a Host OS and
hosts Guest OS’s inside of it, using the host
OS services to provide the virtual environment.

VMn
VM1

VM0

User-level VMM
User
Apps

Device Models

Guest OS
and Apps

Device Drivers/Models

Host HW

I/O

Memory

Scheduler

MMU

CPUs

Provides partition isolation +
reliability,
higher security

Device Drivers

Host HW

VM1
VM0
Guest OS
and Apps

Host OS
Hypervisor


VMn

I/O

Ring-0 VM Monitor
“Kernel “

Memory

CPUs

Low cost, no additional drivers
Ease of use & installation

Xen Project: Type 1 with a Twist
Type 1: Bare metal Hypervisor

VMn
VM1
VM0

Guest OS
and Apps

Hypervisor
Device Drivers/Models

Host HW

I/O

Memory

Scheduler
MMU

CPUs

Xen Project: Type 1 with a Twist
Type 1: Bare metal Hypervisor


Xen Architecture

VMn
VM1

VMn

VM0

VM1
VM0

Guest OS
and Apps

Hypervisor
Device Drivers/Models

Host HW


I/O

Memory

Guest OS
and Apps

Scheduler
MMU

Hypervisor

CPUs

I/O

Host HW

Memory


Scheduler

CPUs

MMU

Xen Project: Type 1 with a Twist
Type 1: Bare metal Hypervisor

Xen Architecture
Control domain
(dom0)

VMn
VM1

VMn

Device Models


VM0

VM1

Guest OS
and Apps

Hypervisor
Device Drivers/Models

Host HW

I/O

Memory

Scheduler

VM0


Drivers

Guest OS
and Apps

Linux & BSD

MMU

Hypervisor

CPUs

I/O

Host HW

Memory

Scheduler

CPUs

MMU

Basic Xen Project Concepts

Console


Interface to the outside world



Control Domain aka Dom0



Dom0 kernel with drivers
Xen Management Toolstack



VMn
Control domain
(dom0)

VM1
VM0
Guest OS
and Apps

Dom0 Kernel
Scheduler
MMU
Hypervisor

Host HW

I/O

Memory

XSM

CPUs

Trusted Computing Base
9

Guest Domains


Your apps



Driver/Stub/Service Domain(s)




A “driver, device model or control
service in a box”
De-privileged and isolated
Lifetime: start, stop, kill

Basic Xen Project Concepts: Toolstack+

Console

Console



Interface to the outside world



Control Domain aka Dom0



Dom0 kernel with drivers
Xen Management Toolstack



VMn
Control domain
(dom0)

VM1
VM0

Toolstack

Guest OS
and Apps

Dom0 Kernel
Scheduler
MMU
Hypervisor

Host HW

I/O

Memory

XSM

CPUs

Trusted Computing Base
10

Guest Domains


Your apps



Driver/Stub/Service Domain(s)




A “driver, device model or control
service in a box”
De-privileged and isolated
Lifetime: start, stop, kill

Basic Xen Project Concepts: Disaggregation

Console

Console



Interface to the outside world



Control Domain aka Dom0



Dom0 kernel with drivers
Xen Management Toolstack



VMn
Control domain
(dom0)

VM1
One or more
driver, stub or
service domains

Toolstack
Dom0 Kernel

Scheduler
MMU
Hypervisor

Host HW

I/O

Memory

VM0
Guest OS
and Apps

XSM

CPUs

Trusted Computing Base
11

Guest Domains


Your apps



Driver/Stub/Service Domain(s)




A “driver, device model or control
service in a box”
De-privileged and isolated
Lifetime: start, stop, kill

Xen Project 4.4 Features

Improved Event Channel Scalability

• Event channels are paravirtualized
interrupts
• Previously limited to either 1024 or 4096
channels per domain




Domain 0 needs several event channels for
each guest VM (for network/disk backends,
qemu etc.)
Practical limit of total number of VMs to
around 300-500 (depending on VM
configuration)

Improved Event Channel Scalability (2)

• New FIFO-based event channel ABI allows
for over 100,000 event channels






Improve fairness
Allows for multiple priorities
The increased limit allows for more VMs,
which benefits large systems and cloud
operating systems such as MirageOS,
ErlangOnXen, OSv, HalVM
Also useful for VDI applications

Experimental PVH Guest Support
• PVH mode combines the best elements of
HVM and PV


PVH takes advantage of many of the
hardware virtualization features that exist
in contemporary hardware

• Potential for significantly increased
efficiency and performance
• Reduced implementation footprint in
Linux,FreeBSD
• Enable with "pvh=1" in your config

Xen Project Virtualization Vocabulary

• PV – Paravirtualization
– Hypervisor provides API used by the OS of the Guest
VM
– Guest OS needs to be modified to provide the API

• HVM – Hardware-assisted Virtual Machine
– Uses CPU VM extensions to handle Guest requests
– No modifications to Guest OS
– But CPU must provide the VM extensions

• FV – Full Virtualization (Another name for HVM)

Xen Project Virtualization Vocabulary

• PVHVM – PV on HVM drivers
– Allows H/W virtualized guests to use PV disk
and I/O drivers
– No modifications to guest OS
– Better performance than straight HVM

• PVH – PV in HVM Container (New in 4.4)
– Almost fully PV
– Uses HW extensions to eliminate PV MMU
– Possibly best mode for CPUs with virtual H/W
extensions

VS
Virtualized (HW)

Virtualized (SW)

The Virtualization Spectrum

VH
Paravirtualized

PV mode/domain

HVM mode/domain

bo th
Pr
ivi
ot erb
an leg
oa
d ed
rd
pa I n
,
ge st
ta ruc
bl tio
es n
s

Ne
tw
rru
or
k
pt
s,
Em
Tim
u
Le late
er
ga d
s
cy M
o
In
te

P

4.4

d

an
sk
Di

In
te

an
Di

sk

Poor performance

d

Scope for improvement

Ne
tw
rru
or
k
pt
s,
Em
Tim
u
Le late
er
ga d
s
cy M
o

Optimal performance

bo th
Pr
ivi
ot erb
an leg
oa
d ed
rd
pa I n
,
ge st
ta ruc
bl tio
es n
s

The Virtualization Spectrum

HVM mode/domain
4.4
PV mode/domain

Improved Disk Driver Domains

• Linux driver domains used to rely on udev
events in order to launch backends for
guests








Dependency on udev is replaced with a custom
daemon built on top of libxl
Now feature complete and consistent between Linux
and non-Linux guests
Provides greater flexibility in order to run user-space
backends inside of driver domains
Example of capability: driver domains can now use
Qdisk backends, which was not possible with udev

Improved Support for SPICE
• SPICE is a protocol for virtual desktops
which allows a much richer connection
than display-only protocols like VNC
• Added support for additional SPICE
functionality, including:




Vdagent
clipboard sharing
USB redirection

GRUB 2 Support of Xen Project PV Images

• In the past, Xen Project software required
a custom implementation of GRUB called
pvgrub
• The upstream GRUB 2 project now has a
build target which will construct a
bootable PV Xen Project image



This ensures 100% GRUB 2 compatibility
for pvgrub going forward
Delivered in upcoming GRUB 2 release
(v2.02?)

Indirect Descriptors for Block PV Protocol

• Modern storage devices work much better
with larger chunks of data
• Indirect descriptors have allowed the size
of each individual request to triple,
greatly improving I/O performance when
running on fast storage technologies like
SSD and RAID
• This support is available in any guest
running Linux 3.11 or higher (regardless
of Xen Project version)

Improved kexec Support
• kexec allows a running Xen Project host to be
replaced with another OS without rebooting


Primarily used execute a crash environment to
collect information on a Xen Project hypervisor or
dom0 crash

• The existing functionality has been extended
to:





Allow tools to load images without requiring dom0
kernel support (which does not exist in upstream
kernels)
Improve reliability when used from a 32-bit dom0
kexec-tools 2.0.5 or later is required

Improved XAPI and Mirage OS support

• XAPI and Mirage OS are sub-projects within the
Xen Project written in OCaml
• Both are also used in XenServer
(http://XenServer.org) and rely on the Xen
Project OCaml language bindings to operate
well
• These language bindings have had a major
overhaul


Produces much better compatibility between XAPI,
Mirage OS and Linux distributions going forward

Tech Preview of Nested Virtualization
• Nested virtualization provides virtualized hardware
virtualization extensions to HVM guests







Can now run Xen Project, KVM, VMWare or HyperV
inside of a guest for debugging or deployment
testing (only 64 bit hypervisors currently)
Also allows Windows 7 "XP Compatibility mode"
Tech Preview not yet ready for production use, but
has made significant gains in functionality and
reliability
Enable with "hap=1" and "nestedhvm=1"

• More information on nested virtualization:
http://wiki.xenproject.org/wiki/Xen_nested

Experimental Support for Guest EFI boot

• EFI is the new booting standard that is
replacing BIOS



Some operating systems only boot with EFI
Some features, like SecureBoot, only work
with EFI

Improved Integration With GlusterFS
• You can find a blog post to set up an iSCSI
target on the Gluster blog:


 
http://www.gluster.org/2013/11/a-gluster-bl
ock-interface-performance-and-configuration
/

Improved ARM Support
• A number of new features have been implemented:
• 64 bit Xen on ARM now supports booting guests
• Physical disk partitions and LVM volumes can now
be used to store guest images using xen-blkback
(or is PV drivers better in terms of terminology)
• Significant stability improvements across the board
• ARM/multiboot booting protocol design and
implementation
• PSCI support

Improved ARM Support (2)
• Some DMA in Dom0 even with no
hardware IOMMUs
• ARM and ARM64 ABIs are declared stable
and maintained for backwards
compatibility
• Significant usability improvements, such
as automatic creation of guest device
trees and improved handling of host DTBs

Improved ARM Support (3)
• Adding new hardware platforms to Xen Project on
ARM has been vastly improved, making it easier for
Hardware vendors and embedded vendors to port
to their board
• Added support for the Arndale board, Calxeda
ECX-2000 (aka Midway), Applied Micro X-Gene
Storm, TI OMAP5 and Allwinner A20/A31 boards
• ARM server class hardware (Calxeda Midway) has
been introduced in the Xen Project OSSTest
automated testing framework

Early Microcode Loading
• The hypervisor can update the microcode in the
early phase of boot time






The microcode binary blob can be either as a
standalone multiboot payload, or part of the initial
kernel (dom0) initial ramdisk (initrd)
To take advantage of this use latest version
of dracut with --early-microcode parameter and on
the Xen Project command line specify: ucode=scan.
For details see dracut manpage and http://
xenbits.xenproject.org/docs/unstable/misc/xen-com
mand-line.html

Xen Project Futures

More Fun to Come…
• Xen Automotive


Xen Project in the entertainment center of your car?

• XenGT


Virtualized GPU support

• Even More ARM Support


On your server, in your phone, wherever…

• PVH stability and performance



The new hypervisor mode to get harder and faster
Domain 0 support, AMD support

And Still More Fun to Come…






Native support of VMware VMDK format
Better distribution integration (CentOS, Ubuntu)
Improvements in NUMA performance and support
Additional libvirt support
Automated Testing System


http://
blog.xenproject.org/index.php/2014/02/21/xen-proje
ct-automatic-testing-on-community-infrastructure/

• General performance enhancements

Questions?

Russell.Pavlicek@XenProject.org
Twitter: @RCPavlicek

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

PENYESUAIAN SOSIAL SISWA REGULER DENGAN ADANYA ANAK BERKEBUTUHAN KHUSUS DI SD INKLUSI GUGUS 4 SUMBERSARI MALANG

64 523 26

PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)

18 209 45

ANTARA IDEALISME DAN KENYATAAN: KEBIJAKAN PENDIDIKAN TIONGHOA PERANAKAN DI SURABAYA PADA MASA PENDUDUKAN JEPANG TAHUN 1942-1945 Between Idealism and Reality: Education Policy of Chinese in Surabaya in the Japanese Era at 1942-1945)

1 29 9

A DISCOURSE ANALYSIS ON “SPA: REGAIN BALANCE OF YOUR INNER AND OUTER BEAUTY” IN THE JAKARTA POST ON 4 MARCH 2011

9 161 13

Improving the Eighth Year Students' Tense Achievement and Active Participation by Giving Positive Reinforcement at SMPN 1 Silo in the 2013/2014 Academic Year

7 202 3

The Correlation between students vocabulary master and reading comprehension

16 145 49

Improping student's reading comprehension of descriptive text through textual teaching and learning (CTL)

8 140 133

The correlation between listening skill and pronunciation accuracy : a case study in the firt year of smk vocation higt school pupita bangsa ciputat school year 2005-2006

9 128 37

Transmission of Greek and Arabic Veteri

0 1 22