Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3617232.3624871acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections
research-article
Open access

RainbowCake: Mitigating Cold-starts in Serverless with Layer-wise Container Caching and Sharing

Published: 17 April 2024 Publication History

Abstract

Serverless computing has grown rapidly as a new cloud computing paradigm that promises ease-of-management, cost-efficiency, and auto-scaling by shipping functions via self-contained virtualized containers. Unfortunately, serverless computing suffers from severe cold-start problems---starting containers incurs non-trivial latency. Full container caching is widely applied to mitigate cold-starts, yet has recently been outperformed by two lines of research: partial container caching and container sharing. However, either partial container caching or container sharing techniques exhibit their drawbacks. Partial container caching effectively deals with burstiness while leaving cold-start mitigation halfway; container sharing reduces cold-starts by enabling containers to serve multiple functions while suffering from excessive memory waste due to over-packed containers.
This paper proposes RainbowCake, a layer-wise container pre-warming and keep-alive technique that effectively mitigates cold-starts with sharing awareness at minimal waste of memory. With structured container layers and sharing-aware modeling, RainbowCake is robust and tolerant to invocation bursts. We seize the opportunity of container sharing behind the startup process of standard container techniques. RainbowCake breaks the container startup process of a container into three stages and manages different container layers individually. We develop a sharing-aware algorithm that makes event-driven layer-wise caching decisions in real-time. Experiments on OpenWhisk clusters with real-world workloads show that RainbowCake reduces 68% function startup latency and 77% memory waste compared to state-of-the-art solutions.

References

