Difference between revisions of "Xen Project Release Features"

From Xen
m (ia64)
Line 3: Line 3:
 
{|class="prettytable" style="text-align: left;" valign="top"
 
{|class="prettytable" style="text-align: left;" valign="top"
 
!style="width: 40%;"|
 
!style="width: 40%;"|
!style="width: 15%;"|Xen 4.0
+
!style="width: 12%;"|Xen 4.0
!style="width: 15%;"|Xen 4.1
+
!style="width: 12%;"|Xen 4.1
!style="width: 15%;"|Xen 4.2
+
!style="width: 12%;"|Xen 4.2
!style="width: 15%;"|Xen 4.3
+
!style="width: 12%;"|Xen 4.3
  +
!style="width: 12%;"|Xen 4.4
 
|-
 
|-
 
|Initial Release
 
|Initial Release
Line 13: Line 14:
 
|17 September 2012
 
|17 September 2012
 
|9 July 2013
 
|9 July 2013
  +
|10 March 2014
 
|-
 
|-
 
|Feature List
 
|Feature List
Line 19: Line 21:
 
|[[Xen 4.2 Feature List|FL 4.2]]
 
|[[Xen 4.2 Feature List|FL 4.2]]
 
|[[Xen 4.3 Feature List|FL 4.3]]
 
|[[Xen 4.3 Feature List|FL 4.3]]
  +
|[[Xen 4.4 Feature List|FL 4.4]]
 
|-
 
|-
 
|Release Notes
 
|Release Notes
Line 25: Line 28:
 
|[[Xen 4.2 Release Notes|RN 4.2]]
 
|[[Xen 4.2 Release Notes|RN 4.2]]
 
|[[Xen 4.3 Release Notes|RN 4.3]]
 
|[[Xen 4.3 Release Notes|RN 4.3]]
  +
|[[Xen 4.4 Release Notes|RN 4.4]]
 
|-
 
|-
!colspan="5"|<big>Supported Mainline Architectures for the hypervisor (Host)</big>
+
!colspan="6"|<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 33: Line 37:
 
|{{Tick}}
 
|{{Tick}}
 
|Removed
 
|Removed
  +
|
 
|-
 
|-
 
|[http://en.wikipedia.org/wiki/X86-64 X86-64]
 
|[http://en.wikipedia.org/wiki/X86-64 X86-64]
Line 39: Line 44:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
  +
|
 
|-
 
|-
 
|[http://en.wikipedia.org/wiki/Itanium Itanium (ia64)]
 
|[http://en.wikipedia.org/wiki/Itanium Itanium (ia64)]
Line 45: Line 51:
 
|{{Tick}}<small>deprecated</small>
 
|{{Tick}}<small>deprecated</small>
 
|Removed
 
|Removed
  +
|
 
|-
 
|-
 
|ARM v7 + Virtualization Extensions
 
|ARM v7 + Virtualization Extensions
Line 51: Line 58:
 
|
 
|
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot6|6]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot6|6]] ]</sup>
  +
|
 
|-
 
|-
 
|ARM v8
 
|ARM v8
Line 57: Line 65:
 
|
 
|
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot6|6]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot6|6]] ]</sup>
  +
|
 
|-
 
