Live Updating Unikernels
📜 Abstract
Unikernels are low-footprint virtual machines, often written in low-level or unmanaged programmed languages such as C or OCaml. They are used to construct cloud services due to their fast boot times, low resource footprints and strong isolation. Today, unikernel systems require stopping the server to perform software updates, which harms availability. Solutions such as migrating pre-forked processes have been explored, but these are unsuitable for unikernels. We present a framework for live-updating unikernels, which combines compile- and link-time feedback with a low-overhead migration mechanism. We demonstrate that this approach can achieve downtime on par with process live-patching, while retaining the resource savings of unikernels. Our approach is application-agnostic, supporting a range of unikernel applications with no code changes required, and is demonstrated with MirageOS and Rumprun.
✨ Summary
The paper “Live Updating Unikernels” by Thomas Joergersen et al. focuses on addressing the challenge of updating unikernels without incurring significant downtime, which is critical in cloud computing environments. Unikernels are an appealing choice for cloud services due to their efficiency and isolation, yet updating them traditionally requires stopping the entire service. The authors propose a novel framework that enables live updating by combining compile-time optimization with low-overhead migration mechanisms. This framework aims to maintain the efficiency of unikernels while introducing minimal downtime comparable to process live-patching.
A review of recent literature and web sources did not yield any direct references or applications citing this particular paper. This may indicate that while the paper addresses an important issue within the domain of unikernels, its adoption or influence in further academic research or industry practices might still be limited or ongoing. Such contributions can take time to be referenced as they get integrated into complex systems.
In summary, this paper contributes to advancing the practicality and maintainability of unikernel-based cloud infrastructure by providing a method to seamlessly update live systems, potentially improving uptime and security in production environments.