Difference between revisions of "Xen Project Release Features"

From Xen
Line 38: Line 38:
 
|[[Xen Project 4.6 Release Notes|RN 4.6]]
 
|[[Xen Project 4.6 Release Notes|RN 4.6]]
 
|-
 
|-
!colspan="7"|<big>Supported Mainline Architectures for the hypervisor (Host)</big>
+
!colspan="8"|<big>Supported Mainline Architectures for the hypervisor (Host)</big>
 
|-
 
|-
 
|[http://en.wikipedia.org/wiki/IA-32 IA-A32]
 
|[http://en.wikipedia.org/wiki/IA-32 IA-A32]
Line 48: Line 48:
 
|-
 
|-
 
|[http://en.wikipedia.org/wiki/X86-64 X86-64]
 
|[http://en.wikipedia.org/wiki/X86-64 X86-64]
  +
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
Line 69: Line 70:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}} <sup>[ [[#Foot8|8]] ]</sup>
 
|{{Tick}} <sup>[ [[#Foot8|8]] ]</sup>
  +
|{{Tick}} <sup>[ [[#Foot14|14]] ]</sup>
 
|-
 
|-
 
|ARM v8
 
|ARM v8
Line 76: Line 78:
 
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup>
 
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup>
 
|{{Tick}}
 
|{{Tick}}
|{{Tick}} <sup>[ [[#Foot9|9]] ]</sup>
+
|{{Tick}} <sup>[ [[#Foot8|8]] ]</sup>
  +
|{{Tick}} <sup>[ [[#Foot15|15]] ]</sup>
 
|-
 
|-
!colspan="7"|<big>[[Xen Overview#Guest_Types|Guest Types]]</big>
+
!colspan="8"|<big>[[Xen Overview#Guest_Types|Guest Types]]</big>
 
|-
 
|-
!colspan="7" style="background-color: #A9BCF5;"|For X86 Architectures
+
!colspan="8" style="background-color: #A9BCF5;"|For X86 Architectures
 
|-
 
|-
 
|Paravirtualised<br/><small>Traditional Xen Project ''PV'' guest</small>
 
|Paravirtualised<br/><small>Traditional Xen Project ''PV'' guest</small>
  +
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
Line 91: Line 95:
 
|-
 
|-
 
|HVM Guest <sup>[ [[#Foot1|1]] ]<br/><small>Fully virtualised guest using hardware virtualisation extensions</small>
 
|HVM Guest <sup>[ [[#Foot1|1]] ]<br/><small>Fully virtualised guest using hardware virtualisation extensions</small>
  +
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
Line 103: Line 108:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
  +
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
Line 113: Line 119:
 
|{{Tick}}<small>preview</small>
 
|{{Tick}}<small>preview</small>
 
|{{Tick}}<small>preview<br>added PVH Dom0</small>
 
|{{Tick}}<small>preview<br>added PVH Dom0</small>
  +
|{{Tick}}<small>preview</small>
 
|-
 
|-
!colspan="7" style="background-color: #A9BCF5;"|For ARM Architectures
+
!colspan="8" style="background-color: #A9BCF5;"|For ARM Architectures
 
|-
 
|-
 
|ARM Guest<sup><br/><small>Optimal combination of full virtualization and PV extensions</small>
 
|ARM Guest<sup><br/><small>Optimal combination of full virtualization and PV extensions</small>
Line 121: Line 128:
 
|
 
|
 
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup>
 
|{{HalfDone}}<small>preview</small> <sup>[ [[#Foot6|6]] ]</sup>
  +
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|-
 
|-
!colspan="7"|<big>Host Limits</big>
+
!colspan="8"|<big>Host Limits</big>
 
|-
 
|-
!colspan="7" style="background-color: #A9BCF5;"|For X86 Architectures
+
!colspan="8" style="background-color: #A9BCF5;"|For X86 Architectures
 
|-
 
|-
 
|Physical CPUs
 
|Physical CPUs
 
|128 <sup>[ [[#Foot0|0]] ]</sup>
 
|128 <sup>[ [[#Foot0|0]] ]</sup>
 
|>255
 
|>255
  +
|4095
 
|4095
 
|4095
 
|4095
 
|4095
Line 140: Line 149:
 
|5TB
 
|5TB
 
|5TB
 
|5TB
  +
|16TB
 
|16TB
 
|16TB
 
|16TB
 
|16TB
 
|16TB
 
|16TB
 
|-
 
|-
!colspan="7" style="background-color: #A9BCF5;"|For ARM Architectures
+
!colspan="8" style="background-color: #A9BCF5;"|For ARM Architectures
 
|-
 
|-
 
|Physical CPUs
 
|Physical CPUs
Line 150: Line 160:
 
|
 
|
 
|
 
|
  +
|8
 
|8
 
|8
 
|8
 
|8
Line 160: Line 171:
 
|16GB
 
|16GB
 
|16GB
 
|16GB
  +
|16GB for 32bit, 5TB for 64bit
 
|16GB for 32bit, 5TB for 64bit
 
|16GB for 32bit, 5TB for 64bit
 
|-
 
|-
!colspan="7"|<big>Guest Limits</big>
+
!colspan="8"|<big>Guest Limits</big>
 
|-
 
|-
!colspan="7" style="background-color: #A9BCF5;"|X86 PV Guest Limits
+
!colspan="8" style="background-color: #A9BCF5;"|X86 PV Guest Limits
 
|-
 
|-
 
|Virtual CPUs
 
|Virtual CPUs
 
|128
 
|128
 
|>255
 
|>255
  +
|512
 
|512
 
|512
 
|512
 
|512
Line 175: Line 188:
 
|-
 
|-
 
|Virtual RAM
 
|Virtual RAM
  +
|512GB
 
|512GB
 
|512GB
 
|512GB
 
|512GB
Line 182: Line 196:
 
|512GB
 
|512GB
 
|-
 
|-
!colspan="7" style="background-color: #A9BCF5;"|X86 HVM Guest Limits
+
!colspan="8" style="background-color: #A9BCF5;"|X86 HVM Guest Limits
 
|-
 
|-
 
|Virtual CPUs
 
|Virtual CPUs
 
|128
 
|128
 
|128
 
|128
  +
|256
 
|256
 
|256
 
|256
 
|256
Line 193: Line 208:
 
|-
 
|-
 
|Virtual RAM
 
|Virtual RAM
  +
|1TB
 
|1TB
 
|1TB
 
|1TB
 
|1TB
Line 200: Line 216:
 
|1TB
 
|1TB
 
|-
 
|-
!colspan="7" style="background-color: #A9BCF5;"|ARM Guest Limits
+
!colspan="8" style="background-color: #A9BCF5;"|ARM Guest Limits
 
|-
 
|-
 
|Virtual CPUs
 
|Virtual CPUs
Line 209: Line 225:
 
|8
 
|8
 
|8
 
|8
  +
|8 for 32bit; 128 for 64bit
 
|-
 
|-
 
|Virtual RAM
 
|Virtual RAM
Line 216: Line 233:
 
|16GB
 
|16GB
 
|16GB
 
|16GB
  +
|1TB <sup>[ [[#Foot7|7]] ]</sup>
 
|1TB <sup>[ [[#Foot7|7]] ]</sup>
 
|1TB <sup>[ [[#Foot7|7]] ]</sup>
 
|-
 
|-
!colspan="7" style="background-color: #A9BCF5;"|Number of event channels
+
!colspan="8" style="background-color: #A9BCF5;"|Number of event channels
 
|-
 
|-
 
|Event Channels
 
|Event Channels
Line 225: Line 243:
 
|1024/4096
 
|1024/4096
 
|1024/4096
 
|1024/4096
  +
|131072
 
|131072
 
|131072
 
|131072
 
|131072

Revision as of 10:49, 12 October 2015

Legend: : Feature : Partial

Xen 4.0 Xen 4.1 Xen 4.2 Xen 4.3 Xen 4.4 Xen 4.5 Xen 4.6
Initial Release 7 April 2010 25 March 2011 17 Sept 2012 9 July 2013 10 March 2014 15 Jan 2015 13 Oct 2015
Feature List FL 4.2 FL 4.3 FL 4.4 FL 4.5 FL 4.6
Release Notes RN 4.0 RN 4.1 RN 4.2 RN 4.3 RN 4.4 RN 4.5 RN 4.6
Supported Mainline Architectures for the hypervisor (Host)
IA-A32 removed
X86-64
Itanium (ia64) deprecated in this release deprecated removed
ARM v7 + Virtualization Extensions preview [ 6 ] [ 8 ] [ 14 ]
ARM v8 preview [ 6 ] [ 8 ] [ 15 ]
Guest Types
For X86 Architectures
Paravirtualised
Traditional Xen Project 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
PVH Guest preview preview
added PVH Dom0
preview
For ARM Architectures
ARM Guest
Optimal combination of full virtualization and PV extensions
preview [ 6 ]
Host Limits
For X86 Architectures
Physical CPUs 128 [ 0 ] >255 4095 4095 4095 4095 4095
Physical RAM 1TB 5TB 5TB 16TB 16TB 16TB 16TB
For ARM Architectures
Physical CPUs 8 8 8 8
Physical RAM 16GB 16GB 16GB for 32bit, 5TB for 64bit 16GB for 32bit, 5TB for 64bit
Guest Limits
X86 PV Guest Limits
Virtual CPUs 128 >255 512 512 512 512 512
Virtual RAM 512GB 512GB 512GB 512GB 512GB 512GB 512GB
X86 HVM Guest Limits
Virtual CPUs 128 128 256 256 256 256 256
Virtual RAM 1TB 1TB 1TB 1TB 1TB 1TB 1TB
ARM Guest Limits
Virtual CPUs 8 8 8 8 for 32bit; 128 for 64bit
Virtual RAM 16GB 16GB 1TB [ 7 ] 1TB [ 7 ]
Number of event channels
Event Channels 1024/4096 1024/4096 1024/4096 1024/4096 131072 131072 131072
Toolstack
Built-in
xend / xm deprecated in this release deprecated deprecated removed
XL initial implementation preview release
Qemu based disk backend (qdisk) for XL
[ 5 ] [ 5 ] [ 5 ] [ 5 ] [ 5 ]
XL Open vSwitch integration preview
systemd support
JSON support infrastructure only, no tools support
3rd Party
libvirt driver for XL
Features
Advanced Memory Management
Memory Ballooning
Memory Sharing
allow sharing of identical pages between HVM guests
preview preview preview [ 3 ] preview [ 3 ] preview [ 3 ] preview [ 3 ][ 12 ]
Memory Paging
allow pages belonging to HVM guests to be paged to disk
preview preview preview [ 3 ] preview [ 3 ] preview [ 3 ] preview [ 3 ][ 12 ]
TMEM - Transcendent Memory experimental [ 2 ] experimental [ 2 ] experimental [ 2 ] experimental [ 2 ] experimental [ 2 ] experimental [ 2 ][ 12 ]
Resource Management
Cpupool
advanced partitioning
Credit 2 Scheduler
designed for latency-sensitive workloads and very large systems.
prototype prototype experimental experimental experimental
RTDS Based Scheduler
Real-time CPU scheduler built to provide guaranteed CPU capacity to guest VMs on SMP hosts.
experimental
NUMA scheduler affinity [ 12 ]
Scalability
1GB/2MB super page support
Deliver events to PVHVM guests using Xen event channels
Interoperability / Hardware Support
X86 Nested Virtualisation
Running a hypervisor inside an HVM guest
experimental experimental preview preview [ 11 ]
HVM PXE Stack (x86) gPXE iPXE iPXE iPXE iPXE iPXE
Physical CPU Hotplug [ 12 ]
Physical Memory Hotplug [ 12 ]
Support for PV kernels in bzImage format [ 12 ]
PCI Passthrough [ 12 ] [ 12 ] [ 12 ][ 13 ]
X86 Advanced Vector eXtension (AVX) [ 4 ]
X86 Cache Monitoring Technology (CMT) preview
High Availability and Fault Tolerance
Live Migration, Save & Restore [ 12 ]
Remus Fault Tolerance improvements
for COLO
[ 10 ][ 12 ]
X86 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 [ 12 ]
Virtual Machine Introspection (Memaccess API)
enabling integration of 3rd party security solutions into Xen virtualized environments
improvements[ 12 ]
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
[ 12 ]
vPMU
Virtual Performance Management Unit for HVM guests
[ 4 ] [ 4 ] [ 4 ] [ 4 ] [ 4 ] [ 4 ][ 12 ]
Serial console Add EHCI debug support Add Oxford PCIe, and Broadcom TrueManage support
xentrace
performance analysis
[ 12 ]
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
preview default, unless stubdomains are used default, unless stubdomains are used 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 ] 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 ] Limited by supported host memory
[ 8 ] Tested on Broadcom 7445D0 A15, Midway (Calxeda), Odroid-XU, OMAP5, OMAP6, DRA7 (Texas Instrument), Exynos5 (Samsung), SunXI (AllWinner) aka A20/A21, CubieTruck, CubieBoard
[ 9 ] Tested on Vexpress (ARM Ltd.), Seattle (AMD), Mustang (Applied Micro-X-Gene), McDivitt aka HP Moonshot cartridge (Applied Micro X-Gene)
[ 10 ] Remus has been ported to XL and has been tested with COLO which is currently outside the Xen tree, but planned to be included in Xen 4.6. Also see Remus Toolkit Differences explaining differences between Remus with XM (not supported in Xen 4.5) and XL
[ 11 ] There are a number of reported crashes that have not yet been fixed and some known limitations
[ 12 ] Not yet supported on ARM; for a more detailed update on what is supported on ARM see here and here
[ 13 ] The PCI passthrough features did not make it on time for Xen 4.5, but doing passthrough of MMIO regions did. In the ARM world it is quite common to have no PCIe devices and to only access devices using MMIO regions. As such this feature allows us to have driver domains be in charge of network or storage devices.
[ 14 ] Added the following platforms to [ 8 ]: Renesas R-Car Gen2, Huawei hip04-d04
[ 15 ] Added the following platforms to [ 9 ]: Thunder X (partial), Xilinx ZynqMP SoC