skip to main content
10.1145/3477113.3487273acmconferencesArticle/Chapter ViewAbstractPublication PagessospConference Proceedingsconference-collections
research-article
Public Access

FlashCube: Fast Provisioning of Serverless Functions with Streamlined Container Runtimes

Published: 25 October 2021 Publication History

Abstract

Fast provisioning of serverless functions is salient for serverless platforms. Though lightweight sandboxes (e.g., containers) enclose only necessary files and libraries, a cold launch still requires up to a few seconds to complete. Such slow provisioning prolongs the response time of serverless functions and negatively impacts users' experiences. This paper analyzes the main reasons for such slowdown and introduces an effective containerization framework, FlashCube. Instead of building a container from scratch, FlashCube quickly and efficiently assembles it through a group of pre-created general container parts (e.g., namespaces, cgroups, and language runtimes). In addition, FlashCube's user-space implementation makes it easily applicable to existing commodity serverless platforms. Our preliminary evaluation demonstrates that FlashCube can quickly provision containerized functions in less than 10 ms (vs. ~400 ms using Docker containers).

Supplemental Material

MP4 File
Presentation video

References

[1]
"AWS Lambda," https://aws.amazon.com/lambda/. [Online]. Available: https://aws.amazon.com/lambda/
[2]
Chaining together lambdas: Exploring all the different ways to link serverless functions together. https://www.refinery.io/post/how-to-chain-serverless-functions-call-invoke-a-lambda-from-another-lambda.
[3]
CVE-2019-5736 Detail. https://nvd.nist.gov/vuln/detail/CVE-2019-5736.
[4]
Deathstarbench. https://github.com/delimitrou/DeathStarBench.
[5]
Docker, https://www.docker.com/.
[6]
"Linux control groups," https://www.kernel.org/doc/Documentation/cgrouv1/cgroups.txt.
[7]
oci-runtime-tool. https://github.com/opencontainers/runtime-tools.
[8]
"Open source serverless cloud platform," https://openwhisk.apache.org/.
[9]
OpenLambda. https://github.com/open-lambda.
[10]
Playing with ptrace, Part I. https://www.linuxjournal.com/article/6100.
[11]
runc. https://github.com/opencontainers/runc.
[12]
"Separation Anxiety: A Tutorial for Isolating Your System with Linux Namespaces," https://www.toptal.com/linux/separation-anxiety-isolating-your-system-with-linux-namespaces.
[13]
Serverless. https://cloud.google.com/serverless/.
[14]
Serverless computing. https://azure.microsoft.com/en-us/overview/serverless-computing/.
[15]
sigreturn(2) --- Linux manual page. https://man7.org/linux/man-pages/man2/sigreturn.2.html.
[16]
"The speed of containers, the security of VMs," https://katacontainers.io/.
[17]
A. Agache, M. Brooker, A. Iordache, A. Liguori, R. Neugebauer, P. Piwonka, and D.-M. Popa, "Firecracker: Lightweight virtualization for serverless applications," in 17th USENIX Symposium on Networked Systems Design and Implementation (NSDI 20). Santa Clara, CA: USENIX Association, Feb. 2020, pp. 419--434. [Online]. Available: https://www.usenix.org/conference/nsdi20/presentation/agache
[18]
P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, "Xen and the art of virtualization," ACM SIGOPS Operating Systems Review, 2003.
[19]
F. Bellard, "QEMU, a fast and portable dynamic translator," in 2005 USENIX Annual Technical Conference (USENIX ATC 05). Anaheim, CA: USENIX Association, Apr. 2005. [Online]. Available: https://www.usenix.org/conference/2005-usenix-annual-technical-conference/qemu-fast-and-portable-dynamic-translator
[20]
S. Boucher, A. Kalia, D. G. Andersen, and M. Kaminsky, "Putting the "micro" back in microservice," in 2018 USENIX Annual Technical Conference (USENIX ATC 18). Boston, MA: USENIX Association, Jul. 2018, pp. 645--650. [Online]. Available: https://www.usenix.org/conference/atc18/presentation/boucher
[21]
A. Bratterud, A.-A. Walla, H. Haugerud, P. E. Engelstad, and K. Begnum, "Includeos: A minimal, resource efficient unikernel for cloud services," ser. CLOUDCOM '15. USA: IEEE Computer Society, 2015, p. 250--257.
[22]
J. Cadden, T. Unger, Y. Awad, H. Dong, O. Krieger, and J. Appavoo, "Seuss: Skip redundant paths to make serverless fast," in Proceedings of the Fifteenth European Conference on Computer Systems, ser. EuroSys '20. New York, NY, USA: Association for Computing Machinery, 2020. [Online]. Available: https://doi.org/10.1145/3342195.3392698
[23]
D. Du, T. Yu, Y. Xia, B. Zang, G. Yan, C. Qin, Q. Wu, and H. Chen, "Catalyzer: Sub-millisecond startup for serverless computing with initialization-less booting," in Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS '20. New York, NY, USA: Association for Computing Machinery, 2020, p. 467--481.
[24]
V. Dukic, R. Bruno, A. Singla, and G. Alonso, "Photons: Lambdas on a diet," in Proceedings of the 11th ACM Symposium on Cloud Computing, ser. SoCC '20. Association for Computing Machinery, 2020.
[25]
A. Ellis, "Introducing Functions as a Service (OpenFaaS)." https://blog.alexellis.io/introducing-functions-as-a-service/.
[26]
A. Fuerst and P. Sharma, "Faascache: Keeping serverless computing alive with greedy-dual caching," in Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS 2021. New York, NY, USA: Association for Computing Machinery, 2021, p. 386--400. [Online]. Available: https://doi.org/10.1145/3445814.3446757
[27]
I. Habib, "Virtualization with kvm," Linux J., vol. 2008, no. 166, Feb. 2008. [Online]. Available: http://dl.acm.org/citation.cfm?id=1344209.1344217
[28]
T. Harter, "Hellobench," 2015. [Online]. Available: https://research.cs.wisc.edu/adsl/Software/hello-bench/
[29]
S. Hendrickson, S. Sturdevant, T. Harter, V. Venkataramani, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau, "Serverless computation with openlambda," Elastic, vol. 60, p. 80.
[30]
Z. Jia and E. W. Qureshi, "Nightcore: Efficient and scalable serverless computing for latency-sensitive, interactive microservices," in Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ser. ASPLOS '21. New York, NY, USA: Association for Computing Machinery, 2021.
[31]
A. Kantee, "The Design and Implementation of the Anykernel and Rump Kernels, 2nd Edition," 2016, http://book.rumpkernel.org.
[32]
A. Kivity, Y. Kamay, D. Laor, U. Lublin, and A. Liguori, "Kvm: the linux virtual machine monitor," in In Proceedings of the 2007 Ottawa Linux Symposium (OLS'-07, 2007.
[33]
A. Klimovic, Y. Wang, P. Stuedi, A. Trivedi, J. Pfefferle, and C. Kozyrakis, "Pocket: Elastic ephemeral storage for serverless analytics," in 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18). Carlsbad, CA: USENIX Association, Oct. 2018, pp. 427--444. [Online]. Available: https://www.usenix.org/conference/osdi18/presentation/klimovic
[34]
S. Kotni, A. Nayak, V. Ganapathy, and A. Basu, "Faastlane: Accelerating function-as-a-service workflows," in 2021 USENIX Annual Technical Conference (USENIX ATC 21). USENIX Association, Jul. 2021, pp. 805--820. [Online]. Available: https://www.usenix.org/conference/atc21/presentation/kotni
[35]
M. Liu, S. Peter, A. Krishnamurthy, and P. M. Phothilimthana, "E3: Energy-efficient microservices on smartnic-accelerated servers," in 2019 USENIX Annual Technical Conference (USENIX ATC 19). Renton, WA: USENIX Association, Jul. 2019, pp. 363--378. [Online]. Available: https://www.usenix.org/conference/atc19/presentation/liu-ming
[36]
A. Mahgoub, K. Shankar, S. Mitra, A. Klimovic, S. Chaterji, and S. Bagchi, "SONIC: Application-aware data passing for chained serverless applications," in 2021 USENIX Annual Technical Conference (USENIX ATC 21). USENIX Association, Jul. 2021, pp. 285--301. [Online]. Available: https://www.usenix.org/conference/atc21/presentation/mahgoub
[37]
F. Manco, C. Lupu, F. Schmidt, J. Mendes, S. Kuenzer, S. Sati, K. Yasukata, C. Raiciu, and F. Huici, "My vm is lighter (and safer) than your container," in Proceedings of the 26th Symposium on Operating Systems Principles, 2017, pp. 218--233.
[38]
D. Merkel, "Docker: lightweight linux containers for consistent development and deployment," in Linux Journal, 2014.
[39]
A. Mohan, H. Sane, K. Doshi, S. Edupuganti, N. Nayak, and V. Sukhomlinov, "Agile cold starts for scalable serverless," in Proceedings of the 11th USENIX Conference on Hot Topics in Cloud Computing, ser. HotCloud'19. USA: USENIX Association, 2019, p. 21.
[40]
E. Oakes, L. Yang, D. Zhou, K. Houck, T. Harter, A. Arpaci-Dusseau, and R. Arpaci-Dusseau, "SOCK: Rapid task provisioning with serverless-optimized containers," in 2018 USENIX Annual Technical Conference (USENIX ATC 18). Boston, MA: USENIX Association, Jul. 2018, pp. 57--70. [Online]. Available: https://www.usenix.org/conference/atc18/presentation/oakes
[41]
S. Shillaker and P. Pietzuch, "Faasm: Lightweight isolation for efficient stateful serverless computing," in 2020 USENIX Annual Technical Conference (USENIX ATC 20). USENIX Association, Jul. 2020, pp. 419--433. [Online]. Available: https://www.usenix.org/conference/atc20/presentation/shillaker
[42]
D. Williams, R. Koller, M. Lucina, and N. Prakash, "Unikernels as processes," in Proceedings of the ACM Symposium on Cloud Computing, ser. SoCC '18. New York, NY, USA: Association for Computing Machinery, 2018, p. 199--211. [Online]. Available: https://doi.org/10.1145/3267809.3267845
[43]
E. G. Young, P. Zhu, T. Caraza-Harter, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau, "The true cost of containing: A gvisor case study," in 11th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 19). Renton, WA: USENIX Association, Jul. 2019. [Online]. Available: https://www.usenix.org/conference/hotcloud19/presentation/young
[44]
E. G. Young, P. Zhu, T. Caraza-Harter, A. C. Arpaci-Dusseau, and R. H. Arpaci-Dusseau, "The true cost of containing: A gvisor case study," in 11th {USENIX} Workshop on Hot Topics in Cloud Computing (HotCloud 19), 2019.

