Reboot-Based Recovery of Unikernels at the Component Level

Takeru Wada, Hiroshi Yamada · 2024

The unikernel is a library operating system (OS) where OS functions are linked to the target applications. Making the unikernel layer as reliable as possible is mandatory because it controls the linked application's execution. However, like commodity OS kernels, the unikernel suffers from software bugs and non-deterministic hardware failures. The current standard for recovering a failed unikernel is reboot-based and it involves restarting the whole unikernel-linked application, which leads to service stops and long downtimes. This paper presents VampOS that performs efficient reboot-based recovery of the unikernel layer. VampOS forces the unikernel components to interact with each other in a message-passing manner to restart only the damaged one while keeping the others and the application running. We prototyped VampOS on Unikraft 0.8.0 and QEMU 6.1.50. The experimental results show that the prototypes for four applications effectively recover the failed components with almost zero downtime.

Read the paper · More papers on PaperTik