Xen Project Release Features: Difference between revisions
m (ia64) |
Rcpavlicek (talk | contribs) No edit summary |
||
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: |
!style="width: 12%;"|Xen 4.0 |
||
!style="width: |
!style="width: 12%;"|Xen 4.1 |
||
!style="width: |
!style="width: 12%;"|Xen 4.2 |
||
!style="width: |
!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=" |
!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=" |
!colspan="6"|<big>[[Xen Overview#Guest_Types|Guest Types]]</big> |
||
|- |
|- |
||
!colspan=" |
!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=" |
!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=" |
!colspan="6"|<big>Host Limits</big> |
||
|- |
|- |
||
!colspan=" |
!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=" |
!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=" |
!colspan="6"|<big>Guest Limits</big> |
||
|- |
|- |
||
!colspan=" |
!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=" |
!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=" |
!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=" |
!colspan="6"|<big>Toolstack</big> |
||
|- |
|- |
||
!colspan=" |
!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=" |
!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=" |
!colspan="6"|<big>Features</big> |
||
|- |
|- |
||
!colspan=" |
!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