With serverless computing, providers deploy application code and manage resource allocation dynamically, eliminating infrastructure management from application development. Serverless providers have a variety of virtualization platforms to choose from for isolating functions, ranging from native Linux processes to Linux containers to lightweight isolation platforms, such as Google gVisor [7] and AWS Firecracker [5]. These platforms form a spectrum as they move functionality out of the host kernel and into an isolated guest environment. For example, gVisor handles many system calls in a user-mode Sentry process while Firecracker runs a full guest operating system in each microVM. A common theme across these platforms are the twin goals of strong isolation and high performance. In this paper, we perform a comparative study of Linux containers (LXC), gVisor secure containers, and Firecracker microVMs to understand how they use Linux kernel services differently: how much does their use of host kernel functionality vary? We also evaluate the performance costs of the designs with a series of microbenchmarks targeting different kernel subsystems. Our results show that despite moving much functionality out of the kernel, both Firecracker and gVisor execute substantially more kernel code than native Linux. gVisor and Linux containers execute substantially the same code, although with different frequency.
[1]
Dan Williams,et al.
Say Goodbye to Virtualization for a Safer Cloud
,
2018,
HotCloud.
[2]
Ramakrishnan Rajamony,et al.
An updated performance comparison of virtual machines and Linux containers
,
2015,
2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).
[3]
Donald E. Porter,et al.
Rethinking the library OS from the top down
,
2011,
ASPLOS XVI.
[4]
Mengyuan Li,et al.
Peeking Behind the Curtains of Serverless Platforms
,
2018,
USENIX Annual Technical Conference.
[5]
Malgorzata Steinder,et al.
Performance Evaluation of Microservices Architectures Using Containers
,
2015,
2015 IEEE 14th International Symposium on Network Computing and Applications.
[6]
Benjamin Farley,et al.
Resource-freeing attacks: improve your cloud performance (at your neighbor's expense)
,
2012,
CCS.
[7]
Richard O. Sinnott,et al.
A performance comparison of container-based technologies for the Cloud
,
2017,
Future Gener. Comput. Syst..
[8]
Florian Schmidt,et al.
My VM is Lighter (and Safer) than your Container
,
2017,
SOSP.
[9]
Andrea C. Arpaci-Dusseau,et al.
The True Cost of Containing: A gVisor Case Study
,
2019,
HotCloud.