New Features in Xen Project 4.9 Provide Better Usability in Automotive and Embedded
The Linux Foundation | 28 June 2017
Updates include increased security to protect against QEMU compromises, features that lay the foundation for the next generation of cloud-native platforms, and more
SAN FRANCISCO, June 28, 2017 – The Xen Project, hosted at The Linux Foundation, today announced the release of Xen Project Hypervisor 4.9. The latest release focuses on advanced features for embedded, automotive and native-cloud-computing use cases, enhanced boot configurations for more portability across different hardware platforms, the addition of new x86 instructions to hasten machine learning computing, and improvements to existing functionality related to the ARM® architecture, device model operation hypercall, and more.
The Xen Project continues to see growth in embedded and automotive environments as more companies look to expand virtualization to embedded devices while continuing to reap the benefits of the hypervisor, including cost savings due to consolidation; abstraction of the hardware to allow applications to be decoupled from hardware specifics; and the benefit of hardware-based isolation to better protect against software defects and to contain failures. In addition, more contributions are beginning to lay the foundation for hypervisor features and benefits in cloud-native platforms.
“Contributions with the Xen Project have greatly expanded over the last few years, and we are seeing more companies participating in the project with an eye toward automotive, embedded, security, and native-cloud computing,” said Lars Kurth, Chairperson of the Xen Project Advisory Board. “We are very excited to see this engagement from a community standpoint as these additional contributors help the Xen Project progress in embedded, automotive and security, but also conversely help our more traditional stronghold environments like in server virtualization, Infrastructure as a Service, and desktop virtualization.”
Expanding Xen Project Features in Embedded and Automotive
- The “null” scheduler, which enables use cases where every virtual CPU can be assigned to a physical CPU scheduler overheads in automotive and embedded environments. Usage of the “null” scheduler guarantees near zero scheduling overhead, significantly lower latency, and more predictable performance.
- The new vwfi parameter for ARM (virtual Wait For Interrupt) allows fine-grained control of how the Xen Project Hypervisor handles WFI (Wait for Interrupt) instructions. Setting vwfi to “native” reduces interrupt latency by approximately 60%. Benchmarks on Xilinx® Zynq® Ultrascale+™ MPSoCs have shown a maximum interrupt latency of less than 2 microseconds, which is extremely close to hardware limits and small enough for the vast majority of embedded use cases.
- Xen 4.9 includes new standard ABIs for sharing devices between virtual machines (including reference implementations) for a number of embedded, automotive and cloud native computing use cases. For embedded/automotive a virtual sound ABI was added implementing audio playback and capture as well as volume control and the possibility to mute/unmute audio sources. In addition a new virtual display ABI for complex display devices exposing multiple framebuffers and displays has been added. Multi-touch support has been added to the virtual keyboard/mouse protocol (enabling touch screens).
Laying the Foundation for the Next Generation of Cloud-Native Computing
During the Xen 4.9 release cycle, a Xen 9pfs frontend was upstreamed in the Linux kernel and a backend in QEMU. It is now possible to share a filesystem from one virtual machine to another, which is a requirement for adding Xen Project support to many container engines, such as CoreOS rkt.
The PV Calls ABI has also been introduced to allow forwarding POSIX requests across guests: a POSIX function call originating from an app in a DomU can be forwarded and implemented in Dom0. For example, guest networking socket calls can be executed to Dom0, enabling a new networking model which is a natural fit for cloud-native apps.
Contributions for this release of the Xen Project hypervisor came from Amazon, AMD, Aporeto, ARM, BitDefender, Citrix, EPAM, Fujitsu, Huawei Technologies, Intel, Invisible Things Lab, Nokia, Oracle, Star Lab, Suse, Xilinx, Zentific, and a number of universities and individuals. The Xen Project continues to see contributions go up release after release. This release had 25% more contributors to the core hypervisor, and an increase of 17% of contributions coming from the hypervisor, tests, and other related components.
Additional new features and Improvements to existing functionality include:
- Boot Xen on EFI platforms using GRUB2 (x86): from Xen Project 4.9 and GRUB2 2.02 onwards, the Xen Project Hypervisor can be booted using the multiboot2 protocol on legacy BIOS and EFI x86 platforms. Partial support for the multiboot2 protocol was also introduced into network boot firmware (iPXE). This makes the Xen Project boot process much more flexible; boot configurations can be changed directly from within a bootloader (without having to use text editors) and boot configurations are more portable across different platforms.
- DMOP (Device Model Operation Hypercall): In Xen 4.9 the interface between Xen Project software and QEMU was completely re-worked and consolidated. There is now only a single hypercall in Xen (the DMOP hypercall) that is carefully designed to allow the privcmd driver to audit any QEMU memory ranges and parameters that are passed to Xen via DMOP. The Linux privcmd driver enables DMOP auditing, which significantly limits the capability of a compromised QEMU to attack the hypervisor.
- Alternative runtime patching and GICv3 support for ARM 32-bit guests: Alternative runtime patching
- System Error Detection (ARM): Xen on ARM made a step forward in reliability and serviceability with the introduction of System Error detection and reporting, a key feature for customers with highly available systems.
- Intel and x86 Feature Support: The latest version of the Xen Project hypervisor adds the support of Neural Network Instructions AVX512_4VNNIW and Multiply Accumulation Single precision AVX512_4FMAPS as subfamilies of AVX512 instruction sets. With these instructions enabled in Xen for both HVM and PV guests, programs in guest OSes can take full advantage of these important instructions to speed up machine learning computing. This Xen release also further enhances VT-d Posted Interrupt (PI) optimization, Machine Check Exception(MCE) handling, and more.
- GCOV support: We removed the old GCOV implementation and replaced it with an updated version that supports more formats and exposes a more generic interface.
Comments from Xen Project Users and Contributors
“PVCalls and Xen 9pfs lay the foundation for next generation of cloud-native platforms,” said Stefano Stabellini, virtualization architect at Aporeto. “They enable Xen Project software integration in container engines such as CoreOS rkt. More importantly, Xen Project software with PVCalls and 9pfs support will allow better, simpler protection for cloud-native apps because it provides security by default with a smaller overhead than traditional virtualization.”
“Xen plays an important role in the future of embedded systems and the next generation of data centers and cloud computing,” said Philippe Robin, Director of Open Source, ARM. “Performance, efficiency and reliability are fundamental attributes of the ARM architecture, and enabling lower interrupt latency and the inclusion of features to better support system error detection is a big step forward in improving reliability and serviceability, while maintaining the right levels of performance.”
“Native support of key peripherals is important to increase the Xen Project hypervisor footprint in the embedded systems domain,” said Alex Agizim, CTO Automotive & Embedded Systems, EPAM. “It is essential to isolate exposed and potentially vulnerable software from hardware and other mission-critical parts in cloud-connected devices. Standardized PV ABIs for sound, display and input provide a simple and reliable way to build a fully interactive digital cockpit solution for the connected vehicle. The latest Xen Project release encourages a wider adoption of the Xen Project Hypervisor in automotive, industrial and IoT applications.”
“Intel is committed to furthering open cloud and virtualization technologies to help data centers transform today’s massive amounts of data into meaningful insights,” said Imad Sousou, Vice President and General Manager, Intel Open Source Technology Center. “Working across the industry, Intel helps to ensure that open virtualization hypervisors, such as the Xen Project, are optimized for the latest Intel® platforms, delivering maximum flexibility, security and value.”
“We are continuing to see a need for low interrupt latency in both the embedded space as well as in traditional and native-cloud computing environments,” said Edgar Iglesias, principal engineer at Xilinx. “The Xen Project hypervisor continues to deliver features and improvements with each release to make it easier for us to create new programmable technology for next generation systems. Congratulations to all those that participated in the development of Xen Project 4.9 for creating another solid and essential release.”
Xen Project will be hosting its annual conference, Xen Project Developer and Design Summit from July 11 to July 13 in Hungary, Budapest. The conference brings together the Xen Project’s community of developers and power users to determine the future of the project and to share knowledge around best practices with the Xen Project in embedded, automotive, cloud, security environments and more.
Additional Resources
- Xen Project Hypervisor technical blog
- Xen Project Hypervisor version 4.9 download
About The Linux Foundation
The Linux Foundation is the world’s leading home for collaboration on open source software, hardware, standards, and data. Linux Foundation projects are critical to the world’s infrastructure including Linux, Kubernetes, Node.js, ONAP, OpenChain, OpenSSF, PyTorch, RISC-V, SPDX, Zephyr, and more. The Linux Foundation focuses on leveraging best practices and addressing the needs of contributors, users, and solution providers to create sustainable models for open collaboration. For more information, please visit us at linuxfoundation.org. The Linux Foundation has registered trademarks and uses trademarks. For a list of trademarks of The Linux Foundation, please see its trademark usage page: www.linuxfoundation.org/trademark-usage. Linux is a registered trademark of Linus Torvalds.