[1]
Alexandru Agache, Marc Brooker, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka, and Diana-Maria Popa. Firecracker: Lightweight Virtualization for Serverless Applications. In Proc. the USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2020.
[2]
Istemi Ekin Akkus, Ruichuan Chen, Ivica Rimac, Manuel Stein, Klaus Satzke, Andre Beck, Paarijaat Aditya, and Volker Hilt. SAND: Towards High-Performance Serverless Computing. In Proc. the USENIX Conference on Usenix Annual Technical Conference (USENIX ATC), 2018.
[3]
Ahsan Ali, Riccardo Pinciroli, Feng Yan, and Evgenia Smirni. BATCH: Machine Learning Inference Serving on Serverless Platforms With Adaptive Batching. In Proc. of the IEEE International Conference for High Performance Computing, Networking, Storage and Analysis (SC). IEEE, 2020.
[4]
Lixiang Ao, Liz Izhikevich, Geoffrey M Voelker, and George Porter. Sprocket: A Serverless Video Processing Framework. In Proc. ACM Symposium on Cloud Computing (SoCC), 2018.
[5]
Lixiang Ao, George Porter, and Geoffrey M Voelker. FaaSnap: FaaS Made Fast Using Snapshot-Based VMs. In Proc. the Seventeenth European Conference on Computer Systems (EuroSys), 2022.
[6]
Apache. Apache OpenWhisk Official Website. https://openwhisk.apache.org, 2018.
[7]
AWS. AWS EC2: Secure and Resizable Compute Capacity in the Cloud. https://aws.amazon.com/ec2/, 2020. [Online; accessed 1-May-2020].
[8]
AWS. AWS Lambda Layers. https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html, 2022. [Online].
[9]
AWS. AWS Lambda Runtimes. https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html, 2022. [Online].
[10]
AWS Lambda. Troubleshooting AWS Lambda Identity and Access. https://docs.aws.amazon.com/lambda/latest/dg/security_iam_troubleshoot.html, 2022. [Online; accessed 1-April-2022].
[11]
Azure Functions. Authentication and Authorization in Azure Functions. https://learn.microsoft.com/en-us/azure/app-service/overview-authentication-authorization, 2022. [Online; accessed 1-April-2022].
[12]
Vivek M Bhasi, Jashwant Raj Gunasekaran, Prashanth Thinakaran, Cyan Subhra Mishra, Mahmut Taylan Kandemir, and Chita Das. Kraken: Adaptive Container Provisioning for Deploying Dynamic DAGs in Serverless Platforms. In Proc. the ACM Symposium on Cloud Computing (SoCC), 2021.
[13]
James Cadden, Thomas Unger, Yara Awad, Han Dong, Orran Krieger, and Jonathan Appavoo. SEUSS: Skip Redundant Paths to Make Server-less Fast. In Proc. the European Conference on Computer Systems (EuroSys), 2020.
[14]
Joao Carreira, Pedro Fonseca, Alexey Tumanov, Andrew Zhang, and Randy Katz. Cirrus: a Serverless Framework for End-to-end ML Work-flows. In Proc. ACM Symposium on Cloud Computing (SoCC), 2019.
[15]
Joao Carreira, Sumer Kohli, Rodrigo Bruno, and Pedro Fonseca. From Warm to Hot Starts: Leveraging Runtimes for the Serverless Era. In Proceedings of the Workshop on Hot Topics in Operating Systems (HotOS), 2021.
[16]
Bill Cheswick. An Evening with Berferd in which a cracker is Lured, Endured, and Studied. In Proc. Winter USENIX Conference, San Francisco, 1992.
[17]
Marcin Copik, Grzegorz Kwasniewski, Maciej Besta, Michal Podstawski, and Torsten Hoefler. SeBS: A Serverless Benchmark Suite for Function-as-a-Service Computing. In Proceedings of the 22nd International Middleware Conference (Middleware), 2021.
[18]
Robert Cordingly, Hanfei Yu, Varik Hoang, David Perez, David Foster, Zohreh Sadeghi, Rashad Hatchett, and Wes J Lloyd. Implications of Programming Language Selection for Serverless Data Processing Pipelines. In Proc. of the 2020 IEEE Conference on Cloud and Big Data Computing (CBDCom), 2020.
[19]
CRIU. CRIU-Docker. https://criu.org/Docker. [Online].
[20]
Docker. Docker Checkpoint API. https://docs.docker.com/engine/reference/commandline/checkpoint/. [Online].
[21]
Dong Du, Tianyi Yu, Yubin Xia, Binyu Zang, Guanglu Yan, Chenggang Qin, Qixuan Wu, and Haibo Chen. Catalyzer: Sub-Millisecond Startup for Serverless Computing with Initialization-Less Booting. In Proc. the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2020.
[22]
Alexander N Dudin, Valentina I Klimenok, and Vladimir M Vishnevsky. The Theory of Queuing Systems with Correlated Flows. Springer, 2020.
[23]
Tarek Elgamal. Costless: Optimizing Cost of Serverless Computing Through Function Fusion and Placement. In 2018 IEEE/ACM Symposium on Edge Computing (SEC), 2018.
[24]
Sadjad Fouladi, Riad S Wahby, Brennan Shacklett, Karthikeyan Balasubramaniam, William Zeng, Rahul Bhalerao, Anirudh Sivaraman, George Porter, and Keith Winstein. Encoding, Fast and Slow: Low-Latency Video Processing Using Thousands of Tiny Threads. In Proc. the 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2017.
[25]
Alexander Fuerst and Prateek Sharma. FaasCache: Keeping Serverless Computing Alive with Greedy-Dual Caching. In Proc. the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2021.
[26]
Kristen Gardner, Samuel Zbarsky, Sherwin Doroudi, Mor Harchol-Balter, and Esa Hyytia. Reducing Latency via Redundant Requests: Exact Analysis. ACM SIGMETRICS Performance Evaluation Review, 2015.
[27]
Google. gVisor. https://gvisor.dev/, 2018. [Online; accessed 2-May-2018].
[28]
Google Cloud Functions. Function Identity in Google Cloud Functions. https://cloud.google.com/functions/docs/securing/function-identity, 2022. [Online; accessed 1-April-2022].
[29]
Jashwant Raj Gunasekaran, Prashanth Thinakaran, Nachiappan Chidambaram, Mahmut T Kandemir, and Chita R Das. Fifer: Tackling Underutilization in the Serverless Era. In Proc. the 21st International Middleware Conference (Middleware), 2020.
[30]
Wang Hao, Niu Di, and Li Baochun. Distributed Machine Learning with a Serverless Architecture. In Proc. the IEEE Conference on Computer Communications (INFOCOM), 2019.
[31]
Heo, Tejun. Control Group v2. https://www.kernel.org/doc/Documentation/cgroup-v2.txt, 2021. [Online; accessed 1-April-2022].
[32]
Carl Hewitt, Peter Bishop, and Richard Steiger. A Universal Modular ACTOR Formalism for Artificial Intelligence. In Proc. the International Joint Conference on Artificial Intelligence (IJCAI), 1973.
[33]
Eric Jonas, Qifan Pu, Shivaram Venkataraman, Ion Stoica, and Benjamin Recht. Occupy the Cloud: Distributed Computing for the 99%. In Proc. 2017 Symposium on Cloud Computing (SoCC), 2017.
[34]
Gauri Joshi, Yanpei Liu, and Emina Soljanin. On the Delay-storage Trade-off in Content Download from Coded Distributed Storage Systems. IEEE Journal on Selected Areas in Communications (JSAC), 2014.
[35]
Poul-Henning Kamp and Robert NM Watson. Jails: Confining the Omnipotent Root. In Proceedings of the 2nd International SANE Conference, 2000.
[36]
Seungjun Lee, Daegun Yoon, Sangho Yeo, and Sangyoon Oh. Mitigating Cold Start Problem in Serverless Computing with Function Fusion. Sensors, 2021.
[37]
Zijun Li, Linsong Guo, Quan Chen, Jiagan Cheng, Chuhao Xu, Deze Zeng, Zhuo Song, Tao Ma, Yong Yang, Chao Li, et al. Help Rather Than Recycle: Alleviating Cold Startup in Serverless Computing Through {Inter-Function} Container Sharing. In 2022 USENIX Annual Technical Conference (USENIX ATC), 2022.
[38]
Lightbend. Introduction to Actors: Akka Documentation. https://doc.akka.io/docs/akka/current/typed/actors.html, 2021. [Online; accessed 1-Aug-2021].
[39]
Zhen Lin, Kao-Feng Hsieh, Yu Sun, Seunghee Shin, and Hui Lu. FlashCube: Fast Provisioning of Serverless Functions with Streamlined Container Runtimes. In Proc. the 11th Workshop on Programming Languages and Operating Systems (PLOS), 2021.
[40]
Ashraf Mahgoub, Edgardo Barsallo Yi, Karthick Shankar, Sameh Elnikety, Somali Chaterji, and Saurabh Bagchi. {ORION} and the Three Rights: Sizing, Bundling, and Prewarming for Serverless {DAGs}. In 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2022.
[41]
Dirk Merkel et al. Docker: Lightweight Linux Containers for Consistent Development and Deployment. Linux Journal, 2014.
[42]
Anup Mohan, Harshad Sane, Kshitij Doshi, Saikrishna Edupuganti, Naren Nayak, and Vadim Sukhomlinov. Agile Cold Starts for Scalable Serverless. In 11th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud), 2019.
[43]
Edward Oakes, Leon Yang, Dennis Zhou, Kevin Houck, Tyler Harter, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. SOCK: Rapid Task Provisioning with Serverless-Optimized Containers. In Proc. the USENIX Conference on Usenix Annual Technical Conference (USENIX ATC), 2018.
[44]
Pagurus. Pagurus Code. https://github.com/lzjzx1122/Pagurus, 2023.
[45]
Li Pan, Lin Wang, Shutong Chen, and Fangming Liu. Retention-Aware Container Caching for Serverless Edge Computing. Proc. of IEEE Conference on Computer Communications (INFOCOM), 2022.
[46]
Rohan Basu Roy, Tirthak Patel, Vijay Gadepally, and Devesh Tiwari. Mashup: Making Serverless Computing Useful for HPC Workflows via Hybrid Execution. In Proc. of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP), 2022.
[47]
Rohan Basu Roy, Tirthak Patel, and Devesh Tiwari. DayDream: Executing Dynamic Scientific Workflows on Serverless Platforms with Hot Starts. In 2022 SC22: International Conference for High Performance Computing, Networking, Storage and Analysis (SC), 2022.
[48]
Rohan Basu Roy, Tirthak Patel, and Devesh Tiwari. IceBreaker: Warming Serverless Functions Better with Heterogeneity. In Proc. the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2022.
[49]
Divyanshu Saxena, Tao Ji, Arjun Singhvi, Junaid Khalid, and Aditya Akella. Memory Deduplication for Serverless Computing with Medes. In Proc. the Seventeenth European Conference on Computer Systems (EuroSys), 2022.
[50]
Trever Schirmer, Joel Scheuner, Tobias Pfandzelter, and David Bermbach. FUSIONIZE: Improving Serverless Application Performance Through Feedback-driven Function Fusion. In 2022 IEEE International Conference on Cloud Engineering (IC2E), 2022.
[51]
SEUSS. SEUSS Code. https://github.com/SESA/SEUSS, 2023.
[52]
Mohammad Shahrad, Jonathan Balkind, and David Wentzlaff. Architectural Implications of Function-as-a-Service Computing. In Proc. the 52nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), 2019.
[53]
Mohammad Shahrad, Rodrigo Fonseca, Inigo Goiri, Gohar Chaudhry, Paul Batum, Jason Cooke, Eduardo Laureano, Colby Tresness, Mark Russinovich, and Ricardo Bianchini. Serverless in the Wild: Characterizing and Optimizing the Serverless Workload at a Large Cloud Provider. In Proc. the USENIX Annual Technical Conference (USENIX ATC), 2020.
[54]
Vaishaal Shankar, Karl Krauth, Kailas Vodrahalli, Qifan Pu, Benjamin Recht, Ion Stoica, Jonathan Ragan-Kelley, Eric Jonas, and Shivaram Venkataraman. Serverless Linear Algebra. In Proc. of the 11th ACM Symposium on Cloud Computing (SoCC), 2020.
[55]
Paulo Silva, Daniel Fireman, and Thiago Emmanuel Pereira. Prebaking Functions to Warm the Serverless Cold Start. In Proc. the 21st International Middleware Conference (Middleware), 2020.
[56]
Yin Sun, Zizhan Zheng, C Emre Koksal, Kyu-Han Kim, and Ness B Shroff. Provably Delay Efficient Data Retrieving in Storage Clouds. In 2015 IEEE Conference on Computer Communications (INFOCOM), 2015.
[57]
Liang Wang, Mengyuan Li, Yinqian Zhang, Thomas Ristenpart, and Michael Swift. Peeking behind the Curtains of Serverless Platforms. In Proc. the USENIX Conference on Usenix Annual Technical Conference (USENIX ATC), 2018.

