Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

FaaSLight: General Application-level Cold-start Latency Optimization for Function-as-a-Service in Serverless Computing

Published: 22 July 2023 Publication History
  • Get Citation Alerts
  • Abstract

    Serverless computing is a popular cloud computing paradigm that frees developers from server management. Function-as-a-Service (FaaS) is the most popular implementation of serverless computing, representing applications as event-driven and stateless functions. However, existing studies report that functions of FaaS applications severely suffer from cold-start latency.
    In this article, we propose an approach, namely, FaaSLight, to accelerating the cold start for FaaS applications through application-level optimization. We first conduct a measurement study to investigate the possible root cause of the cold-start problem of FaaS. The result shows that application code loading latency is a significant overhead. Therefore, loading only indispensable code from FaaS applications can be an adequate solution. Based on this insight, we identify code related to application functionalities by constructing the function-level call graph and separate other code (i.e., optional code) from FaaS applications. The separated optional code can be loaded on demand to avoid the inaccurate identification of indispensable code causing application failure. In particular, a key principle guiding the design of FaaSLight is inherently general, i.e., platform- and language-agnostic. In practice, FaaSLight can be effectively applied to FaaS applications developed in different programming languages (Python and JavaScript), and can be seamlessly deployed on popular serverless platforms such as AWS Lambda and Google Cloud Functions, without having to modify the underlying OSes or hypervisors, nor introducing any additional manual engineering efforts to developers. The evaluation results on real-world FaaS applications show that FaaSLight can significantly reduce the code loading latency (up to 78.95%, 28.78% on average), thereby reducing the cold-start latency. As a result, the total response latency of functions can be decreased by up to 42.05% (19.21% on average). Compared with the state-of-the-art, FaaSLight achieves a 21.25× improvement in reducing the average total response latency.

    References

    [1]
    2016. Image resize. Retrieved on November 10, 2021 from https://github.com/gxx/aws-lambda-python/tree/master/image_resize.
    [2]
    [3]
    2017. Python OpenCV module for AWS Lambda. Retrieved on November 10, 2021 from https://github.com/aeddi/aws-lambda-python-opencv.
    [4]
    2017. TensorFlow to AWS Lambda. Retrieved on November 10, 2021 from https://github.com/jacopotagliabue/tensorflow_to_lambda_serverless.
    [5]
    2018. 2018 serverless community survey: huge growth in serverless usage. Retrieved on May 01, 2022 from https://www.serverless.com/blog/2018-serverless-community-survey-huge-growth-usage.
    [6]
    2019. AWS Lambda to predict the quality of your wine. Retrieved on November 10, 2021 from https://github.com/pierreant/wine-ml-on-aws-lambda.
    [7]
    2019. Lxml requests. Retrieved on November 10, 2021 from https://github.com/ryfeus/lambda-packs/tree/master/Lxml_requests.
    [8]
    2019. OpenCV PIL. Retrieved on November 10, 2021 from https://github.com/ryfeus/lambda-packs/tree/master/Opencv_pil.
    [9]
    2019. Pandas NumPy. Retrieved on November 10, 2021 from https://github.com/ryfeus/lambda-packs/tree/master/Pandas_numpy.
    [11]
    2019. Skimage NumPy. Retrieved on November 10, 2021 from https://github.com/ryfeus/lambda-packs/tree/master/Skimage_numpy.
    [12]
    2019. Terraform AWS Lambda Python. Retrieved on November 10, 2021 from https://github.com/ruzin/terraform_aws_lambda_python/tree/master/example.
    [13]
    2020. AWS Lambda container image support. Retrieved on May 01, 2022 from https://aws.amazon.com/cn/blogs/aws/new-for-aws-lambda-container-image-support/.
    [14]
    2020. The CIO’s guide to serverless computing. Retrieved on May 01, 2022 from https://www.gartner.com/smarterwithgartner/the-cios-guide-to-serverless-computing/.
    [15]
    2020. Sentiment analysis in the Cloud with AWS Lambda. Retrieved on November 10, 2021 from https://github.com/cloudacademy/sentiment-analysis-aws-lambda.
    [16]
    2020. Serverless Bert hugging face AWS Lambda docker. Retrieved on November 10, 2021 from https://github.com/philschmid/serverless-bert-huggingface-aws-lambda-docker.
    [17]
    2021. Comparison of cold starts in serverless functions across AWS, Azure, and GCP. Retrieved on May 01, 2022 from https://mikhail.io/serverless/coldstarts/big3/.
    [18]
    2021. LightGBM Sklearn Scipy NumPy. Retrieved on November 10, 2021 from https://github.com/ryfeus/lambda-packs/tree/master/LightGBM_sklearn_scipy_numpy.
    [19]
    2021. Python static analysis tools. Retrieved on May 01, 2022 from https://camelcaseguy.medium.com/python-static-analysis-tools-fe5960d8035.
    [20]
    2021. Top 4 serverless computing platforms in 2021. Retrieved from https://www.loginradius.com/blog/async/serverless-overview/. Retrieved on November 10, 2021 .
    [21]
    2021. Top 5 serverless platforms in 2021. Retrieved on November 10, 2021 from https://www.techmagic.co/blog/top-5-serverless-platforms-in-2020/.
    [22]
    2021. Vulture—Find dead code. Retrieved on May 01, 2022 from https://github.com/jendrikseipp/vulture.
    [23]
    2022. Advanced Topics in Programming Languages. Retrieved on September 01, 2022 from https://groups.seas.harvard.edu/courses/cs252/2011sp/.
    [24]
    2022. Ast for Python. Retrieved on May 01, 2022 from https://docs.python.org/3/library/ast.html.
    [25]
    2022. Astroid. Retrieved on February 01, 2022 from https://pylint.pycqa.org/projects/astroid/en/latest/.
    [26]
    2022. AWS Lambda. Retrieved on May 01, 2022 from https://docs.aws.amazon.com/lambda/latest/dg/welcome.html.
    [27]
    2022. AWS Lambda function handler. Retrieved on December 03, 2022 from https://docs.aws.amazon.com/lambda/latest/dg/nodejs-handler.html.
    [28]
    2022. AWS Lambda NumPy. Retrieved on March 17, 2022 from https://github.com/Haodi-Ping/AWSLambda_numpy.
    [29]
    2022. AWS SAM. Retrieved on November 10, 2021 from https://github.com/aws/aws-sam-cli.
    [30]
    2022. Azure Functions. Retrieved on May 01, 2022 from https://docs.microsoft.com/en-us/azure/azure-functions/.
    [31]
    2022. Callgraph. Retrieved on September 01, 2022 from https://github.com/gunar/callgraph.
    [32]
    2022. Custom-LDA-classifier-model. Retrieved on September 01, 2022 from https://github.com/Haodi-Ping/Custom-LDA-classifier-model.
    [33]
    2022. Effect size. Retrieved on May 01, 2022 from https://en.wikipedia.org/wiki/Effect_size##Cohen's_d.
    [34]
    2022. Google Cloud Functions. Retrieved on May 01, 2022 from https://cloud.google.com/functions.
    [35]
    2022. Google Cloud Functions handler. Retrieved on December 03, 2022 from https://cloud.google.com/functions/docs/writing/write-http-functions.
    [36]
    2022. Google Cloud Functions numpy pandas. Retrieved on September 01, 2022 from https://github.com/ryfeus/gcf-packs/tree/master/pandas_numpy/sources.
    [37]
    2022. Google Cloud Functions Python runtime demo. Retrieved on September 01, 2022 from https://github.com/simonprickett/google-cloud-functions-python.
    [38]
    2022. Google gVisor. Retrieved from https://github.com/google/gvisor. Retrieved on September 01, 2022 .
    [39]
    2022. How can you find unused functions in Python code? Retrieved on May 01, 2022 from https://stackoverflow.com/questions/693070/how-can-you-find-unused-functions-in-python-code.
    [40]
    2022. How To: Optimize the Serverless Optimizer Plugin. Retrieved on September 01, 2022 from https://www.jeremydaly.com/how-to-optimize-the-serverless-optimizer-plugin/.
    [41]
    2022. JavaScript async. Retrieved on November 27, 2022 . from https://bmaupin.github.io/wiki/programming/javascript/javascript-async.html.
    [42]
    2022. Mann–Whitney U test. Retrieved on May 01, 2022 from https://en.wikipedia.org/wiki/Mann-Whitney_U_test.
    [43]
    2022. Microcosm2RSS. Retrieved on September 01, 2022 from https://github.com/conoro/microcosm2rss.
    [44]
    2022. Python—magic or dunder methods. Retrieved on May 01, 2022 from https://www.tutorialsteacher.com/python/magic-methods-in-python.
    [45]
    2022. Quotas of Google Cloud Functions. Retrieved on November 27, 2022 from https://cloud.google.com/functions/quotas.
    [46]
    2022. Serverless Image Processing. Retrieved on September 01, 2022 from https://github.com/unichat-io/serverless-image-processing.
    [47]
    2022. Serverless-lunch. Retrieved on September 01, 2022 from https://github.com/deekim/serverless-lunch.
    [48]
    2022. Serverless Optimize Plugin. Retrieved on September 01, 2022 from https://www.serverless.com/plugins/serverless-plugin-optimize.
    [49]
    2022. Show me a dog. Retrieved on September 01, 2022 from https://github.com/hollandmatt/show-me-a-dog.
    [50]
    2022. The state of serverless. Retrieved on September 01, 2022 from https://www.datadoghq.com/state-of-serverless/.
    [51]
    2022. uglify-js. Retrieved on February 01, 2022 from https://lisperator.net/uglifyjs/.
    [52]
    Mikhail.io. 2022. Cold starts in AWS Lambda. Retrieved on May 01, 2022 from https://mikhail.io/serverless/coldstarts/aws/.
    [53]
    Mikhail.io. 2022. Cold starts in Azure Functions. Retrieved on May 01, 2022 from https://mikhail.io/serverless/coldstarts/azure/.
    [54]
    Christoffer Quist Adamsen, Anders Møller, Saba Alimadadi, and Frank Tip. 2018. Practical AJAX race detection for JavaScript web applications. In Proceedings of the 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 38–48.
    [55]
    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 Proceedings of the USENIX Annual Technical Conference (ATC’18). 923–935.
    [56]
    Gábor Antal, Péter Hegedus, Zoltán Tóth, Rudolf Ferenc, and Tibor Gyimóthy. 2018. Static javascript call graphs: A comparative study. In Proceedings of the IEEE 18th International Working Conference on Source Code Analysis and Manipulation. IEEE, 177–186.
    [57]
    Lixiang Ao, Liz Izhikevich, Geoffrey M. Voelker, and George Porter. 2018. Sprocket: A serverless video processing framework. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’18). 263–274.
    [58]
    Babak Amin Azad, Pierre Laperdrix, and Nick Nikiforakis. 2019. Less is more: Quantifying the security benefits of debloating web applications. In Proceedings of the 28th USENIX Security Symposium (USENIX Security’19). 1697–1714.
    [59]
    Michael D. Brown and Santosh Pande. 2019. Carve: Practical security-focused software debloating using simple feature set mappings. In Proceedings of the 3rd ACM Workshop on Forming an Ecosystem Around Software Transformation. 1–7.
    [60]
    Bobby R. Bruce, Tianyi Zhang, Jaspreet Arora, Guoqing Harry Xu, and Miryung Kim. 2020. JShrink: In-depth investigation into debloating modern Java applications. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE’20). 135–146.
    [61]
    Joao Carreira, Pedro Fonseca, Alexey Tumanov, Andrew Zhang, and Randy Katz. 2019. Cirrus: A serverless framework for end-to-end ML workflows. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’19). 13–24.
    [62]
    Robert Chatley and Thomas Allerton. 2020. Nimbus: Improving the developer experience for serverless applications. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering. 85–88.
    [63]
    Jeffrey Dean, David Grove, and Craig Chambers. 1995. Optimization of object-oriented programs using static class hierarchy analysis. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP’95). Springer, 77–101.
    [64]
    Dong Du, Tianyi Yu, Yubin Xia, Binyu Zang, Guanglu Yan, Chenggang Qin, Qixuan Wu, and Haibo Chen. 2020. Catalyzer: Sub-millisecond startup for serverless computing with initialization-less booting. In Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’20). ACM, 467–481.
    [65]
    Simon Eismann, Joel Scheuner, Erwin Van Eyk, Maximilian Schwinger, Johannes Grohmann, Nikolas Herbst, Cristina Abad, and Alexandru Iosup. 2022. The state of serverless applications: Collection, characterization, and community consensus. IEEE Trans. Softw. Eng. 48, 10 (2022), 4152–4166.
    [66]
    Nafise Eskandani and Guido Salvaneschi. 2021. The wonderless dataset for serverless computing. In Proceedings of the IEEE/ACM 18th International Conference on Mining Software Repositories. IEEE, 565–569.
    [67]
    Lang Feng, Prabhakar Kudva, Dilma Da Silva, and Jiang Hu. 2018. Exploring serverless computing for neural network training. In Proceedings of the IEEE 11th International Conference on Cloud Computing (CLOUD’18). 334–341.
    [68]
    Sadjad Fouladi, Francisco Romero, Dan Iter, Qian Li, Shuvo Chatterjee, Christos Kozyrakis, Matei Zaharia, and Keith Winstein. 2019. From laptop to lambda: Outsourcing everyday jobs to thousands of transient functional containers. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC’19). 475–488.
    [69]
    Sadjad Fouladi, Riad S Wahby, Brennan Shacklett, Karthikeyan Vasuki Balasubramaniam, William Zeng, Rahul Bhalerao, Anirudh Sivaraman, George Porter, and Keith Winstein. 2017. Encoding, fast and slow: Low-latency video processing using thousands of tiny threads. In Proceedings of the USENIX Symposium on Networked Systems Design and Implementation (NSDI’17). 363–376.
    [70]
    Alexander Fuerst and Prateek Sharma. 2021. 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 (ASPLOS’21). 386–400.
    [71]
    Roman Haas, Rainer Niedermayr, Tobias Roehm, and Sven Apel. 2020. Is static analysis able to identify unnecessary source code? ACM Trans. Softw. Eng. Methodol. 29, 1 (2020), 1–23.
    [72]
    Joseph M. Hellerstein, Jose Faleiro, Joseph E. Gonzalez, Johann Schleier-Smith, Vikram Sreekanti, Alexey Tumanov, and Chenggang Wu. 2019. Serverless computing: One step forward, two steps back. In Proceedings of the 9th Biennial Conference on Innovative Data Systems Research. Retrieved from www.cidrdb.org.
    [73]
    Andrew Henderson, Aravind Prakash, Lok Kwong Yan, Xunchao Hu, Xujiewen Wang, Rundong Zhou, and Heng Yin. 2014. Make it work, make it right, make it fast: Building a platform-neutral whole-system dynamic binary analysis platform. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA’14). 248–258.
    [74]
    Kihong Heo, Woosuk Lee, Pardis Pashakhanloo, and Mayur Naik. 2018. Effective program debloating via reinforcement learning. In Proceedings of the ACM SIGSAC Conference on Computer and Communications Security (CCS’18). 380–394.
    [75]
    Casper S. Jensen, Anders Møller, Veselin Raychev, Dimitar Dimitrov, and Martin Vechev. 2015. Stateless model checking of event-driven applications. ACM SIGPLAN Notices 50, 10 (2015), 57–73.
    [76]
    Zhipeng Jia and Emmett Witchel. 2021. Nightcore: Efficient and scalable serverless computing for latency-sensitive, interactive microservices. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems. 152–166.
    [77]
    Eric Jonas, Johann Schleier-Smith, Vikram Sreekanti, Chia-Che Tsai, Anurag Khandelwal, Qifan Pu, Vaishaal Shankar, Joao Carreira, Karl Krauth, Neeraja Yadwadkar, Joseph E. Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson. 2019. Cloud programming simplified: A Berkeley view on serverless computing. Retrieved from https://arXiv:1902.03383.
    [78]
    Ana Klimovic, Yawen Wang, Patrick Stuedi, Animesh Trivedi, Jonas Pfefferle, and Christos Kozyrakis. 2018. Pocket: Elastic ephemeral storage for serverless analytics. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI’18). 427–444.
    [79]
    Tofunmi Kupoluyi, Moumena Chaqfeh, Matteo Varvello, Waleed Hashmi, Lakshmi Subramanian, and Yasir Zaki. 2021. Muzeel: A dynamic JavaScript analyzer for dead code elimination in today’s web. Retrieved from https://arXiv:2106.08948.
    [80]
    Hyungro Lee, Kumar Satyam, and Geoffrey Fox. 2018. Evaluation of production serverless computing environments. In Proceedings of the IEEE 11th International Conference on Cloud Computing. IEEE, 442–450.
    [81]
    Ming Liu, Simon Peter, Arvind Krishnamurthy, and Phitchaya Mangpo Phothilimthana. 2019. E3: Energy-efficient microservices on smartNIC-accelerated servers. In Proceedings of the USENIX Annual Technical Conference (ATC’19). 363–378.
    [82]
    Xuanzhe Liu, Gang Huang, Qi Zhao, Hong Mei, and M. Brian Blake. 2014. iMashup: A mashup-based framework for service composition. Sci. China Inf. Sci. 57, 1 (2014), 1–20.
    [83]
    Xuanzhe Liu, Yi Hui, Wei Sun, and Haiqi Liang. 2007. Towards service composition based on mashup. In Proceedings of the IEEE International Conference on Services Computing Workshops (SCW’07). IEEE Computer Society, 332–339.
    [84]
    Sunil Kumar Mohanty, Gopika Premsankar, and Mario Di Francesco. 2018. An evaluation of open source serverless computing frameworks. In Proceedings of the IEEE 10th International Conference on Cloud Computing Technology and Science (CloudCom’18). 115–120.
    [85]
    Edward Oakes, Leon Yang, Dennis Zhou, Kevin Houck, Tyler Harter, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2018. SOCK: Rapid task provisioning with serverless-optimized containers. In Proceedings of the USENIX Annual Technical Conference (ATC’18). USENIX Association, 57–70.
    [86]
    Niels Groot Obbink, Ivano Malavolta, Gian Luca Scoccia, and Patricia Lago. 2018. An extensible approach for taming the challenges of JavaScript dead code elimination. In Proceedings of IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER’18). 291–401.
    [87]
    Giuseppe De Palma, Saverio Giallorenzo, Jacopo Mauro, and Gianluigi Zavattaro. 2020. Allocation priority policies for serverless function-execution scheduling optimisation. In Proceedings of the International Conference on Service-Oriented Computing. Springer, 416–430.
    [88]
    István Pelle, János Czentye, János Dóka, András Kern, Balázs P. Gerő, and Balázs Sonkoly. 2020. Operating latency sensitive applications on public serverless edge cloud platforms. IEEE Internet Things J. 8, 10 (2020), 7954–7972.
    [89]
    Hung Viet Pham, Shangshu Qian, Jiannan Wang, Thibaud Lutellier, Jonathan Rosenthal, Lin Tan, Yaoliang Yu, and Nachiappan Nagappan. 2020. Problems and opportunities in training deep learning software systems: An analysis of variance. In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE’20). 771–783.
    [90]
    Qifan Pu, Shivaram Venkataraman, and Ion Stoica. 2019. Shuffling, fast and slow: Scalable analytics on serverless infrastructure. In Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI’19). 193–206.
    [91]
    Chenxiong Qian, Hong Hu, Mansour Alharthi, Pak Ho Chung, Taesoo Kim, and Wenke Lee. 2019. RAZOR: A framework for post-deployment software debloating. In Proceedings of the 28th USENIX Security Symposium (USENIX Security’19). 1733–1750.
    [92]
    Anh Quach, Rukayat Erinfolami, David Demicco, and Aravind Prakash. 2017. A multi-OS cross-layer study of bloating in user programs, kernel and managed execution environments. In Proceedings of the Workshop on Forming an Ecosystem Around Software Transformation, FEAST 2017. 65–70.
    [93]
    Anh Quach, Aravind Prakash, and Lok Yan. 2018. Debloating software through piece-wise compilation and loading. In Proceedings of the 27th USENIX Security Symposium. 869–886.
    [94]
    Simone Romano, Christopher Vendome, Giuseppe Scanniello, and Denys Poshyvanyk. 2018. A multi-study investigation into dead code. IEEE Trans. Softw. Eng. 46, 1 (2018), 71–99.
    [95]
    Josep Sampé, Pedro Garcia-Lopez, Marc Sánchez-Artigas, Gil Vernik, Pol Roca-Llaberia, and Aitor Arjona. 2020. Toward multicloud access transparency in serverless computing. IEEE Softw. 38, 1 (2020), 68–74.
    [96]
    Mohammad Shahrad, Rodrigo Fonseca, Íñigo Goiri, Gohar Chaudhry, Paul Batum, Jason Cooke, Eduardo Laureano, Colby Tresness, Mark Russinovich, and Ricardo Bianchini. 2020. Serverless in the wild: Characterizing and optimizing the serverless workload at a large cloud provider. In Proceedings of the USENIX Annual Technical Conference, (ATC’20). 205–218.
    [97]
    Vaishaal Shankar, Karl Krauth, Kailas Vodrahalli, Qifan Pu, Benjamin Recht, Ion Stoica, Jonathan Ragan-Kelley, Eric Jonas, and Shivaram Venkataraman. 2020. Serverless linear algebra. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’20). 281–295.
    [98]
    Hashim Sharif, Muhammad Abubakar, Ashish Gehani, and Fareed Zaffar. 2018. TRIMMER: Application specialization for code debloating. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering (ASE’18). 329–339.
    [99]
    Simon Shillaker and Peter Pietzuch. 2020. Faasm: Lightweight isolation for efficient stateful serverless computing. In Proceedings of the USENIX Annual Technical Conference. 419–433.
    [100]
    Paulo Silva, Daniel Fireman, and Thiago Emmanuel Pereira. 2020. Prebaking functions to warm the serverless cold start. In Proceedings of the 21st International Middleware Conference. 1–13.
    [101]
    Arjun Singhvi, Arjun Balasubramanian, Kevin Houck, Mohammed Danish Shaikh, Shivaram Venkataraman, and Aditya Akella. 2021. Atoll: A scalable low-latency serverless platform. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’21). 138–152.
    [102]
    Davide Taibi, Josef Spillner, and Konrad Wawruch. 2020. Serverless computing-where are we now, and where are we heading? IEEE Softw. 38, 1 (2020), 25–31.
    [103]
    Ali Tariq, Austin Pahl, Sharat Nimmagadda, Eric Rozner, and Siddharth Lanka. 2020. Sequoia: Enabling quality-of-service in serverless computing. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’20). 311–327.
    [104]
    Parichehr Vahidinia, Bahar Farahani, and Fereidoon Shams Aliee. 2020. Cold start in serverless computing: Current trends and mitigation strategies. In Proceedings of the International Conference on Omni-layer Intelligent Systems. IEEE, 1–7.
    [105]
    Ao Wang, Shuai Chang, Huangshi Tian, Hongqi Wang, Haoran Yang, Huiba Li, Rui Du, and Yue Cheng. 2021. FaaSNet: Scalable and fast provisioning of custom serverless container runtimes at Alibaba cloud function compute. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC’21). 443–457.
    [106]
    Kai-Ting Amy Wang, Rayson Ho, and Peng Wu. 2019. Replayable execution optimized for page sharing for a managed runtime environment. In Proceedings of the 14th EuroSys Conference (EuroSys’19). 1–16.
    [107]
    Liang Wang, Mengyuan Li, Yinqian Zhang, Thomas Ristenpart, and Michael Swift. 2018. Peeking behind the curtains of serverless platforms. In Proceedings of the USENIX Annual Technical Conference (ATC’18). 133–146.
    [108]
    Jinfeng Wen, Zhenpeng Chen, Xin Jin, and Xuanzhe Liu. 2023. Rise of the planet of serverless computing: A systematic review. ACM Trans. Softw. Eng. Methodol. (2023).
    [109]
    Jinfeng Wen, Zhenpeng Chen, Yi Liu, Yiling Lou, Yun Ma, Gang Huang, Xin Jin, and Xuanzhe Liu. 2021. An empirical study on challenges of application development in serverless computing. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE’21). 416–428.
    [110]
    Jinfeng Wen, Yi Liu, Zhenpeng Chen, Junkai Chen, and Yun Ma. 2021. Characterizing commodity serverless computing platforms. J. Softw.: Evol. Process (2021), e2394.
    [111]
    Tianyi Yu, Qingyuan Liu, Dong Du, Yubin Xia, Binyu Zang, Ziqian Lu, Pingchao Yang, Chenggang Qin, and Haibo Chen. 2020. Characterizing serverless platforms with serverlessbench. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’20). 30–44.
    [112]
    Hong Zhang, Yupeng Tang, Anurag Khandelwal, Jingrong Chen, and Ion Stoica. 2021. Caerus: NIMBLE task scheduling for serverless analytics. In Proceedings of the 18th USENIX Symposium on Networked Systems Design and Implementation. 653–669.
    [113]
    Michael Zhang, Chandra Krintz, and Rich Wolski. 2021. Edge-adaptable serverless acceleration for machine learning Internet of Things applications. Softw.: Pract. Exper. 51, 9 (2021), 1852–1867.
    [114]
    Lei Zhao and Kai-Yuan Cai. 2010. Event handler-based coverage for GUI testing. In Proceedings of the 10th International Conference on Quality Software. 326–331.

    Cited By

    View all
    • (2024)Improving the interoperability of a Function‐as‐a‐Service platform using an orchestration framework with a cloud‐agnostic approachETRI Journal10.4218/etrij.2023-0443Online publication date: 12-Jun-2024
    • (2024)SERVERLESS ARCHITECTURE OVERVIEW: AN IN-DEPTH EXPLANATION OF WHAT SERVERLESS ARCHITECTURE IS, ITS KEY COMPONENTS, BENEFITS, AND CHALLENGESGrail of Science10.36074/grail-of-science.12.04.2024.028(169-178)Online publication date: 29-Apr-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
    • Show More Cited By

    Index Terms

    1. FaaSLight: General Application-level Cold-start Latency Optimization for Function-as-a-Service in Serverless Computing

            Recommendations

            Comments

            Information & Contributors

            Information

            Published In

            cover image ACM Transactions on Software Engineering and Methodology
            ACM Transactions on Software Engineering and Methodology  Volume 32, Issue 5
            September 2023
            905 pages
            ISSN:1049-331X
            EISSN:1557-7392
            DOI:10.1145/3610417
            • Editor:
            • Mauro Pezzè
            Issue’s Table of Contents

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            Published: 22 July 2023
            Online AM: 22 February 2023
            Accepted: 24 January 2023
            Revised: 03 December 2022
            Received: 16 May 2022
            Published in TOSEM Volume 32, Issue 5

            Permissions

            Request permissions for this article.

            Check for updates

            Author Tags

            1. Serverless computing
            2. cold start
            3. performance optimization
            4. optional function elimination

            Qualifiers

            • Research-article

            Funding Sources

            • National Key Research and Development Program of China
            • National Natural Science Foundation of China
            • National Natural Science Fund
            • Excellent Young Scientists Fund Program (Overseas)
            • ERC Advanced Grant

            Contributors

            Other Metrics

            Bibliometrics & Citations

            Bibliometrics

            Article Metrics

            • Downloads (Last 12 months)1,618
            • Downloads (Last 6 weeks)178
            Reflects downloads up to

            Other Metrics

            Citations

            Cited By

            View all
            • (2024)Improving the interoperability of a Function‐as‐a‐Service platform using an orchestration framework with a cloud‐agnostic approachETRI Journal10.4218/etrij.2023-0443Online publication date: 12-Jun-2024
            • (2024)SERVERLESS ARCHITECTURE OVERVIEW: AN IN-DEPTH EXPLANATION OF WHAT SERVERLESS ARCHITECTURE IS, ITS KEY COMPONENTS, BENEFITS, AND CHALLENGESGrail of Science10.36074/grail-of-science.12.04.2024.028(169-178)Online publication date: 29-Apr-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)Sustainable Serverless Computing with Cold-start Optimization and Automatic Workflow Resource SchedulingIEEE Transactions on Sustainable Computing10.1109/TSUSC.2023.3311197(1-12)Online publication date: 2024
            • (2024)MASTER: Machine Learning-Based Cold Start Latency Prediction Framework in Serverless Edge Computing Environments for Industry 4.0IEEE Journal of Selected Areas in Sensors10.1109/JSAS.2024.33964401(36-48)Online publication date: 2024
            • (2024)Cold-Start-Aware Cloud-Native Parallel Service Function Chain Caching in Edge–Cloud NetworkIEEE Internet of Things Journal10.1109/JIOT.2024.336962011:11(20340-20356)Online publication date: 1-Jun-2024
            • (2024)A Low-Latency Edge-Cloud Serverless Computing Framework with a Multi-Armed Bandit Scheduler2024 International Wireless Communications and Mobile Computing (IWCMC)10.1109/IWCMC61514.2024.10592558(1655-1660)Online publication date: 27-May-2024
            • (2024)SPES: Towards Optimizing Performance-Resource Trade-Off for Serverless Functions2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00020(165-178)Online publication date: 13-May-2024
            • (2024)Interless: Interference-Aware Deep Resource Prediction for Serverless Computing2024 36th Chinese Control and Decision Conference (CCDC)10.1109/CCDC62350.2024.10588201(3783-3788)Online publication date: 25-May-2024
            • (2024)Cold start latency mitigation mechanisms in serverless computing: Taxonomy, review, and future directionsJournal of Systems Architecture10.1016/j.sysarc.2024.103115151(103115)Online publication date: Jun-2024
            • Show More Cited By

            View Options

            Get Access

            Login options

            Full Access

            View options

            PDF

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            Full Text

            View this article in Full Text.

            Full Text

            Media

            Figures

            Other

            Tables

            Share

            Share

            Share this Publication link

            Share on social media