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