Difference between revisions of "Xen Project 4.4 Feature List"

From Xen
Line 21: Line 21:
   
   
== Non-Linux driver domains [see last e-mail ... this needs to be refined]
+
== Non-Linux driver domains ==
   
  +
[see last e-mail ... this needs to be refined]
== Event channel scalability.
 
  +
  +
== Event channel scalability ==
   
 
Event channels are per-VM resources that allow VMs to communicate with each other. These were previously
 
Event channels are per-VM resources that allow VMs to communicate with each other. These were previously
 
limited to either 1024 or 4096 channels per domain. Domain 0 needs several event channels for each guest VM, which limited the total number of VMs available to several hundred. The new event channel implementation allows hundreds of thousands of event channels, removing this as a limit on the number of VMs which can be started. This benefits cloud operating systems such as MirageOS, ErlangOnXen, OSv, HalVM, ... as well as disaggregated Xen systems in which drivers, services (e.g. Qemu, Tor, ...) and other functionality that would normally be run in Domain 0 can be run in a separate VM.
 
limited to either 1024 or 4096 channels per domain. Domain 0 needs several event channels for each guest VM, which limited the total number of VMs available to several hundred. The new event channel implementation allows hundreds of thousands of event channels, removing this as a limit on the number of VMs which can be started. This benefits cloud operating systems such as MirageOS, ErlangOnXen, OSv, HalVM, ... as well as disaggregated Xen systems in which drivers, services (e.g. Qemu, Tor, ...) and other functionality that would normally be run in Domain 0 can be run in a separate VM.
   
== Experimental support for PVH mode for guests.
+
== Experimental support for PVH mode for guests ==
   
 
PVH mode combines the best elements of HVM and PV into a mode which allows Xen to take
 
PVH mode combines the best elements of HVM and PV into a mode which allows Xen to take
Line 36: Line 38:
 
More information on PVH: see https://www.linux.com/news/enterprise/systems-management/658784-the-spectrum-of-paravirtualization-with-xen-part-2 and
 
More information on PVH: see https://www.linux.com/news/enterprise/systems-management/658784-the-spectrum-of-paravirtualization-with-xen-part-2 and
   
== Improved support for SPICE.
+
== Improved support for SPICE ==
   
 
SPICE is a protocol for virtial desktops which allows a much richer connection than display-only
 
SPICE is a protocol for virtial desktops which allows a much richer connection than display-only
 
protocols like VNC. Xen 4.4 adds support for additional SPICE functionality, including vdagent, clipboard sharing, and USB redirection.
 
protocols like VNC. Xen 4.4 adds support for additional SPICE functionality, including vdagent, clipboard sharing, and USB redirection.
   
