Elevator Pitch
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.
VirtIO Use Cases
Emulation
HALs
Cloud Native Development
Further Reading
Blog Posts
Meeting Archives
- 2022-11-11 Project Stratos Meeting notes
- 2022-10-28 Project Stratos Meeting notes
- 2022-10-14 Project Stratos Meeting notes
- 2022-09-30 Project Stratos Meeting notes
- 2022-08-03 Project Stratos Sync Meeting notes
About this project
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
VMM / “safeOS” on cortex-A
VMM / “safeOS” on cortex-M
in the hypervisor
in a stub domain
n “primary” VM (mobile)
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
Boot Orchestration
Written Standards for the hypercalls
Calendar
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.
Jira Links
All of the work is covered in Jira cards which you can view in the current sprint at the project home page and navigate from there: https://linaro.atlassian.net/jira/software/c/projects/STR/boards/145
Details
Sub pages focusing on Use cases
Contact
Mailing list: https://op-lists.linaro.org/mailman3/lists/stratos-dev.op-lists.linaro.org/
IRC: #linaro-virtualization on Freenode
Archives: https://op-lists.linaro.org/archives/list/stratos-dev@op-lists.linaro.org/
Linaro Ltd, 2020