Multikernel operating systems have historically focused on replica-based designs to create single system images (for example, Barrelfish, Popcorn Linux), but these approaches face fundamental challenges with dynamic resource management. This talk presents an alternative isolation-based multikernel architecture designed for practical cloud infrastructure deployment.
Architecture Overview
The system executes multiple independent Linux kernel instances on a single machine, each with dedicated CPU cores, memory regions, and I/O devices. Resource allocation is described via device trees and modified at runtime using device tree overlays. The implementation leverages existing Linux infrastructure including kexec_file_load() for kernel spawning, KHO (Kexec HandOver) for state transfer, and the hotplug subsystem for dynamic resource adjustment.
Key Technical Contributions
We address the dynamic resource management problem that limited earlier multikernel systems like Jailhouse's static partitioning model. Hardware queue isolation using AF_XDP enables near-native performance without SR-IOV virtualization. Inter-kernel communication uses IPI-based protocols for resource management operations.
Novel Applications
The parallel execution model enables zero-downtime kernel updates by running old and new kernel instances simultaneously and migrating processes incrementally, eliminating the atomic transition window required by systems like Live Update Orchestrator (LUO). The architecture also supports sub-second crash recovery through active-backup kernel configurations with continuous state replication.
This talk covers the architectural design, implementation details, and comparison with traditional virtualization and existing multikernel approaches.