== GRUB 2 now supports PV xen images (external).
+
== GRUB 2 now supports PV xen images (external) ==
   
 
In the past, Xen required a custom implementation of GRUB called pvgrub. The upstream GRUB 2 (see http://www.gnu.org/software/grub/) project now has a build target which will construct a bootable PV xen image. This ensures 100% GRUB 2
 
In the past, Xen required a custom implementation of GRUB called pvgrub. The upstream GRUB 2 (see http://www.gnu.org/software/grub/) project now has a build target which will construct a bootable PV xen image. This ensures 100% GRUB 2
 
compatibility for pvgrub going forward.
 
compatibility for pvgrub going forward.
   
== Indirect descriptors for block PV protocol (Linux).
+
== Indirect descriptors for block PV protocol (Linux) ==
   
 
Modern storage devices work much better with larger chunks of data. Indirect
 
Modern storage devices work much better with larger chunks of data. Indirect
Line 52: Line 54:
 
technologies like SSD and RAID. This support is available in any guest running Linux 3.11 or higher (regardless of Xen version).
 
technologies like SSD and RAID. This support is available in any guest running Linux 3.11 or higher (regardless of Xen version).
   
== Improved kexec for debug support.
+
== Improved kexec for debug support ==
   
 
kexec functionality is primarily used when a crash happens, to allow a special kernel to come in afterwards and collect information about the cause of the crash, to allow developers to diagnose and fix the root cause.
 
kexec functionality is primarily used when a crash happens, to allow a special kernel to come in afterwards and collect information about the cause of the crash, to allow developers to diagnose and fix the root cause.
   
== Improved XAPI and Mirage OS support in Xen.
+
== Improved XAPI and Mirage OS support in Xen Project environment ==
   
 
XAPI and Mirage OS are sub-projects within the Xen Project written in OCaml. Both are also used in XenServer (see http://xenserver.org/) and rely on the Xen OCaml language bindings to operate well. These language bindings have had a major overhaul, and result in much better compatibility between XAPI, Mirage OS and Linux distros going forward.
 
XAPI and Mirage OS are sub-projects within the Xen Project written in OCaml. Both are also used in XenServer (see http://xenserver.org/) and rely on the Xen OCaml language bindings to operate well. These language bindings have had a major overhaul, and result in much better compatibility between XAPI, Mirage OS and Linux distros going forward.
   
== Experimental support for Guest EFI boot.
+
== Experimental support for Guest EFI boot ==
   
 
EFI is the new booting standard that is replacing BIOS. Some operating systems only boot
 
EFI is the new booting standard that is replacing BIOS. Some operating systems only boot
 
with EFI; and some features, like SecureBoot, only work with EFI.
 
with EFI; and some features, like SecureBoot, only work with EFI.
   
== Improved ARM support for Xen.
+
== Improved ARM support for Xen Project Hypervisor ==
   
 
[TODO: clarify whether support has moved from tech preview to experimental or supported]. A number of new features have been implemented:
 
[TODO: clarify whether support has moved from tech preview to experimental or supported]. A number of new features have been implemented:
Line 84: Line 86:
   
   
== Updated to qemu 1.6 and SeaBIOS 1.7.3.1
+
== Updated to qemu 1.6 and SeaBIOS 1.7.3.1 ==
   
 
= Documentation =
 
= Documentation =

Revision as of 22:29, 9 March 2014

Book Help Manual Search.png

 

NOTE: THIS IS A STUB PENDING RELEASE

High Level Features

See this table for a comparison of the feature sets of different Xen releases. Compatibility information can be found in the following two tables: Host Operating Systems and Guest Operating Systems.

Note that Linux Distributions and other operating systems, will upgrade to Xen 4.4 according to their own release schedules.

ARM Support

Performance and Scalability Enhancements

Improved Security

Toolstack Improvements

Usability improvements

Tools

Hardware support

Guest visible features

Other features and improvements

Non-Linux driver domains

[see last e-mail ... this needs to be refined]

Event channel scalability

Event channels are per-VM resources that allow VMs to communicate with each other. These were previously limited to either 1024 or 4096 channels per domain. Domain 0 needs several event channels for each guest VM, which limited the total number of VMs available to several hundred. The new event channel implementation allows hundreds of thousands of event channels, removing this as a limit on the number of VMs which can be started. This benefits cloud operating systems such as MirageOS, ErlangOnXen, OSv, HalVM, ... as well as disaggregated Xen systems in which drivers, services (e.g. Qemu, Tor, ...) and other functionality that would normally be run in Domain 0 can be run in a separate VM.

Experimental support for PVH mode for guests

PVH mode combines the best elements of HVM and PV into a mode which allows Xen to take advantage of many of the hardware virtualization features without needing the overhead of simulating devices of a physical computer. This will allow for increased efficiency, as well as reduced footprint in Linux and FreeBSD going forward.

More information on PVH: see https://www.linux.com/news/enterprise/systems-management/658784-the-spectrum-of-paravirtualization-with-xen-part-2 and

Improved support for SPICE

SPICE is a protocol for virtial desktops which allows a much richer connection than display-only protocols like VNC. Xen 4.4 adds support for additional SPICE functionality, including vdagent, clipboard sharing, and USB redirection.

GRUB 2 now supports PV xen images (external)

In the past, Xen required a custom implementation of GRUB called pvgrub. The upstream GRUB 2 (see http://www.gnu.org/software/grub/) project now has a build target which will construct a bootable PV xen image. This ensures 100% GRUB 2 compatibility for pvgrub going forward.

Indirect descriptors for block PV protocol (Linux)

Modern storage devices work much better with larger chunks of data. Indirect descriptors have allowed the size of each individual request to triple, greatly improving I/O performance when running on fast storage technologies like SSD and RAID. This support is available in any guest running Linux 3.11 or higher (regardless of Xen version).

Improved kexec for debug support

kexec functionality is primarily used when a crash happens, to allow a special kernel to come in afterwards and collect information about the cause of the crash, to allow developers to diagnose and fix the root cause.

Improved XAPI and Mirage OS support in Xen Project environment

XAPI and Mirage OS are sub-projects within the Xen Project written in OCaml. Both are also used in XenServer (see http://xenserver.org/) and rely on the Xen OCaml language bindings to operate well. These language bindings have had a major overhaul, and result in much better compatibility between XAPI, Mirage OS and Linux distros going forward.

Experimental support for Guest EFI boot

EFI is the new booting standard that is replacing BIOS. Some operating systems only boot with EFI; and some features, like SecureBoot, only work with EFI.

Improved ARM support for Xen Project Hypervisor

[TODO: clarify whether support has moved from tech preview to experimental or supported]. A number of new features have been implemented:

    • 64 bit Xen on ARM now supports booting guests
    • Physical disk partitions and LVM volumes can now be used to store guest images using xen-blkback (or is PV drivers better in terms of terminology)
    • Significant stability improvements across the board
    • ARM/multiboot booting protocol design and implementation in Xen and U-boot
    • PSCI support in Xen
    • Same DMA in Dom0 even with no hardware IOMMUs (not sure what the implications of this are)
    • ARM and ARM64 ABIs in Xen are declared stable and maintained for backwards compatibility
    • Significant usability improvements, such as automatic creation of guest device trees and improved handling of host DTBs.
    • Adding new hardware platforms to Xen on ARM has been vastly improved, making it easier for Hardware vendors and embedded vendors to port Xen on ARM to their board.
    • Xen on ARM now supports the Arndale board, Calxeda ECX-2000 (aka Midway), Applied Micro X-Gene Storm, TI OMAP5 and Allwinner A20/A30 boards [TODO: check with APM whether we can use this in a press release and whether there is more than Mustang support now].
    • ARM server class hardware (Calxeda Midway) has been introduced in the Xen OSSTest automated testing framework.


Updated to qemu 1.6 and SeaBIOS 1.7.3.1

Documentation

You can find Xen 4.4 documentation in the following two locations:

Acknowledgements

We wanted to thank the various contributors to Xen 4.4 : for a complete list of contributions check the Xen 4.4 Acknowledgements.

Downloads

Xen 4.4 (and update releases) can be downloaded from the 4.4 Download Archives.