ORCHIDE: Unikernels for Onboard Satellite Processing
MirageOS unikernels can now be built on Unikraft, through a toolchain that is public, installable through opam and still maintained.
A Horizon Europe project on running software safely aboard Earth observation satellites. Its unikernel toolchain is now part of MirageOS.
- Funder
- European Union
- Programme
- Horizon Europe
- Partners
- Thales Alenia Space France, Thales Romania, KP Labs, University Politehnica of Bucharest
- EU contribution to Tarides
- €511k
- Repositories upstreamed
- 4
The challenge
An Earth observation satellite collects far more data than it can send home. The downlink is narrow, the passes are short, and the instruments keep improving. So the processing has to move upwards, onto the spacecraft itself.
That turns a satellite into something closer to an edge computing site, and raises an awkward question: how do you deploy and update software on a machine you cannot touch, over a link that comes and goes, under a power budget and a hostile security model? The orchestration tools that exist were designed for data centres, where none of those constraints apply.
The approach
Unikernels suit this setting. A unikernel contains only the code the application actually needs, which makes it small, quick to start, and gives it very little attack surface.
Tarides worked on making MirageOS unikernels build on Unikraft, so that applications written in OCaml could be deployed on the kinds of hardware a satellite payload uses. The work was done in the open, alongside the Unikraft developers, and with our sister company Parsimoni, which builds SpaceOS.
The outcome
Four repositories were upstreamed into the MirageOS organisation and remain maintained today:
ocaml-unikraft, an OCaml cross-compiler that produces unikernels using Unikraft, distributed as opam packagesmirage-unikraft, the Unikraft core platform libraries for MirageOSmirage-net-unikraftandmirage-block-unikraft, the Unikraft implementations of the MirageOS network and block interfaces
The toolchain follows the Solo5 convention, so anyone who has built a Solo5 unikernel will recognise its shape, and it supports the QEMU and Firecracker backends. Samuel Hym wrote up how it works in this earlier post on Unikraft support for MirageOS unikernels.
The European Commission's Innovation Radar has since assessed the onboard platform work arising from the project as having high market creation potential.
The work continues. The CEOS project is building the satellite hardware that this software is intended to run on.
