Xen Project Release Features: Difference between revisions
Lars.kurth (talk | contribs) mNo edit summary |
Lars.kurth (talk | contribs) (Updated ? and host limits; replaced [7] footnote (re-used older one that is not applicable any more)) |
||
| Line 136: | Line 136: | ||
|4095 |
|4095 |
||
|4095 |
|4095 |
||
|4095 |
|4095 |
||
|- |
|- |
||
|Physical RAM |
|Physical RAM |
||
| Line 144: | Line 144: | ||
|16TB |
|16TB |
||
|16TB |
|16TB |
||
|16TB |
|16TB |
||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|For ARM Architectures |
!colspan="7" style="background-color: #A9BCF5;"|For ARM Architectures |
||
| Line 154: | Line 154: | ||
|8 |
|8 |
||
|8 |
|8 |
||
|8 |
|8 |
||
|- |
|- |
||
|Physical RAM |
|Physical RAM |
||
| Line 162: | Line 162: | ||
|16GB |
|16GB |
||
|16GB |
|16GB |
||
|16GB for 32bit, 5TB for 64bit |
|||
|16GB? |
|||
|- |
|- |
||
!colspan="7"|<big>Guest Limits</big> |
!colspan="7"|<big>Guest Limits</big> |
||
| Line 174: | Line 174: | ||
|512 |
|512 |
||
|512 |
|512 |
||
|512 |
|512 |
||
|- |
|- |
||
|Virtual RAM |
|Virtual RAM |
||
| Line 182: | Line 182: | ||
|512GB |
|512GB |
||
|512GB |
|512GB |
||
|512GB |
|512GB |
||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|X86 HVM Guest Limits |
!colspan="7" style="background-color: #A9BCF5;"|X86 HVM Guest Limits |
||
| Line 192: | Line 192: | ||
|256 |
|256 |
||
|256 |
|256 |
||
|256 |
|256 |
||
|- |
|- |
||
|Virtual RAM |
|Virtual RAM |
||
| Line 200: | Line 200: | ||
|1TB |
|1TB |
||
|1TB |
|1TB |
||
|1TB |
|1TB |
||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|ARM Guest Limits |
!colspan="7" style="background-color: #A9BCF5;"|ARM Guest Limits |
||
| Line 210: | Line 210: | ||
|8 |
|8 |
||
|8 |
|8 |
||
|8 |
|8 |
||
|- |
|- |
||
|Virtual RAM |
|Virtual RAM |
||
| Line 218: | Line 218: | ||
|16GB |
|16GB |
||
|16GB |
|16GB |
||
|1TB <sup>[ [[#Foot7|7]] ]</sup> |
|||
|16GB? |
|||
|- |
|- |
||
!colspan="7" style="background-color: #A9BCF5;"|Number of event channels |
!colspan="7" style="background-color: #A9BCF5;"|Number of event channels |
||
| Line 262: | Line 262: | ||
| |
| |
||
| |
| |
||
|{{Tick}}<small>preview</small> |
|{{Tick}}<small>preview</small> |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
| Line 433: | Line 433: | ||
|- |
|- |
||
|vMCE<br/><small>Forward Machine Check Exceptions to Appropriate guests</small> |
|vMCE<br/><small>Forward Machine Check Exceptions to Appropriate guests</small> |
||
| |
| |
||
| |
| |
||
|{{Tick}} |
|{{Tick}} |
||
|{{Tick}} |
|{{Tick}} |
||
| Line 561: | Line 561: | ||
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
||
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
||
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used |
|{{Tick}}<small>default, unless [[Device_Model_Stub_Domains|stubdomains]] are used</small> |
||
|- |
|- |
||
|ROMBIOS<br/><small>BIOS used with traditional device model only</small> |
|ROMBIOS<br/><small>BIOS used with traditional device model only</small> |
||
| Line 627: | Line 627: | ||
<span id="Foot5"><sup>[ 5 ]</sup> Used as a fallback if ''blkback'' and/or ''blktap2'' are not available</span><br/> |
<span id="Foot5"><sup>[ 5 ]</sup> Used as a fallback if ''blkback'' and/or ''blktap2'' are not available</span><br/> |
||
<span id="Foot6"><sup>[ 6 ]</sup> See [[Xen ARM with Virtualization Extensions]]; basic functionality implemented; lack of real hardware to validate against<br/> |
<span id="Foot6"><sup>[ 6 ]</sup> See [[Xen ARM with Virtualization Extensions]]; basic functionality implemented; lack of real hardware to validate against<br/> |
||
<span id="Foot7"><sup>[ 7 ]</sup> |
<span id="Foot7"><sup>[ 7 ]</sup> Limited by supported host memory<br/> |
||
<span id="Foot8"><sup>[ 8 ]</sup> |
<span id="Foot8"><sup>[ 8 ]</sup> Tested on Broadcom 7445D0 A15, Midway (Calxeda), Odroid-XU, OMAP5, OMAP6, DRA7 (Texas Instrument), Exynos5 (Samsung), SunXI (AllWinner) aka A20/A21, CubieTruck, CubieBoard <br/> |
||
<span id="Foot9"><sup>[ 9 ]</sup> |
<span id="Foot9"><sup>[ 9 ]</sup> Tested on Vexpress (ARM Ltd.), Seattle (AMD), Mustang (Applied Micro-X-Gene), McDivitt aka HP Moonshot cartridge (Applied Micro X-Gene) |
||
<br/> |
<br/> |
||
Revision as of 17:43, 6 January 2015
Legend: ✓: Feature ✓: Partial
| Xen 4.0 | Xen 4.1 | Xen 4.2 | Xen 4.3 | Xen 4.4 | Xen 4.5 | |
|---|---|---|---|---|---|---|
| Initial Release | 7 April 2010 | 25 March 2011 | 17 Sept 2012 | 9 July 2013 | 10 March 2014 | TBD |
| Feature List | FL 4.2 | FL 4.3 | FL 4.4 | FL 4.5 | ||
| Release Notes | RN 4.0 | RN 4.1 | RN 4.2 | RN 4.3 | RN 4.4 | RN 4.5 |
| 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 ] | |||
| ARM v8 | ✓preview [ 6 ] | ✓ | ✓ [ 9 ] | |||
| 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 | ||||
| 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 |
| Physical RAM | 1TB | 5TB | 5TB | 16TB | 16TB | 16TB |
| For ARM Architectures | ||||||
| Physical CPUs | 8 | 8 | 8 | |||
| Physical RAM | 16GB | 16GB | 16GB for 32bit, 5TB for 64bit | |||
| Guest Limits | ||||||
| X86 PV Guest Limits | ||||||
| Virtual CPUs | 128 | >255 | 512 | 512 | 512 | 512 |
| Virtual RAM | 512GB | 512GB | 512GB | 512GB | 512GB | 512GB |
| X86 HVM Guest Limits | ||||||
| Virtual CPUs | 128 | 128 | 256 | 256 | 256 | 256 |
| Virtual RAM | 1TB | 1TB | 1TB | 1TB | 1TB | 1TB |
| ARM Guest Limits | ||||||
| Virtual CPUs | 8 | 8 | 8 | |||
| Virtual RAM | 16GB | 16GB | 1TB [ 7 ] | |||
| Number of event channels | ||||||
| Event Channels | 1024/4096 | 1024/4096 | 1024/4096 | 1024/4096 | 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 | ✓ | ✓ | |||
| 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 ] |
| Memory Paging allow pages belonging to HVM guests to be paged to disk |
✓preview | ✓preview | ✓preview [ 3 ] | ✓preview [ 3 ] | ✓preview [ 3 ] | ✓preview [ 3 ] |
| TMEM - Transcendent Memory | ✓experimental [ 2 ] | ✓experimental [ 2 ] | ✓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 | ✓experimental | ✓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 | ✓preview | ✓preview? | ||
| HVM PXE Stack | gPXE | iPXE | iPXE | 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 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ improvements |
| 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 |
✓ | ✓ | ✓ | ✓ | ✓ improvements | |
| 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 ] | ✓ [ 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 |
✓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)
