Xen Project Release Features
Legend: ✓: Feature ✓: Partial
Xen 4.0 | Xen 4.1 | Xen 4.2 | Xen 4.3 | |
---|---|---|---|---|
Initial Release | 7 April 2010 | 25 March 2011 | 17 September 2012 | TBD |
Supported Mainline Architectures | ||||
IA-A32 | ✓ | ✓ | ✓ | ✓ |
X86-64 | ✓ | ✓ | ✓ | ✓ |
Itanium | ✓ | ✓deprecated in this release | ✓deprecated | |
ARM v7 + Virtualization Extensions | ✓tech preview [ 6 ] | |||
ARM v8 | ✓tech preview [ 6 ] | |||
Guest Types | ||||
For X86 Architectures | ||||
Paravirtualised Traditional Xen PV guest |
✓ | ✓ | ✓ | ✓ |
HVM Guest [ 1 ] Fully virtualised guest using hardware virtualisation extensions |
✓ | ✓ | ✓ | ✓ |
PV-on-HVM Guest [ 1 ] Fully virtualised guest using PV extensions/drivers for improved performance |
✓ | ✓ | ✓ | ✓ |
For ARM Architectures | ||||
ARM Guest Optimal combination of full virtualization and PV extensions |
✓tech preview [ 6 ] | |||
Host Limits | ||||
For X86 Architectures | ||||
Physical CPUs | 128 [ 0 ] | >255 | 4095 | 4095 |
Physical RAM | 1TB | 5TB | 5TB | 16TB |
For ARM Architectures | ||||
Physical CPUs | 8 | |||
Physical RAM | 16GB | |||
Guest Limits | ||||
X86 PV Guest Limits | ||||
Virtual CPUs | 128 | >255 | 512 | 512 |
Virtual RAM | 512GB | 512GB | 512GB | 512GB |
X86 HVM Guest Limits | ||||
Virtual CPUs | 128 | 128 | 256 | 256 |
Virtual RAM | 1TB | 1TB | 1TB | 1TB |
ARM Guest Limits | ||||
Virtual CPUs | 8 | |||
Virtual RAM | 16GB | |||
Toolstack | ||||
Built-in | ||||
xend / xm | ✓ | ✓ | ✓deprecated in this release | ✓deprecated |
XL | ✓initial implementation | ✓preview release | ✓ | ✓ |
Qemu based disk backend (qdisk) for XL |
✓ [ 5 ] | ✓ [ 5 ] | ✓ [ 5 ] | |
XL Open vSwitch integration | ✓tech preview [ 7 ] | |||
3rd Party | ||||
libvirt driver for XL | ✓ | ✓ | ✓ | |
Features | ||||
Advanced Memory Management | ||||
Memory Ballooning | ✓ | ✓ | ✓ | ✓ |
Memory Sharing allow sharing of identical pages between HVM guests |
✓tech preview | ✓tech preview | ✓tech preview [ 3 ] | ✓tech preview [ 3 ] |
Memory Paging allow pages belonging to HVM guests to be paged to disk |
✓tech preview | ✓tech preview | ✓tech preview [ 3 ] | ✓tech preview [ 3 ] |
TMEM - Transcendent Memory | ✓experimental [ 2 ] | ✓experimental [ 2 ] | ✓experimental [ 2 ] | ✓experimental [ 2 ] |
Resource Management | ||||
Cpupool advanced partitioning |
✓ | ✓ | ✓ | |
Credit 2 Scheduler designed for latency-sensitive workloads and very large systems. |
✓prototype | ✓prototype | ✓experimental | |
NUMA scheduler affinity | ✓ | |||
Scalability | ||||
1GB/2MB super page support | ✓ | ✓ | ✓ | |
Deliver events to PVHVM guests using Xen event channels | ✓ | ✓ | ✓ | |
Interoperability / Hardware Support | ||||
Nested Virtualisation Running a hypervisor inside an HVM guest |
✓experimental | ✓experimental | ||
HVM PXE Stack | gPXE | iPXE | iPXE | iPXE |
Physical CPU Hotplug | ✓ | ✓ | ✓ | ✓ |
Physical Memory Hotplug | ✓ | ✓ | ✓ | ✓ |
Support for PV kernels in bzImage format | ✓ | ✓ | ✓ | ✓ |
PCI Passthrough | ✓ | ✓ | ✓ | ✓ |
X86 Advanced Vector eXtension (AVX) | ✓ [ 4 ] | ✓ | ✓ | |
High Availability and Fault Tolerance | ||||
Live Migration, Save & Restore | ✓ | ✓ | ✓ | ✓ |
Remus Fault Tolerance | ✓ | ✓ | ✓ | ✓ |
vMCE Forward Machine Check Exceptions to Appropriate guests |
? | ? | ✓ | ✓ |
Network and Storage | ||||
Blktap2 | ✓ | ✓ | ✓ | ✓ |
Online resize of virtual disks | ✓ | ✓ | ✓ | ✓ |
Security (also see this presentation or this document) | ||||
Driver Domains | ✓ | ✓ | ✓ | ✓ |
Device Model Stub Domains | ✓ | ✓ | ✓ | ✓ |
Memaccess API enabling integration of 3rd party security solutions into Xen virtualized environments |
✓ | ✓ | ✓ | |
XSM & FLASK mandatory access control policy providing fine-grained controls over Xen domains, similar to SELinux |
✓ | ✓ | ✓ | ✓ |
XSM & FLASK support for IS_PRIV | ✓ | |||
vTPM Support |
✓ | ✓ | ✓ | ✓ updates and new functionality |
Tooling | ||||
gdbsx debugger to debug ELF guests |
✓ | ✓ | ✓ | ✓ |
vPMU Virtual Performance Management Unit for HVM guests |
✓ [ 4 ] | ✓ [ 4 ] | ✓ [ 4 ] | ✓ [ 4 ] |
Serial console | ✓ | ✓ | ✓ | ✓Add EHCI debug support |
xentrace performance analysis |
✓ | ✓ | ✓ | ✓ |
Device Models and Virtual Firmware for HVM guests | ||||
For X86 Architectures | ||||
Traditional Device Model Device emulator based on Xen fork of Qemu |
✓ | ✓ | ✓ | ✓ |
Qemu Upstream Device Model Device emulator based on upstream Qemu |
✓tech preview | ✓default, unless stubdomains are used | ||
ROMBIOS BIOS used with traditional device model only |
✓ | ✓ | ✓ | ✓ |
SeaBIOS BIOS used with upstream qemu device model and XL only |
✓ | ✓ | ||
OVMF/Tianocore UEFI Firmware used with upstream qemu device model and XL only |
✓experimental [ 4 ] | ✓experimental [ 4 ] | ||
PV Bootloader support | ||||
For X86 Architectures | ||||
PyGrub support for GRUB 2 | ✓ | ✓ | ✓ | ✓ |
PyGrub support for /boot on ext4 | ✓ | ✓ | ✓ | ✓ |
pvnetboot support Bootloader supporting network boot of PV guests |
✓ | ✓ |
[ 0 ] Compile time limit, can be increased
[ 1 ] Requires hardware virtualisation support
[ 2 ] Disabled by default (enable with hypervisor command line option). Not supported in production and doesn't have full security support
[ 3 ] Preview, due to limited tools support. Hypervisor side in good shape
[ 4 ] Disabled by default (enable with hypervisor command line option)
[ 5 ] Used as a fallback if blkback and/or blktap2 are not available
[ 6 ] See Xen ARM with Virtualization Extensions; basic functionality implemented; lack of real hardware to validate against
[ 7 ] tech preview, depending on test coverage in Xen Test Days