|-
!colspan="5"|<big>[[Xen Overview#Guest_Types|Guest Types]]</big>
+
!colspan="6"|<big>[[Xen Overview#Guest_Types|Guest Types]]</big>
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|For X86 Architectures
+
!colspan="6" style="background-color: #A9BCF5;"|For X86 Architectures
 
|-
 
|-
 
|Paravirtualised<br/><small>Traditional Xen ''PV'' guest</small>
 
|Paravirtualised<br/><small>Traditional Xen ''PV'' guest</small>
Line 67: Line 76:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
  +
|
 
|-
 
|-
 
|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>
Line 73: Line 83:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
  +
|
 
|-
 
|-
 
|PV-on-HVM Guest <sup>[ [[#Foot1|1]] ]<br/><small>Fully virtualised guest using PV extensions/drivers for improved performance</small>
 
|PV-on-HVM Guest <sup>[ [[#Foot1|1]] ]<br/><small>Fully virtualised guest using PV extensions/drivers for improved performance</small>
Line 79: Line 90:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
  +
|
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|For ARM Architectures
+
!colspan="6" 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 87: Line 99:
 
|
 
|
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot6|6]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot6|6]] ]</sup>
  +
|
 
|-
 
|-
!colspan="5"|<big>Host Limits</big>
+
!colspan="6"|<big>Host Limits</big>
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|For X86 Architectures
+
!colspan="6" style="background-color: #A9BCF5;"|For X86 Architectures
 
|-
 
|-
 
|Physical CPUs
 
|Physical CPUs
Line 97: Line 110:
 
|4095
 
|4095
 
|4095
 
|4095
  +
|
 
|-
 
|-
 
|Physical RAM
 
|Physical RAM
Line 103: Line 117:
 
|5TB
 
|5TB
 
|16TB
 
|16TB
  +
|
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|For ARM Architectures
+
!colspan="6" style="background-color: #A9BCF5;"|For ARM Architectures
 
|-
 
|-
 
|Physical CPUs
 
|Physical CPUs
Line 111: Line 126:
 
|
 
|
 
|8
 
|8
  +
|
 
|-
 
|-
 
|Physical RAM
 
|Physical RAM
Line 117: Line 133:
 
|
 
|
 
|16GB
 
|16GB
  +
|
 
|-
 
|-
!colspan="5"|<big>Guest Limits</big>
+
!colspan="6"|<big>Guest Limits</big>
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|X86 PV Guest Limits
+
!colspan="6" style="background-color: #A9BCF5;"|X86 PV Guest Limits
 
|-
 
|-
 
|Virtual CPUs
 
|Virtual CPUs
Line 127: Line 144:
 
|512
 
|512
 
|512
 
|512
  +
|
 
|-
 
|-
 
|Virtual RAM
 
|Virtual RAM
Line 133: Line 151:
 
|512GB
 
|512GB
 
|512GB
 
|512GB
  +
|
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|X86 HVM Guest Limits
+
!colspan="6" style="background-color: #A9BCF5;"|X86 HVM Guest Limits
 
|-
 
|-
 
|Virtual CPUs
 
|Virtual CPUs
Line 141: Line 160:
 
|256
 
|256
 
|256
 
|256
  +
|
 
|-
 
|-
 
|Virtual RAM
 
|Virtual RAM
Line 147: Line 167:
 
|1TB
 
|1TB
 
|1TB
 
|1TB
  +
|
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|ARM Guest Limits
+
!colspan="6" style="background-color: #A9BCF5;"|ARM Guest Limits
 
|-
 
|-
 
|Virtual CPUs
 
|Virtual CPUs
Line 155: Line 176:
 
|
 
|
 
|8
 
|8
  +
|
 
|-
 
|-
 
|Virtual RAM
 
|Virtual RAM
Line 161: Line 183:
 
|
 
|
 
|16GB
 
|16GB
  +
|
 
|-
 
|-
!colspan="5"|<big>Toolstack</big>
+
!colspan="6"|<big>Toolstack</big>
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|Built-in
+
!colspan="6" style="background-color: #A9BCF5;"|Built-in
 
|-
 
|-
 
|xend / xm
 
|xend / xm
Line 171: Line 194:
 
|{{Tick}}<small>deprecated in this release</small>
 
|{{Tick}}<small>deprecated in this release</small>
 
|{{Tick}}<small>deprecated</small>
 
|{{Tick}}<small>deprecated</small>
  +
|
 
|-
 
|-
 
|[[XL]]
 
|[[XL]]
Line 177: Line 201:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
  +
|
 
|-
 
|-
 
|Qemu based disk backend (''qdisk'') for [[XL]]<br/>
 
|Qemu based disk backend (''qdisk'') for [[XL]]<br/>
Line 183: Line 208:
 
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup>
 
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup>
 
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup>
 
|{{Tick}} <sup>[ [[#Foot5|5]] ]</sup>
  +
|
 
|-
 
|-
 
|[[XL]] [http://openvswitch.org/ Open vSwitch] integration
 
|[[XL]] [http://openvswitch.org/ Open vSwitch] integration
Line 189: Line 215:
 
|
 
|
 
|{{Tick}}<small>tech preview</small> <sup>[ [[#Foot7|7]] ]</sup>
 
|{{Tick}}<small>tech preview</small> <sup>[ [[#Foot7|7]] ]</sup>
  +
|
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|3rd Party
+
!colspan="6" style="background-color: #A9BCF5;"|3rd Party
 
|-
 
|-
 
|[http://libvirt.org libvirt] driver for [[XL]]
 
|[http://libvirt.org libvirt] driver for [[XL]]
Line 197: Line 224:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
  +
|
 
|-
 
|-
!colspan="5"|<big>Features</big>
+
!colspan="6"|<big>Features</big>
 
|-
 
|-
!colspan="5" style="background-color: #A9BCF5;"|Advanced Memory Management
+
!colspan="6" style="background-color: #A9BCF5;"|Advanced Memory Management
 
|-
 
|-
 
|Memory Ballooning
 
|Memory Ballooning
Line 207: Line 235:
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
 
|{{Tick}}
  +
|
 
|-
 
|-
 
|Memory Sharing<br/><small>allow sharing of identical pages between HVM guests</small>
 
|Memory Sharing<br/><small>allow sharing of identical pages between HVM guests</small>
Line 213: Line 242:
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot3|3]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot3|3]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot3|3]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot3|3]] ]</sup>
  +
|
 
|-
 
|-
 
|Memory Paging<br/><small>allow pages belonging to HVM guests to be paged to disk</small>
 
|Memory Paging<br/><small>allow pages belonging to HVM guests to be paged to disk</small>
Line 219: Line 249:
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot3|3]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot3|3]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot3|3]] ]</sup>
 
|{{HalfDone}}<small>tech preview</small> <sup>[ [[#Foot3|3]] ]</sup>
  +
|
 
|-
 
|-
 
|[http://oss.oracle.com/projects/tmem/ TMEM] - Transcendent Memory
 
|[http://oss.oracle.com/projects/tmem/ TMEM] - Transcendent Memory
Line 225: Line 256:
 
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup>
 
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup>
 
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup>
 
|{{HalfDone}}<small>experimental</small> <sup>[ [[#Foot2|2]] ]</sup>
  +
|
 
|-
 
|-
 
!colspan="5" style="background-color: #A9BCF5;"|Resource Management
 
!colspan="5" style="background-color: #A9BCF5;"|Resource Management

Revision as of 10:49, 10 March 2014

Legend: : Feature : Partial

Xen 4.0 Xen 4.1 Xen 4.2 Xen 4.3 Xen 4.4
Initial Release 7 April 2010 25 March 2011 17 September 2012 9 July 2013 10 March 2014
Feature List FL 4.2 FL 4.3 FL 4.4
Release Notes RN 4.0 RN 4.1 RN 4.2 RN 4.3 RN 4.4
Supported Mainline Architectures for the hypervisor (Host)
IA-A32 Removed
X86-64
Itanium (ia64) deprecated in this release deprecated Removed
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