Project Stratos was our pathfinder project looking to establish VirtIO as the standard interface between hypervisors, freeing a mobile, industrial or automotive platform to migrate between hypervisors and reuse the backend implementation. We helped upstream a number of VirtIO devices to the OASIS Specification as well front end drivers for the Linux Kernel. During the project we experimented with using Rust for backend implementations and eventually became maintainers of the Rust VMM vhost-device repository. The repository provides a number of vhost-user backends which we have run as backends for devices in guests running under a variety of hypervisors (pure QEMU emulation, KVM, Xen and Gunyah).
While Project Stratos itself has come to an end Linaro is still heavily invested in furthering VirtIO as a technology and will continue to work with it under the auspices of our other projects. We are keeping the project infrastructure up for reference as well as proving a useful place to share patches for the various projects that want to enable VirtIO.
There is a growing trend towards virtualization in areas other than the traditional server environment. The server environment is uniform in nature, but as we move towards a richer ecosystem in automotive, medical, general mobile and the IoT spaces, more device abstractions are needed, and way richer organizations are needed:
In the automotive world, devices as different as FM radio and CAN bus need to be abstracted
Virtual Machine Monitor (VMM) may need to become a certifiable entity with real-time capabilities
Some deployment models are based on “stub VMs” to deal with hardware and keep the hypervisor mostly out of hardware handling
In automotive, VMs can be as diverse as Android (IVI, Automotive Grade Linux (e-cockpit), Apertis (ADAS)
Guaranteed performance of IO is a critical enabler in any use case
The conclusions of member discussions related to the above topics are:
Mobile and automotive share in common a need to resolve several missing abstractions such as clocks, RPMB, FM radio…
There are gaps in interfaces between VMs and hypervisor to deal with guaranteed IO performance
Commercial offerings will dominate the market. Yet, there is a need to define clear interfaces so that there is no coupling between VM, hypervisor, hardware, VMM architecture.
Project Stratos is working towards developing hypervisor agnostic abstract devices leveraging virtio and extending hypervisor interfaces and standards to allow all architectures.
The four key areas of interest are
High-performance Virtio interfaces
Virtual Machine Monitors with a safety island
Written Standards for the hypercalls
We no longer have regular meetings for Stratos but we will add any upcoming open meetings discussing VirtIO to the calendar for ease of navigation. This calendar is displayed using UTC timezone with no DST offsets.