Cited By

View all
  • (2024)SURE: Secure Unikernels Make Serverless Computing Rapid and EfficientProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698558(668-688)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)Thawbringer: An Orchestrator to Mitigate Cascading Cold Starts of Serverless Function ChainsProceedings of the 53rd International Conference on Parallel Processing10.1145/3673038.3673077(347-356)Online publication date: 12-Aug-2024
  • Show More Cited By

Index Terms

  1. RainbowCake: Mitigating Cold-starts in Serverless with Layer-wise Container Caching and Sharing

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ASPLOS '24: Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1
    April 2024
    494 pages
    ISBN:9798400703720
    DOI:10.1145/3617232
    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 the author(s) 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

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 April 2024

    Check for updates

    Badges

    Author Tags

    1. serverless computing
    2. container caching
    3. container sharing
    4. cold-start

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ASPLOS '24

    Acceptance Rates

    Overall Acceptance Rate 535 of 2,713 submissions, 20%

    Upcoming Conference

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)1,748
    • Downloads (Last 6 weeks)260
    Reflects downloads up to 13 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)SURE: Secure Unikernels Make Serverless Computing Rapid and EfficientProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698558(668-688)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)Thawbringer: An Orchestrator to Mitigate Cascading Cold Starts of Serverless Function ChainsProceedings of the 53rd International Conference on Parallel Processing10.1145/3673038.3673077(347-356)Online publication date: 12-Aug-2024
    • (2024)SLO-Aware Function Placement for Serverless Workflows With Layer-Wise Memory SharingIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.339185835:6(1074-1091)Online publication date: Jun-2024
    • (2024)Edge Computing Management With Collaborative Lazy Pulling for Accelerated Container StartupIEEE Transactions on Network and Service Management10.1109/TNSM.2024.346240821:6(6437-6450)Online publication date: Dec-2024
    • (2024)Mitigating cold start problem in serverless computing using predictive pre-warming with machine learningComputing10.1007/s00607-024-01382-y107:1Online publication date: 14-Dec-2024
    • (2024)A survey on the cold start latency approaches in serverless computing: an optimization-based perspectiveComputing10.1007/s00607-024-01335-5106:11(3755-3809)Online publication date: 17-Aug-2024

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media