[en] In today's cloud-native computing ecosystem, the demand for efficient, secure, and scalable software deployment has intensified. Unikernels -- highly specialized, single-purpose virtual machines -- offer significant advantages in performance, security, and resource efficiency by compiling applications together with only the necessary system components. However, their adoption remains limited, notably due to the complexity of porting existing applications, a well-known challenge stemming from the lack of appropriate tooling and limited compatibility with POSIX interfaces. Beyond these portability challenges, a less explored limitation is the memory-sharing inefficiency caused by unikernel specialization, which prevents memory deduplication across instances that nonetheless share a largely similar software base.
This thesis systematically investigates these limitations and proposes practical solutions to enhance the scalability and usability of unikernel systems. First, we address the memory inefficiency caused by unikernel specialization, which prevents effective sharing of memory pages across instances. We propose a memory layout alignment technique that increases page sharing. This technique improves memory deduplication, yielding significant memory savings and allowing more instances to run concurrently while maintaining performance. We also evaluate the limitations of traditional deduplication mechanisms like KSM in unikernel environments and explore tailored alternatives. Furthermore, we explore the impact of running multiple unikernels that include different versions of the same libraries and introduce a novel framework that combines alignment strategies with differential analysis across library versions. Second, we tackle the challenge of application portability by analyzing system call dependencies and OS abstractions required by legacy applications. We develop tooling that identifies these dependencies and simplifies the porting process, reducing manual effort and broadening compatibility with POSIX-compliant applications.
Our work is grounded in Unikraft, a modular unikernel development framework, which serves as the foundation for implementing and validating our contributions. By improving memory efficiency and lowering the entry barrier for application porting, this thesis contributes to making unikernels more practical for deployment in modern, multi-tenant, and resource-constrained environments.
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 :
Towards Effective Deployment of Unikernels
Defense date :
2026
Institution :
ULiège - Université de Liège [Applied Sciences], Liège, Belgium
Degree :
Docteur en Sciences Informatiques
Promotor :
Mathy, Laurent ; Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Systèmes informatiques répartis et sécurité
President :
Leduc, Guy ; Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Réseaux informatiques
Jury member :
Boigelot, Bernard ; Université de Liège - ULiège > Département d'électricité, électronique et informatique (Institut Montefiore) > Informatique