[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3423211.3425682acmconferencesArticle/Chapter ViewAbstractPublication PagesmiddlewareConference Proceedingsconference-collections
research-article

Prebaking Functions to Warm the Serverless Cold Start

Published: 11 December 2020 Publication History

Abstract

Function-as-service (FaaS) platforms promise a simpler programming model for cloud computing, in which the developers concentrate on writing its applications. In contrast, platform providers take care of resource management and administration. As FaaS users are billed based on the execution of the functions, platform providers have a natural incentive not to keep idle resources running at the platform's expense. However, this strategy may lead to the cold start issue, in which the execution of a function is delayed because there is no ready resource to host the execution. Cold starts can take hundreds of milliseconds to seconds and have been a prohibitive and painful disadvantage for some applications. This work describes and evaluates a technique to start functions, which restores snapshots from previously executed function processes. We developed a prototype of this technique based on the CRIU process checkpoint/restore Linux tool. We evaluate this prototype by running experiments that compare its start-up time against the standard Unix process creation/start-up procedure. We analyze the following three functions: i) a "do-nothing" function, ii) an Image Resizer function, and iii) a function that renders Markdown files. The results attained indicate that the technique can improve the start-up time of function replicas by 40% (in the worst case of a "do-nothing" function) and up to 71% for the Image Resizer one. Further analysis indicates that the runtime initialization is a key factor, and we confirmed it by performing a sensitivity analysis based on synthetically generated functions of different code sizes. These experiments demonstrate that it is critical to decide when to create a snapshot of a function. When one creates the snapshots of warm functions, the speed-up achieved by the prebaking technique is even higher: the speed-up increases from 127.45% to 403.96%, for a small, synthetic function; and for a bigger, synthetic function, this ratio increases from 121.07% to 1932.49%.

References

[1]
Alexandru Agache, Marc Brooker, Alexandra Iordache, Anthony Liguori, Rolf Neugebauer, Phil Piwonka, and Diana-Maria Popa. 2020. Firecracker: Lightweight Virtualization for Serverless Applications. In 17th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2020, Santa Clara, CA, USA, February 25-27, 2020, Ranjita Bhagwan and George Porter (Eds.). USENIX Association, 419--434. https://www.usenix.org/conference/nsdi20/presentation/agache
[2]
Istemi Ekin Akkus, Ruichuan Chen, Ivica Rimac, Manuel Stein, Klaus Satzke, Andre Beck, Paarijaat Aditya, and Volker Hilt. 2018. SAND: Towards High-Performance Serverless Computing. In 2018 USENIX Annual Technical Conference, USENIX ATC 2018, Boston, MA, USA, July 11-13, 2018, Haryadi S. Gunawi and Benjamin Reed (Eds.). USENIX Association, 923--935. https://www.usenix.org/conference/atc18/presentation/akkus
[3]
Sol Boucher, Anuj Kalia, David G. Andersen, and Michael Kaminsky. 2018. Putting the "Micro" Back in Microservice. In 2018 USENIX Annual Technical Conference, USENIX ATC 2018, Boston, MA, USA, July 11-13, 2018, Haryadi S. Gunawi and Benjamin Reed (Eds.). USENIX Association, 645--650. https://www.usenix.org/conference/atc18/presentation/boucher
[4]
James Cadden, Thomas Unger, Yara Awad, Han Dong, Orran Krieger, and Jonathan Appavoo. 2020. SEUSS: skip redundant paths to make serverless fast. In EuroSys '20: Fifteenth EuroSys Conference 2020, Heraklion, Greece, April 27-30, 2020, Angelos Bilas, Kostas Magoutis, Evangelos P. Markatos, Dejan Kostic, and Margo I. Seltzer (Eds.). ACM, 32:1-32:15. https://doi.org/10.1145/3342195.3392698
[5]
Serjik G. Dikaleh, Eric Charpentier, John Liu, Neil DeLima, and Vince Yuen. 2018. Build a cognitive serverless slack app with IBM cloud functions & IBM Watson API. In Proceedings of the 28th Annual International Conference on Computer Science and Software Engineering, CASCON 2018, Markham, Ontario, Canada, October 29-31, 2018. 354--355. https://dl.acm.org/citation.cfm?id=3291336
[6]
Bradley Efron and Robert J. Tibshirani. 1993. An Introduction to the Bootstrap. Number 57 in Monographs on Statistics and Applied Probability. Chapman & Hall/CRC, Boca Raton, Florida, USA.
[7]
Erwin Van Eyk, Alexandru Iosup, Johannes Grohmann, Simon Eismann, André Bauer, Laurens Versluis, Lucian Toader, Norbert Schmitt, Nikolas Herbst, and Cristina L. Abad. 2019. The SPEC-RG Reference Architecture for FaaS: From Microservices and Containers to Serverless Platforms. IEEE Internet Comput. 23, 6 (2019), 7--18. https://doi.org/10.1109/MIC.2019.2952061
[8]
Henrique Fingler, Amogh Akshintala, and Christopher J. Rossbach. 2019. USETL: Unikernels for Serverless Extract Transform and Load Why should you settle for less?. In Proceedings of the 10th ACM SIGOPS Asia-Pacific Workshop on Systems, APSys 2019, Hangzhou, China, Augsut 19-20, 2019. ACM, 23--30. https://doi.org/10.1145/3343737.3343750
[9]
Eric Jonas, Johann Schleier-Smith, Vikram Sreekanti, Chia-che Tsai, Anurag Khandelwal, Qifan Pu, Vaishaal Shankar, Joao Carreira, Karl Krauth, Neeraja Jayant Yadwadkar, Joseph E. Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson. 2019. Cloud Programming Simplified: A Berkeley View on Serverless Computing. CoRR abs/1902.03383 (2019). arXiv:1902.03383 http://arxiv.org/abs/1902.03383
[10]
Kiyokuni Kawachiya, Kazunori Ogata, Daniel Silva, Tamiya Onodera, Hideaki Komatsu, and Toshio Nakatani. 2007. Cloneable JVM: a new approach to start isolated java applications faster. In Proceedings of the 3rd International Conference on Virtual Execution Environments, VEE 2007, San Diego, California, USA, June 13-15, 2007, Chandra Krintz, Steven Hand, and David Tarditi (Eds.). ACM, 1--11. https://doi.org/10.1145/1254810.1254812
[11]
Linux Kernel. 2020. Linux merged patch for unprivileged checkpoint/restore. Retrieved August 31, 2020 from https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=74858abbb1032222f922487fd1a24513bbed80f9
[12]
Sarthak Kukreti and Frank Mueller. 2018. CloneHadoop: Process Cloning to Reduce Hadoop's Long Tail. In 5th IEEE/ACM International Conference on Big Data Computing Applications and Technologies, BDCAT 2018, Zurich, Switzerland, December 17-20, 2018. IEEE Computer Society, 11--20. https://doi.org/10.1109/BDCAT.2018.00011
[13]
Hyungro Lee, Kumar Satyam, and Geoffrey C. Fox. 2018. Evaluation of Production Serverless Computing Environments. In 11th IEEE International Conference on Cloud Computing, CLOUD 2018, San Francisco, CA, USA, July 2-7, 2018. IEEE Computer Society, 442--450. https://doi.org/10.1109/CLOUD.2018.00062
[14]
Ping-Min Lin and Alex Glikson. 2019. Mitigating Cold Starts in Server-less Platforms: A Pool-Based Approach. CoRR abs/1903.12221 (2019). arXiv:1903.12221 http://arxiv.org/abs/1903.12221
[15]
Johannes Manner, Martin EndreB, Tobias Heckel, and Guido Wirtz. 2018. Cold Start Influencing Factors in Function as a Service. In 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion, UCC Companion 2018, Zurich, Switzerland, December 17-20, 2018, Alan Sill and Josef Spillner (Eds.). IEEE, 181--188. https://doi.org/10.1109/UCC-Companion.2018.00054
[16]
Anup Mohan, Harshad Sane, Kshitij Doshi, Saikrishna Edupuganti, Naren Nayak, and Vadim Sukhomlinov. 2019. Agile Cold Starts for Scalable Serverless. In 11th USENIX Workshop on Hot Topics in Cloud Computing, HotCloud 2019, Renton, WA, USA, July 8, 2019, Christina Delimitrou and Dan R. K. Ports (Eds.). USENIX Association. https://www. usenix.org/conference/hotcloud19/presentation/mohan
[17]
Sunil Kumar Mohanty, Gopika Premsankar, and Mario Di Francesco. 2018. An Evaluation of Open Source Serverless Computing Frameworks. In 2018 IEEE International Conference on Cloud Computing Technology and Science, CloudCom 2018, Nicosia, Cyprus, December 10-13, 2018. IEEE Computer Society, 115--120. https://doi.org/10.1109/CloudCom2018.2018.00033
[18]
Edward Oakes, Leon Yang, Kevin Houck, Tyler Harter, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2017. Pipsqueak: Lean Lambdas with Large Libraries. In 37th IEEE International Conference on Distributed Computing Systems Workshops, ICDCS Workshops 2017, Atlanta, GA, USA, June 5-8, 2017, Aibek Musaev, João Eduardo Ferreira, and Teruo Higashino (Eds.). IEEE Computer Society, 395--400. https://doi.org/10.1109/ICDCSW.2017.32
[19]
Edward Oakes, Leon Yang, Dennis Zhou, Kevin Houck, Tyler Harter, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2018. SOCK: Rapid Task Provisioning with Serverless-Optimized Containers. In 2018 USENIX Annual Technical Conference, USENIX ATC 2018, Boston, MA, USA, July 11-13, 2018, Haryadi S. Gunawi and Benjamin Reed (Eds.). USENIX Association, 57--70. https://www.usenix.org/conference/atc18/presentation/oakes
[20]
JinSeok Oh and Soo-Mook Moon. 2015. Snapshot-based loading-time acceleration for web applications. In Proceedings of the 13th Annual IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2015, San Francisco, CA, USA, February 07 - 11, 2015, Kunle Olukotun, Aaron Smith, Robert Hundt, and Jason Mars (Eds.). IEEE Computer Society, 179--189. https://doi.org/10.1109/CGO.2015.7054198
[21]
Oracle. 2019. Overview (Java Platform SE 8). Retrieved August 6, 2019 from https://docs.oracle.com/javase/8/docs/api/
[22]
James S. Plank, Micah Beck, Gerry Kingsley, and Kai Li. 1995. Libckpt: Transparent Checkpointing under UNIX. In USENIX 1995 Technical Conference on UNIX and Advanced Computing Systems, New Orleans, Louisiana, USA, January 16-20, 1995, Conference Proceedings. USENIX Association, 213--224. https://www.usenix.org/conference/usenix-1995-technical-conference/libckpt-transparent-checkpointing-under-unix
[23]
Amazon Web Services. 2018. Firecracker. Retrieved May 15, 2019 from https://firecracker-microvm.github.io
[24]
S. S. SHAPIRO and M. B. WILK. 1965. An analysis of variance test for normality (complete samples). Biometrika 52, 3-4 (dec 1965), 591--611. https://doi.org/10.1093/biomet/52.3-4.591
[25]
Jörg Thalheim, Pramod Bhatotia, Pedro Fonseca, and Baris Kasikci. 2018. Cntr: Lightweight OS Containers. In 2018 USENIX Annual Technical Conference, USENIX ATC 2018, Boston, MA, USA, July 11-13, 2018, Haryadi S. Gunawi and Benjamin Reed (Eds.). USENIX Association, 199--212. https://www.usenix.org/conference/atc18/presentation/thalheim
[26]
Ranjan Sarpangala Venkatesh, Till Smejkal, Dejan S. Milojicic, and Ada Gavrilovska. 2019. Fast in-memory CRIU for docker containers. In Proceedings of the International Symposium on Memory Systems, MEMSYS 2019, Washington, DC, USA, September 30 - October 03, 2019. ACM, 53--65. https://doi.org/10.1145/3357526.3357542
[27]
Liang Wang, Mengyuan Li, Yinqian Zhang, Thomas Ristenpart, and Michael M. Swift. 2018. Peeking Behind the Curtains of Serverless Platforms. In 2018 USENIX Annual Technical Conference, USENIX ATC 2018, Boston, MA, USA, July 11-13, 2018, Haryadi S. Gunawi and Benjamin Reed (Eds.). USENIX Association, 133--146. https://www. usenix.org/conference/atc18/presentation/wang-liang

Cited By

View all
  • (2024)Cold Start Latency in Serverless Computing: A Systematic Review, Taxonomy, and Future DirectionsACM Computing Surveys10.1145/370087557:3(1-36)Online publication date: 11-Nov-2024
  • (2024)Process-as-a-Service: Unifying Elastic and Stateful Clouds with Serverless ProcessesProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698567(223-242)Online publication date: 20-Nov-2024
  • (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
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
Middleware '20: Proceedings of the 21st International Middleware Conference
December 2020
455 pages
ISBN:9781450381536
DOI:10.1145/3423211
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: 11 December 2020

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. cloud
  2. faas
  3. performance evaluation
  4. serverless

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • FAPESP
  • MCTI/RNP

Conference

Middleware '20
Sponsor:
Middleware '20: 21st International Middleware Conference
December 7 - 11, 2020
Delft, Netherlands

Acceptance Rates

Overall Acceptance Rate 203 of 948 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)278
  • Downloads (Last 6 weeks)34
Reflects downloads up to 20 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Cold Start Latency in Serverless Computing: A Systematic Review, Taxonomy, and Future DirectionsACM Computing Surveys10.1145/370087557:3(1-36)Online publication date: 11-Nov-2024
  • (2024)Process-as-a-Service: Unifying Elastic and Stateful Clouds with Serverless ProcessesProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698567(223-242)Online publication date: 20-Nov-2024
  • (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)Snapipeline: Accelerating Snapshot Startup for FaaS ContainersProceedings of the 2024 ACM Symposium on Cloud Computing10.1145/3698038.3698513(144-159)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)TrEnv: Transparently Share Serverless Execution Environments Across Different Functions and NodesProceedings of the ACM SIGOPS 30th Symposium on Operating Systems Principles10.1145/3694715.3695967(421-437)Online publication date: 4-Nov-2024
  • (2024)Towards AI for Software SystemsProceedings of the 1st ACM International Conference on AI-Powered Software10.1145/3664646.3664767(79-84)Online publication date: 10-Jul-2024
  • (2024)Vexless: A Serverless Vector Data Management System Using Cloud FunctionsProceedings of the ACM on Management of Data10.1145/36549902:3(1-26)Online publication date: 30-May-2024
  • (2024)Pronghorn: Effective Checkpoint Orchestration for Serverless Hot-StartsProceedings of the Nineteenth European Conference on Computer Systems10.1145/3627703.3629556(298-316)Online publication date: 22-Apr-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media