Difference between revisions of "Xen 4.3 Feature List"

From Xen
m (Toolstack Improvements)
m (clarify 32bit and itanium removals)
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
{{ManualLayout|
{{Warning|This is a work in progress}}
 
  +
__TOC__
{{TODO|Fill these out based on [[Xen_Roadmap/4.3]] and [[Xen_4.3_Release_Notes]]. Also ensure that links containing '''4.3-testing''' and '''supported-xen-43-series''' exist.}}
 
  +
}}
   
 
= High Level Features =
 
= High Level Features =
   
See {{More|Xen Release Features|this table}} for a comparison of the feature sets of different Xen releases. Compatibility information can be found in the following two tables: {{More|:Category:Host Install|Host Operating Systems}} and {{More|:Category:Guest Install|Guest Operating Systems}}.
+
See [[Xen Release Features|this table]] for a comparison of the feature sets of different Xen releases. Compatibility information can be found in the following two tables: [[:Category:Host Install|Host Operating Systems]] and [[:Category:Guest Install|Guest Operating Systems]].
   
 
<em>Note that Linux Distributions and other operating systems, will upgrade to Xen 4.3 according to their own release schedules.</em>
 
<em>Note that Linux Distributions and other operating systems, will upgrade to Xen 4.3 according to their own release schedules.</em>
   
 
== ARM Support ==
 
