The Problem With Satellites That Cannot Process Their Own Data
Current earth observation satellites work sequentially. A sensor captures data, compresses it, stores it in mass memory, and waits for a ground visibility window to transmit. New-generation instruments generate high-resolution, multiband images that can run hundreds of megabytes per capture. The downlink bandwidth cannot keep up. Data sits on board losing value before it ever reaches the ground. Software is also tightly coupled to hardware, so updating it after launch is not possible.
ORCHIDE: A Five-Partner Consortium Building an Onboard Orchestrator
ORCHIDE, which expands to Orchestration of Reliable Computing on Heterogeneous Infrastructure Deployed at the Edge, is a European project built by Thales Alenia Space France, UPB, Thales Romania, KP Labs, and Tidas. The goal is an orchestrator that schedules AI workloads directly on satellite hardware. A ground-side SDK lets developers package and simulate applications before upload. A management framework retrieves metrics and logs from the satellite. The project targets TRL 6 with a demonstrator already running.
Unikernels, K3S, and a Custom Accelerator Interface
Unikernels compile a purpose-built kernel together with application code and run inside a virtual machine under QEMU or Solo 5. The resulting binary fits in tens to hundreds of megabytes, smaller than standard OCI images. ORCHIDE selected Mirage OS and Unicraft after benchmarking, and uses UR as the container runtime because it supports both frameworks on x86 and ARM64. K3S runs the cluster because benchmarks showed it faster and lighter than alternatives. For GPU and FPGA acceleration, the team built ukAxel, a TCP interface that offloads inference jobs from unikernels without requiring dynamic linking.
How a Mission Plan Becomes an Executed Workflow
A mission plan uploaded to the satellite lists timestamped events, which sensor fires, whether ground visibility exists, and which AI workflows run for each acquisition. When the camera captures an image, the file lands in EOSh, the distributed POSIX file system mounted across all nodes. The mission manager converts the plan into an Argo Workflow priority queue. Argo triggers K3S, which starts UR on the correct compute node. QEMU launches the unikernel. If acceleration is needed, the unikernel makes a TCP call to ukAxel, which runs inference and returns results.
Onboard Processing Shrinks Downlink from Images to Text
A cloud-detection pass deletes cloudy frames before any other processing runs. A ship-detection pass transmits only coordinates, not the raw image. Input files from multiband cameras are hundreds of megabytes. Output files are text or object annotations, a different order of magnitude. Sending processed results instead of raw imagery makes the downlink tractable within a limited ground-visibility window. The same satellite can also be reprogrammed for different missions, fire detection one week and maritime surveillance the next, by uploading a new application package.
Q&A
Does ORCHIDE have a recovery strategy for failures onboard? Recovery is not yet in scope for the demonstrator, but KP Labs is working on a parallel recovery approach embedded in Linux with Yocto. ▶ 24:08
How does ORCHIDE handle the slow or unreliable uplink to the satellite? The team targets low and medium orbits and keeps packages lightweight, which requires less uplink bandwidth than transmitting raw acquired data. ▶ 24:48
When will ORCHIDE source code be public? The project will be open-sourced at end of May or beginning of June. ▶ 27:47
How are Kubernetes cluster upgrades handled in orbit? The plan is to embed upgrades with the Linux image and re-upload the new version during a ground contact window. ▶ 25:23
Notable Quotes
the instrument generate uh huge data actually and uh and uh for the ground visibility it’s not in us to to send all the acquired data Adele Karam Hankache · ▶ 29:41
You can imagine that the input files now from the camera are hundreds of megabytes. We’re talking multiband pictures and the output now it’s going to be files which are going to be output files like ships are here or something like that. Sergiu Weisz · ▶ 30:12
we have chosen two um two frameworks for running uni kernels. These are Mirage OS and Unicraft. Based on our benchmarks and the usability that they offer, they are the best suited for our project. Sergiu Weisz · ▶ 13:42
So we have implemented an our own project called ukaxel. This offers a TCP interface for uni kernels which a uni kernel can call it and it can offload the job for that needs to be accelerated. Sergiu Weisz · ▶ 15:22
Key Takeaways
- ORCHIDE runs K3S, Argo Workflows, and unikernels directly inside a satellite to process imagery onboard.
- The custom ukAxel TCP interface lets unikernels offload inference to GPUs and FPGAs without dynamic linking.
- Onboard ship or cloud detection reduces downlinks from hundreds-of-megabyte images to text coordinate files.
About the Speaker(s)
Adele Karam Hankache is a Solution Architect at Thales Alenia Space, leading the European ORCHIDE project on cloud-native, unikernel-based orchestrators for space onboard systems, AI workloads, and satellite image processing.
Sergiu Weisz is an Assistant Professor at POLITEHNICA Bucharest in the Computer Science and Engineering Department. He is a SysDevOps engineer, a contributor to the ALICE experiment’s grid management software, and a member of the ORCHIDE project team.