The Xen hypervisor, having been around for more than 15 years, has been instrumental in building virtualization and cloud as we know it today. But Xen isn’t only for enterprise-class data centers anymore. While Xen is core to many cloud platforms, it has been growing in other areas that move humanity forward through science and technology innovations and exploration. In fact, Xen has been used in embedded, automotive, defense, and other use cases in recent years. Some examples are QubesOS, an open-source security-oriented operating system meant for single-user desktop computing, and SecureView, which offers the ability for one computer to host multiple guest virtual machines (VMs) at varying classiﬁcation levels and connected to multiple networks, and related work spearheaded by EPAM.
DornerWorks, a firm providing electronics engineering expertise and solutions in a wide range of domains, announced it was starting its work with NASA and preparing the Xen Project Hypervisor for Space. DornerWorks was selected by NASA to work on the space agency’s Small Business Innovation (SBIR) program. Part of this work involves making Xen generally more useful to space programs.
What is the SBIR Project?
According to NASA, the SBIR program funds the research, development, and demonstration of innovative technologies provided by small businesses and universities. DornerWorks will specifically work on NASA’s High-Performance Space Computing Platform (HPSC) and High-Performance Processing Subsystem (HPPS) with the goal of supporting the platform’s ecosystem with tools and software components. This project provides open source contributions to the Xen project to make it a more attractive hypervisor solution within the HPSC ecosystem. The HPSC platform is targeted for Rovers, Landers, High Bandwidth Instruments, and SmallSat/Constellation missions.
At present, the processing capabilities used in the space program’s rockets are about a decade behind the commercially available tech. For hardware to be effective in space, it must go through radiation hardening, enhancing the hardware or developing the software, so that the intense radiation of space doesn’t affect performance. This is an expensive and time-consuming process, which explains the lag in upgrades versus what is commercially available. During the initial design phases, DornerWorks worked with NASA to remedy a portion of this challenge and will be using Xen as part of this solution.
Xen offers the benefits of being open-source, has a mature code base and community as well as has a lean codebase making it perfectly suited for embedded use cases. In addition, Xen is proven on ARMv8 architecture, which the High-performance Spaceflight Computing (HPSC) processor is based on. The Xen ARM community has made some great progress in areas like dom0-less boot, real-time performance, and these updates make Xen attractive to embedded applications.
The Benefits of Xen
The Xen Project has been a keystone for open source virtualization. DornerWorks has experienced the benefits through a robust and sizable community, specifically when it comes to ARMv8 virtualization. With more than 15 years under its belt, Xen is a mature, proven technology, and being open source is key. As DornerWorks completes phase 1, they had the freedom to use it without cost as well as the freedom to look in the code and change it as needed.
Where will DornerWorks take Xen for the SBIR program?
DornerWorks is investigating ways to improve the real-time, deterministic performance of Xen and trying to make Xen more attractive for space applications, in particular, HPSC. They are also adding support for a new real-time operating system (RTOS), called Real-Time Executive for Multiprocessor Systems (RTEMS), to run on Xen. RTEMS is commonly used by NASA and European Space Agency (ESA) in space probes.
DornerWorks has made several improvements to the ARINC653 scheduler which they are currently finishing up to submit to xen-devel. These improvements will address some known issues with the current implementation, improve determinism of the core scheduling loop, clean up the code to be better in line with the Xen coding style, and most importantly add support for CAST-32A (which is the ARICN653 version of multicore support).
While real-world applications are still being figured out, DornerWorks offers several possible use cases for Xen.
“My vision is the use of Xen to separate out mission-critical sub-systems (e.g. navigation, communications, power systems) from the scientific payloads (e.g. gathering and processing sensor data, compression of said data),” said embedded systems engineer for DornerWorks Jeff Kubascik. “Such a design would enable the mission team to deploy the scientific payloads while the craft is in flight without disturbing the mission-critical sub-systems (isolation).
“The use of Xen could allow the design to use a single processor for the entire craft, reducing size, weight, and power (SWAP) – something that would be invaluable for small cube satellites.”
Safety certification, Xen and SBIR
Throughout this work, DornerWorks is identifying ways to make a Xen-based software stack safety-certifiable. An important part of it is to replace Linux in Dom0 with a much smaller operating system. For instance, an RTOS like RTEMS could be used in Dom0. The primary focus is fault tolerance – it is important that the system is able to recover from errors. Xen could enable “mixed criticality” architectures, where mission-critical code is protected and isolated by the hypervisor. It would allow for “lower quality” scientific applications to be executed without jeopardizing the mission, speeding up development time and lowering costs.
About the Author
George Dunlap worked with the Xen project while a graduate student at the University of Michigan before receiving his PhD in 2006. He is currently acting community manager for the Xen Project, as well as acting chairman for the Xen Project Advisory Board. Before that, he was Principal Software Engineer for Citrix on the open-source Xen team in Cambridge, England. He has done work in many areas of Xen, including performance analysis, scheduling, and memory management. He writes technical articles regularly for the xenproject.org blog, and has had articles published in Linux.com.