== ARM Support ==
Xen 4.3 includes support for [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0048b/CACJEIAI.html ARMv7-A Virtualization Extensions] and the [http://www.arm.com/products/processors/armv8-architecture.php ARMv8] architecture. This support is classified as <em>Technology Preview</em> and is aimed at supporting ARM based servers when these are available. ARMv7 support has been validated on the Arndale Board, the Samsung XE303C12-A01 Chromebook, ARM Fast Models and the ARM Versatile Express. ARMv8 support has only been validated on ARM Fast Models. However, the Xen community is working with several ARM server hardware vendors to ensure that Xen will work with ARM servers, when these are available. {{More|Xen_ARM_with_Virtualization_Extensions}}
+
Xen 4.3 includes support for [http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0048b/CACJEIAI.html ARMv7-A Virtualization Extensions] and the [http://www.arm.com/products/processors/armv8-architecture.php ARMv8] architecture. This support is classified as <em>Technology Preview</em> and is aimed at supporting ARM based servers when these are available.
  +
* ARMv7 support has been validated on the Arndale Board, the Samsung XE303C12-A01 Chromebook, ARM Fast Models and the ARM Versatile Express.
  +
* ARMv8 support has only been validated on ARM Fast Models. However, the Xen community is working with several ARM server hardware vendors to ensure that Xen will work with ARM servers, when these are available. {{More|Xen_ARM_with_Virtualization_Extensions}}
   
 
== Performance and Scalability Enhancements ==
 
== Performance and Scalability Enhancements ==
  +
* NUMA scheduler affinity has led to significant performance improvements on NUMA hardware.
NUMA scheduler affinity has led to significant performance improvements on NUMA hardware. Scalability improvements increased support for physical RAM on hosts from <em>5TB</em> to <em>16TB</em> of RAM. A tool stack bottleneck limitation to 300 virtual CPUs was removed and Xen 4.3 has been tested for up to 750 virtual CPUs. With block protocol scalability improvements, users will see significant improvement in read/write performance and throughput with more than 6 guests on a single host. {{More|Xen 4.3 NUMA Aware Scheduling|More on NUMA ...}} {{More|Xen 4.3 Block Protocol Scalability|More on Block Protocol Scalability ...}}
 
  +
* Scalability improvements increased support for physical RAM on hosts from <em>5TB</em> to <em>16TB</em> of RAM.
  +
* A tool stack bottleneck limitation to 300 virtual CPUs was removed and Xen 4.3 has been tested for up to 750 virtual CPUs. With block protocol scalability improvements, users will see significant improvement in read/write performance and throughput with more than 6 guests on a single host.
  +
  +
{{More|Xen 4.3 NUMA Aware Scheduling|More on NUMA ...}} {{More|Xen 4.3 Block Protocol Scalability|More on Block Protocol Scalability ...}}
   
 
== Improved Security ==
 
== Improved Security ==
Besides including the latest [[Security_Announcements|security fixes]] (up to XSA 55), Xen 4.3 contains major improvements to it advanced security features ({{More|Securing_Xen|More on Xen and Security}}):
+
Besides including the latest [[Security_Announcements|security fixes]] (up to XSA 55), Xen 4.3 contains major improvements to it advanced security features.
 
* '''vTPM Enhancements''': Xen 4.3’s virtual Trusted Platform Module (vTPM) subsystem has been extended to enable guest operating systems to more easily interact with it. Each guest now has access to unique emulated software but can only access keys that are released by a special vTPM manager domain. {{More|Virtual Trusted Platform Module (vTPM)}}
 
* '''vTPM Enhancements''': Xen 4.3’s virtual Trusted Platform Module (vTPM) subsystem has been extended to enable guest operating systems to more easily interact with it. Each guest now has access to unique emulated software but can only access keys that are released by a special vTPM manager domain. {{More|Virtual Trusted Platform Module (vTPM)}}
* The scope of the XSM/Flask security subsystem has been extended to cover both privileged and unprivileged APIs. This allows organizations like the NSA to further enhance Xen Project’s security by breaking down the control domain into smaller, compartmentalized units. {{More|Xen Security Modules : XSM-FLASK}}
+
* The scope of the '''XSM/Flask security subsystem''' has been extended to cover both privileged and unprivileged APIs. This allows organizations like the NSA to further enhance Xen Project’s security by breaking down the control domain into smaller, compartmentalized units. {{More|Xen Security Modules : XSM-FLASK}}
  +
{{More|Securing_Xen|More on Xen and Security ...}}.
   
 
== Upstream QEMU ==
 
== Upstream QEMU ==
QEMU Upstream is now the <em>default</em> for Virtual Machines that do not use [[Device_Model_Stub_Domains|Stub Domains]]. You can revert to <em>QEMU traditional</em> by adding
+
QEMU Upstream is now the <em>default</em> for Virtual Machines that do not use [[Device_Model_Stub_Domains|stub domains]]. You can revert to <em>QEMU traditional</em> by adding
 
device_model_version = "qemu-xen-traditional"
 
device_model_version = "qemu-xen-traditional"
 
to your [http://xenbits.xen.org/docs/4.3-testing/man/xl.cfg.5.html config file]. QEMU upstream now supports:
 
to your [http://xenbits.xen.org/docs/4.3-testing/man/xl.cfg.5.html config file]. QEMU upstream now supports:
Line 27: Line 35:
 
* And enables dirtybit tracking during VM migration
 
* And enables dirtybit tracking during VM migration
 
'''Restrictions''':
 
'''Restrictions''':
* QEMU upstream does <em>not</em> yet work with stub domains. Stub domains will still be created with qemu-traditional.
+
* QEMU upstream does <em>not</em> yet work with [[Device_Model_Stub_Domains|stub domains]]. Stub domains will still be created with qemu-traditional.
  +
{{More|QEMU_Upstream}}
   
 
== Toolstack Improvements ==
 
== Toolstack Improvements ==
 
A number of additional features have been added to [[XL]] in Xen 4.3
 
A number of additional features have been added to [[XL]] in Xen 4.3
* [[XL]] now accept several USB devices, rather than only one. You can use the following syntax:
+
* [[XL]] now accept '''several USB devices''', rather than only one. You can use the following syntax:
 
: <pre>usbdevice=["device1","device2",...]</pre>
 
: <pre>usbdevice=["device1","device2",...]</pre>
 
: The old format is still supported.
 
: The old format is still supported.
* [http://openvswitch.org/ Open vSwitch] hot-plug script support has been added as <em>Experimental Feature</em> to Xen 4.3 {{More|Xen_Networking#Open_vSwitch}} {{More|http://wiki.xen.org/wiki/Network_Configuration_Examples_(Xen_4.1%2B)#Openvswitch|Example Configuration ...}}
+
* '''[http://openvswitch.org/ Open vSwitch]''' hot-plug script support has been added as <em>Experimental Feature</em> to Xen 4.3 {{More|Xen_Networking#Open_vSwitch}} {{More|Network_Configuration_Examples_(Xen_4.1%2B)#Openvswitch|Example Configuration ...}}
  +
* <code>xl reboot</code> now accepts the <code>-w</code> option to wait for a VM to reboot
  +
* <code>xl shutdown</code> now accepts the <code>--all</code> option, to shut down all VMs
  +
* xl [http://xenbits.xen.org/docs/4.3-testing/man/xl.cfg.5.html domain config] files now accept a <code>vga</code> parameter to switch between stgvga and cirrus, as well as improved <code>videoram</code> settings. See the [http://xenbits.xen.org/docs/4.3-testing/man/xl.cfg.5.html xl.cfg man page] for more details.
  +
* xl [http://xenbits.xen.org/docs/4.3-testing/man/xl.conf.5.html host config] file now accepts more default values for <code>vif</code> parameters, including <code>gatewaydev</code>, <code>script</code>, and <code>bridge</code>
  +
* xl now supports [[Storage_driver_domains|storage driver domains]] (see [http://xenbits.xen.org/docs/4.3-testing/misc/xl-disk-configuration.txt xl disk configuration])
   
 
== Usability improvements ==
 
== Usability improvements ==
Line 40: Line 54:
   
 
== Power Efficiency ==
 
== Power Efficiency ==
Xen 4.3's cpuidle infrastructure now uses the MWAIT extension for all the processors that support it (modern Intel chips, i.e., Sandy Bridge, Ivy Bridge and later). This improves Xen Project’s power efficiency on those processors.
+
Xen 4.3's '''cpuidle infrastructure''' now uses the MWAIT extension for all the processors that support it (modern Intel chips, i.e., <em>Sandy Bridge</em>, <em>Ivy Bridge</em> and later). This improves Xen Project’s power efficiency on those processors.
   
 
== Tools ==
 
== Tools ==
 
In Xen 4.3 the [[Xen_Serial_Console|Serial Console]] was extended to support [http://www.coreboot.org/EHCI_Debug_Port EHCI debug ports].
 
In Xen 4.3 the [[Xen_Serial_Console|Serial Console]] was extended to support [http://www.coreboot.org/EHCI_Debug_Port EHCI debug ports].
  +
  +
== Hardware support ==
  +
There has been a lot of hardware support added:
  +
* Intel hardware virtualization for APIC (vAPIC)
  +
* Support for newer VIA cpus
  +
* Page offline recovery for AMD
  +
* Enable WC+ memory type on AMD Family 10 processors
  +
* xen: introduce generic framebuffer driver
  +
* ACPI v5 support
  +
* Miscellaneous fixes in serial console
  +
  +
== Guest visible features ==
  +
* Virtual Machine Check (vMCE) support; now memory errors in host memory can be passed into the guest to be handled gracefully
  +
* "TSC adjust" MSRs, for increased flexibility
  +
* Support for 64-bit BAR space and devices with large BARs
  +
* HVM firmware pass-through support
  +
* Improved vPMU support for AMD and Intel processors, supporting better guest profiling options
  +
* Windows "generation ID" device, for better Viridian support
  +
  +
== Tracing and debugging improvements ==
  +
Tracing is used mainly by developers to debug and optimize Xen. Additions include:
  +
* Break down PV trace records into different subcategories
  +
* Improve hypercall tracing
  +
* Trace hypercalls w/in a multicall
  +
* Per-scheduler trace events
  +
* gcov support, for analyzing test coverage
  +
  +
== Other features and improvements ==
  +
* Remove x86 32-bit and ia64 (itanium) hypervisors. 32bit VMs, including 32bit dom0, are still supported on a x86_64 64bit hypervisor.
  +
* Many other scheduling improvements
  +
* ext4 support for pygrub in CentOS 5
  +
* Improved asynchronous interface for libxl
  +
* dom0_max_vcpus more expressive
  +
* Improvements to minios functionality
  +
* Allow a VM to map iomem directly
  +
* Update to SeaBIOS 1.7.1
  +
* XENMEM_claim_pages hypercall
  +
* New hotplug script implementation for dom0
   
 
= Documentation =
 
= Documentation =
 
You can find Xen 4.3 documentation in the following two locations:
 
You can find Xen 4.3 documentation in the following two locations:
* {{More|Xen_4.3_Release_Notes|Xen 4.3 Release Notes}}
+
* [[Xen_4.3_Release_Notes|Xen 4.3 Release Notes]]
* {{More|Xen_4.3_Man_Pages|Xen 4.3 Man Pages}}
+
* [[Xen_4.3_Man_Pages|Xen 4.3 Man Pages]]
* {{More|:Category:Xen 4.3|Articles and tutorials related to new functionality in Xen 4.3}}
+
* [[:Category:Xen 4.3|Articles and tutorials related to new functionality in Xen 4.3]]
   
 
= Acknowledgements =
 
= Acknowledgements =
We wanted to thank the various contributors to Xen 4.3 : for a complete list of contributions check the {{More|Xen_4.3_Acknowledgements|Xen 4.3 Acknowledgements}}.
+
We wanted to thank the various contributors to Xen 4.3 : for a complete list of contributions check the [[Xen_4.3_Acknowledgements|Xen 4.3 Acknowledgements]].
   
 
= Downloads =
 
= Downloads =

Latest revision as of 14:34, 10 July 2013

Book Help Manual Search.png

 

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.3 according to their own release schedules.

ARM Support

Xen 4.3 includes support for ARMv7-A Virtualization Extensions and the ARMv8 architecture. This support is classified as Technology Preview and is aimed at supporting ARM based servers when these are available.

  • ARMv7 support has been validated on the Arndale Board, the Samsung XE303C12-A01 Chromebook, ARM Fast Models and the ARM Versatile Express.
  • ARMv8 support has only been validated on ARM Fast Models. However, the Xen community is working with several ARM server hardware vendors to ensure that Xen will work with ARM servers, when these are available. More Info ...

Performance and Scalability Enhancements

  • NUMA scheduler affinity has led to significant performance improvements on NUMA hardware.
  • Scalability improvements increased support for physical RAM on hosts from 5TB to 16TB of RAM.
  • A tool stack bottleneck limitation to 300 virtual CPUs was removed and Xen 4.3 has been tested for up to 750 virtual CPUs. With block protocol scalability improvements, users will see significant improvement in read/write performance and throughput with more than 6 guests on a single host.

More on NUMA ... More on Block Protocol Scalability ...

Improved Security

Besides including the latest security fixes (up to XSA 55), Xen 4.3 contains major improvements to it advanced security features.

  • vTPM Enhancements: Xen 4.3’s virtual Trusted Platform Module (vTPM) subsystem has been extended to enable guest operating systems to more easily interact with it. Each guest now has access to unique emulated software but can only access keys that are released by a special vTPM manager domain. More Info ...
  • The scope of the XSM/Flask security subsystem has been extended to cover both privileged and unprivileged APIs. This allows organizations like the NSA to further enhance Xen Project’s security by breaking down the control domain into smaller, compartmentalized units. More Info ...

More on Xen and Security ....

Upstream QEMU

QEMU Upstream is now the default for Virtual Machines that do not use stub domains. You can revert to QEMU traditional by adding

device_model_version = "qemu-xen-traditional"

to your config file. QEMU upstream now supports:

  • PCI Passthrough
  • XL cd-{insert,eject}
  • And enables dirtybit tracking during VM migration

Restrictions:

  • QEMU upstream does not yet work with stub domains. Stub domains will still be created with qemu-traditional.

More Info ...

Toolstack Improvements

A number of additional features have been added to XL in Xen 4.3

  • XL now accept several USB devices, rather than only one. You can use the following syntax:
usbdevice=["device1","device2",...]
The old format is still supported.

Usability improvements

Xen 4.3 now installs into /usr/local by default.

Power Efficiency

Xen 4.3's cpuidle infrastructure now uses the MWAIT extension for all the processors that support it (modern Intel chips, i.e., Sandy Bridge, Ivy Bridge and later). This improves Xen Project’s power efficiency on those processors.

Tools

In Xen 4.3 the Serial Console was extended to support EHCI debug ports.

Hardware support

There has been a lot of hardware support added:

  • Intel hardware virtualization for APIC (vAPIC)
  • Support for newer VIA cpus
  • Page offline recovery for AMD
  • Enable WC+ memory type on AMD Family 10 processors
  • xen: introduce generic framebuffer driver
  • ACPI v5 support
  • Miscellaneous fixes in serial console

Guest visible features

  • Virtual Machine Check (vMCE) support; now memory errors in host memory can be passed into the guest to be handled gracefully
  • "TSC adjust" MSRs, for increased flexibility
  • Support for 64-bit BAR space and devices with large BARs
  • HVM firmware pass-through support
  • Improved vPMU support for AMD and Intel processors, supporting better guest profiling options
  • Windows "generation ID" device, for better Viridian support

Tracing and debugging improvements

Tracing is used mainly by developers to debug and optimize Xen. Additions include:

  • Break down PV trace records into different subcategories
  • Improve hypercall tracing
  • Trace hypercalls w/in a multicall
  • Per-scheduler trace events
  • gcov support, for analyzing test coverage

Other features and improvements

  • Remove x86 32-bit and ia64 (itanium) hypervisors. 32bit VMs, including 32bit dom0, are still supported on a x86_64 64bit hypervisor.
  • Many other scheduling improvements
  • ext4 support for pygrub in CentOS 5
  • Improved asynchronous interface for libxl
  • dom0_max_vcpus more expressive
  • Improvements to minios functionality
  • Allow a VM to map iomem directly
  • Update to SeaBIOS 1.7.1
  • XENMEM_claim_pages hypercall
  • New hotplug script implementation for dom0

Documentation

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

Acknowledgements

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

Downloads

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