Want More Unikernels? Inflate Them! Gaulthier Gain University of Liège Belgium gaulthier.gain@uliege.be Cyril Soldani University of Liège Belgium cyril.soldani@uliege.be Felipe Huici NEC Laboratories Europe GmbH Unikraft GmbH Germany felipe@unikraft.io Laurent Mathy University of Liège Belgium laurent.mathy@uliege.be ABSTRACT Unikernels are on the rise in the cloud. These lightweight virtual machines (VMs) specialized to a single application ofer the same level of isolation as full-blown VMs, while pro- viding performance superior to standard Linux-based VMs or even to containers. However, their inherent specialization renders memory deduplication inefective, causing uniker- nels, in practice, to consume more memory than their small memory footprint would suggest. This makes them less ad- vantageous when thousands of SaaS and/or FaaS unikernels instances have to run on the same server. In this paper we introduce a novel approach to build the next generation of networked services and lambda functions by improving unikernel’s memory layout so that it is more likely to share identical pages with other unikernels deployed on the system. Our approach supports SaaS and FaaS archi- tectures and can be used with ASLR. Our experiments show that our approach can reduce the amount of physical mem- ory used by a set of unikernels running on the same server by as much as 3x, with next to no overhead on applications performance. CCS CONCEPTS · Software and its engineering Virtual machines. KEYWORDS Virtualization, unikernels, memory, operating systems, dedu- plication, alignment, hypervisor, virtual machine. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for proft or commercial advantage and that copies bear this notice and the full citation on the frst page. Copyrights for third- party components of this work must be honored. For all other uses, contact the owner/author(s). SoCC ’22, November 7ś11, 2022, San Francisco, CA, USA © 2022 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-9414-7/22/11. https://doi.org/10.1145/3542929.3563473 ACM Reference Format: Gaulthier Gain, Cyril Soldani, Felipe Huici, and Laurent Mathy. 2022. Want More Unikernels? Infate Them!. In SoCC ’22: ACM Symposium on Cloud Computing (SoCC ’22), November 7ś11, 2022, San Francisco, CA, USA. ACM, New York, NY, USA, 16 pages. https: //doi.org/10.1145/3542929.3563473 1 INTRODUCTION In the early days of cloud computing, full-blown virtual ma- chines (VMs) were used like physical servers, with many services running alongside the main application server, if not running multiple diferent applications. The cost of running a full operating system (OS) in the guest was not crippling. With the advent of micro-services architectures, where ap- plications (e.g. web servers), services (e.g. databases, storage) and even network functions (e.g. routers) live in their own virtual environments, it became necessary to develop more lightweight alternatives such as containers, that allow for a much larger number of instances per physical server. How- ever, although containers ofer faster boot times and lower memory footprints than standard VMs, they come at the cost of lower isolation, as they share the host kernel, leading to a large set of security concerns [23, 27]. Ofering a better trade-of between performance and iso- lation, a new alternative to heavy VMs and containers is gaining traction: unikernels. Based on the concept of library OSes [19], they are specialized operating systems, tailored for a specifc application, which allow to build minimal- ist VMs with tiny memory footprints and storage require- ments. Many unikernels have been developed already such as MirageOS [33], ClickOS [36], OSv [26], IncludeOS [8] and Unikraft [28]. Unikernels ofer great performance with a very small footprint, with the expectation of running thou- sands [34] or even hundreds of thousands of unikernels in- stances on a single physical server, reducing costs and energy consumption compared to traditional VMs or containers. And while early unikernel frameworks such as MirageOS require to write applications from scratch, projects such as 510