[en] Unikernels are specialized, single-address-space operating systems (OSes) tailored to specific applications. They offer strong isolation, low memory/disk footprints, and fast startup times-making them well-suited for cloud and serverless computing. However, deploying many of them at scale in cloud environments introduces new challenges. In particular, managing library updates and versioning in statically linked unikernels is difficult due to their tightly coupled structure. Unlike dynamically linked binaries, statically linked unikernels lack built-in versioning mechanisms. Consequently, even minor library changes result in entirely new memory layouts, which can significantly increase memory consumption when multiple instances run concurrently.
We present Spacer-∆, a framework that improves memory sharing across statically linked unikernels with different library versions. Spacer-∆ uses differential analysis and library alignment to enable page-level sharing via memory deduplication scanners or a custom loader backed by a shared library pool. Our evaluation with Unikraft shows that Spacer-∆ reduces memory consumption and boot overhead while maintaining compatibility across versions. The framework integrates into existing unikernel build pipelines with minimal changes and is released as open source.
Research Center/Unit :
Montefiore Institute - Montefiore Institute of Electrical Engineering and Computer Science - ULiège
Disciplines :
Computer science
Author, co-author :
Gain, Gaulthier ; Université de Liège - ULiège > Montefiore Institute of Electrical Engineering and Computer Science
Language :
English
Title :
Efficient Versioning For Unikernels
Publication date :
11 July 2025
Event name :
IEEE Interational Conference on Cloud Computing Cloud 2025