Cited By

View all
  • (2024)Is It Time To Put Cold Starts In The Deep Freeze?Proceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698527(259-268)Online publication date: 20-Nov-2024
  • (2024)On-demand and Parallel Checkpoint/Restore for GPU ApplicationsProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698510(415-433)Online publication date: 20-Nov-2024
  • (2024)Pre-Warming is Not Enough: Accelerating Serverless Inference With Opportunistic Pre-LoadingProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698509(178-195)Online publication date: 20-Nov-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLOS '21: Proceedings of the 11th Workshop on Programming Languages and Operating Systems
October 2021
96 pages
ISBN:9781450387071
DOI:10.1145/3477113
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 October 2021

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

SOSP '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 32 submissions, 53%

Upcoming Conference

SOSP '25
ACM SIGOPS 31st Symposium on Operating Systems Principles
October 13 - 16, 2025
Seoul , Republic of Korea

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)260
  • Downloads (Last 6 weeks)28
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Is It Time To Put Cold Starts In The Deep Freeze?Proceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698527(259-268)Online publication date: 20-Nov-2024
  • (2024)On-demand and Parallel Checkpoint/Restore for GPU ApplicationsProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698510(415-433)Online publication date: 20-Nov-2024
  • (2024)Pre-Warming is Not Enough: Accelerating Serverless Inference With Opportunistic Pre-LoadingProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698509(178-195)Online publication date: 20-Nov-2024
  • (2024)Understanding Network Startup for Secure Containers in Multi-Tenant Clouds: Performance, Bottleneck and OptimizationProceedings of the 2024 ACM on Internet Measurement Conference10.1145/3646547.3688436(635-650)Online publication date: 4-Nov-2024

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media