Xen 4.2 Feature List: Difference between revisions

From Xen
Jump to navigationJump to search
No edit summary
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Info|This is a preliminary list of Xen 4.2 features}}

== Other Xen Releases ==
== Other Xen Releases ==


Line 8: Line 6:


* Security:
* Security:
** Support for Intel Supervisor Mode Execution Protection (SEMP), which prevents the execution of usermode pages by the Xen hypervisor, making many application-to-hypervisor exploits much harder.
** Support for Intel Supervisor Mode Execution Protection (SMEP), which prevents the execution of usermode pages by the Xen hypervisor, making many application-to-hypervisor exploits much harder.
** Various Xen Security Modules ([[XSM]]) / Flask improvements. The XSM framework and the Xen Flask security module is an application of the [http://www.cs.utah.edu/flux/fluke/html/flask.html Flask] architecture to the Xen hypervisor.
** Various Xen Security Modules ([[XSM]]) / Flask improvements. The XSM framework and the Xen Flask security module is an application of the [http://www.cs.utah.edu/flux/fluke/html/flask.html Flask] architecture to the Xen hypervisor.
* Scalability:
* Scalability:
Line 44: Line 42:
*** Improved support for PCI pass-through (see "[[Xen_4.2:_xl_and_pci_pass-through|Xen 4.2: XL and PCI pass-through]]")
*** Improved support for PCI pass-through (see "[[Xen_4.2:_xl_and_pci_pass-through|Xen 4.2: XL and PCI pass-through]]")
*** NetBSD support
*** NetBSD support
*** Support for more intelligent NUMA placement of guest VCPUs. Plus support in the [[Xen_4.2:_cpupools|cpupools]] subsystem for creating a pool per NUMA node.
* libxl improvements
* libxl improvements
** The libxl API is now stable.
** The libxl API is now stable.
Line 50: Line 49:
*** Improved event handling subsystem.
*** Improved event handling subsystem.
* Remus compression (compression of memory image improves performance)
* Remus compression (compression of memory image improves performance)
* XenStored
* Prefer oxenstored when available. Oxenstored is faster, more scalable and more reliable than the C xenstored. In particular the transaction model in oxenstored does not involve taking a complete copy of the database and aborting on any (even non-conflicting) other change. For more detail on the design, implementation and a performance comparison see [http://gazagnaire.org/pub/GH09.pdf this paper].
** Default to oxenstored when available. Oxenstored is faster, more scalable and more reliable than the C xenstored. In particular the transaction model in oxenstored does not involve taking a complete copy of the database and aborting on any (even non-conflicting) other change. For more detail on the design, implementation and a performance comparison see [http://gazagnaire.org/pub/GH09.pdf this paper].
** Support for xenstored (C version only) in a stubdomain, improving scalability and security.
* Support for upstream qemu
* Support for upstream qemu
** Used by default when required for PV guests (e.g. qdisk backend or VFB support)
** Used by default when required for PV guests (e.g. qdisk backend or VFB support)
** Optional for use with HVM guests.
** Optional tech preview for use with HVM guests. Missing features:
*** PCI Passthrough.
*** Live Migration support.
* Initial support for using OVMF UEFI firmware with HVM guests (requires upstream qemu)
* Added <tt>libvchan</tt> interdomain communication library.
* Added <tt>libvchan</tt> interdomain communication library.


=== Xen ===
=== Xen ===
* Improvements to paging and sharing, enabling higher VM density for VDI use-cases
* EFI (extensible Firmware Interface) support for hypervisor. Allows Xen to boot on machines which use EFI rather than a traditional BIOS
* EFI (extensible Firmware Interface) support for hypervisor. Allows Xen to boot on machines which use EFI rather than a traditional BIOS
* Support up to 4095 Host CPUs for 64 bit h/v (from 256)
* Support up to 4095 Host CPUs for 64 bit h/v (from 256)
Line 74: Line 77:
** sched_ratelimit_us
** sched_ratelimit_us
** tslice_ms
** tslice_ms
* AMD OSVW (OS Visible Workarounds): Disables OS workarounds for hardware errata which are not necessary to workaround in guests because it is handled at the host level.
* [[Xen_4.2:_cpupools|cpupools]]
* Early boot time CPU microcode patching. Xen can supplied with the microcode image by the bootloader (see the <tt>ucode</tt> [http://xenbits.xen.org/docs/4.2-testing/misc/xen-command-line.html command line option]) and load it early rather than relying on the domain 0 kernel to supply it later.
* Improvements to paging and sharing, enabling higher VM density for VDI use-cases
** Heavily reworked page sharing. This remains a tech preview though due to limited tools support.
* Enhanced memaccess interfaces allowing increased introspection of guest memory by tools.
* Initial support for nested virtualisation. This allows HVM guests access to hardware virtualisation features such that they can run their own hypervisor.


=== Removed Functionality ===
=== Removed Functionality ===

Latest revision as of 12:04, 17 December 2012

Other Xen Releases

See Xen Release Features for a comparison of the featureset of different Xen releases.

High Level features

  • Security:
    • Support for Intel Supervisor Mode Execution Protection (SMEP), which prevents the execution of usermode pages by the Xen hypervisor, making many application-to-hypervisor exploits much harder.
    • Various Xen Security Modules (XSM) / Flask improvements. The XSM framework and the Xen Flask security module is an application of the Flask architecture to the Xen hypervisor.
  • Scalability:
    • Increased VM density for VDI use-cases
    • Up to 4095 Host CPUs for 64 bit hypervisor
    • Up to 5TB host memory support for 64 bit hypervisor
    • Up to 512 VCPUs per PV VM and 256 VCPUs per HVM VM
    • Support for multiple PCI segments
    • Prefer oxenstored when present
  • Performance
    • AMD SVM DecodeAssist support
    • Scheduler improvements
  • EFI boot support for hosts using the 64 bit hypervisor
  • XL improvements, XEND is formally deprecated
  • Documentation improvements (e.g. man pages)
  • RAS:
    • Enhanced MCA support to include more failure types
    • APEI support (ACPI Platform Error Interface)

Detailed List

General

Tools

  • XL is now default toolstack and XEND is formally deprecated
    • For a feature comparison between XL and XEND see "XL vs Xend Feature Comparison".
    • lots of XL improvements, e.g.
      • More complete support for toolstack operations. Includes all basic and day to day functionality and many advanced features.
      • Support for Network driver domains in XL
      • Improved support for PCI pass-through (see "Xen 4.2: XL and PCI pass-through")
      • NetBSD support
      • Support for more intelligent NUMA placement of guest VCPUs. Plus support in the cpupools subsystem for creating a pool per NUMA node.
  • libxl improvements
    • The libxl API is now stable.
    • The libxl featureset has been greatly expanded:
      • Long running operations can now be done asynchronously.
      • Improved event handling subsystem.
  • Remus compression (compression of memory image improves performance)
  • XenStored
    • Default to oxenstored when available. Oxenstored is faster, more scalable and more reliable than the C xenstored. In particular the transaction model in oxenstored does not involve taking a complete copy of the database and aborting on any (even non-conflicting) other change. For more detail on the design, implementation and a performance comparison see this paper.
    • Support for xenstored (C version only) in a stubdomain, improving scalability and security.
  • Support for upstream qemu
    • Used by default when required for PV guests (e.g. qdisk backend or VFB support)
    • Optional tech preview for use with HVM guests. Missing features:
      • PCI Passthrough.
      • Live Migration support.
  • Initial support for using OVMF UEFI firmware with HVM guests (requires upstream qemu)
  • Added libvchan interdomain communication library.

Xen

  • EFI (extensible Firmware Interface) support for hypervisor. Allows Xen to boot on machines which use EFI rather than a traditional BIOS
  • Support up to 4095 Host CPUs for 64 bit h/v (from 256)
  • Support for dom0 kernels compressed with xz
  • Per-device interrupt remapping (increases scalability)
  • Support for PVHVM guest direct physical IRQ injection (improves performance for PCI passthrough to Linux Guests)
  • Intel SMEP (Supervisor Mode Execution Protection) support
  • Multiple PCI segment support
  • Added xsave support (support for newer floating point hardware features)
  • Lots of XSM / Flask fixes (security)
  • AMD SVM "DecodeAssist" support (AMD CPU feature that avoids emulation and increases performance)
  • RAS:
    • Enhanced MCA support to include more failure types
    • APEI support (ACPI Platform Error Interface)
  • Credit Scheduler tuning parameters:
    • sched_ratelimit_us
    • tslice_ms
  • AMD OSVW (OS Visible Workarounds): Disables OS workarounds for hardware errata which are not necessary to workaround in guests because it is handled at the host level.
  • Early boot time CPU microcode patching. Xen can supplied with the microcode image by the bootloader (see the ucode command line option) and load it early rather than relying on the domain 0 kernel to supply it later.
  • Improvements to paging and sharing, enabling higher VM density for VDI use-cases
    • Heavily reworked page sharing. This remains a tech preview though due to limited tools support.
  • Enhanced memaccess interfaces allowing increased introspection of guest memory by tools.
  • Initial support for nested virtualisation. This allows HVM guests access to hardware virtualisation features such that they can run their own hypervisor.

Removed Functionality

  • ACM (alternative XSM to Flask) was removed (unmaintained)
  • Removed vnet (unmaintained)
  • The IA64 port was removed (unmaintained)

Deprecated Functionality

  • The XEND toolstack is now deprecated.

Xen Development Support

  • Can build with clang
  • Added "make deb" target
  • Lots of xentrace improvements
  • update ocaml bindings and make them usable by xapi (which previously had it's own fork of the same codebase)

Also See

  • Category:Xen 4.2 - Contains articles and tutorials related to new functionality in Xen 4.2