Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3620678.3624654acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Parrotfish: Parametric Regression for Optimizing Serverless Functions

Published: 31 October 2023 Publication History

Abstract

Serverless computing is a new paradigm that aims to remove the burdens of cloud management from developers. Yet rightsizing serverless functions remains a pain point for developers. Choosing the right memory configuration is necessary to ensure cost and/or performance optimality for serverless workloads. In this work, we identify that using parametric regression can significantly simplify function rightsizing compared to black-box optimization techniques currently available. With this insight, we build a tool, called Parrotfish, which finds optimal configurations through an online learning process. It also allows users to communicate constraints on execution time, or to relax cost optimality to gain performance. Parrotfish achieves substantially lower exploration costs (1.81-9.96×) compared with the state-of-the-art tools, while delivering similar or better recommendations.

References

[1]
Nabeel Akhtar, Ali Raza, Vatche Ishakian, and Ibrahim Matta. 2020. COSE: Configuring serverless functions using statistical learning. In IEEE INFOCOM 2020-IEEE Conference on Computer Communications. IEEE, 129--138.
[2]
Omid Alipourfard, Hongqiang Harry Liu, Jianshu Chen, Shivaram Venkataraman, Minlan Yu, and Ming Zhang. 2017. Cherrypick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics. In Proceedings of the 14th USENIX Conference on Networked Systems Design and Implementation (NSDI'17). USENIX Association, 469--482.
[3]
Artem Arkhipov. 2022. How to Get Headless Chrome Running via Puppeteer on AWS Lambda. Retrieved 2023-09-25 from https://www.techmagic.co/blog/running-headless-chrome-with-aws-lambda-layers/
[4]
AWS. 2023. AWS Compute Optimizer. Retrieved 2023-09-22 from https://aws.amazon.com/compute-optimizer/
[5]
AWS. 2023. AWS Lambda Pricing. Retrieved 2023-09-25 from https://aws.amazon.com/lambda/pricing/
[6]
AWS. 2023. Configuring Lambda Function Options. Retrieved 2023-09-25 from https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html
[7]
AWS. 2023. Profiling functions with AWS Lambda Power Tuning. Retrieved 2023-09-25 from https://docs.aws.amazon.com/lambda/latest/operatorguide/profile-functions.html
[8]
AWS. 2023. S3 image resizer (Java). Retrieved 2023-09-18 from https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/s3-java
[9]
AWS. 2023. Troubleshooting Lambda configurations. Retrieved 2023-09-25 from https://docs.aws.amazon.com/lambda/latest/operatorguide/configurations.html
[10]
Azure. 2023. Azure Functions pricing. Retrieved 2023-09-25 from https://azure.microsoft.com/en-us/pricing/details/functions/
[11]
Ataollah Fatahi Baarzi, George Kesidis, Carlee Joe-Wong, and Mohammad Shahrad. 2021. On Merits and Viability of Multi-Cloud Serverless. In Proceedings of the ACM Symposium on Cloud Computing (SoCC '21). ACM, 600--608.
[12]
Mike Bailey. 2019. Right-sizing your AWS Lambdas. Retrieved 2023-09-25 from https://mike.bailey.net.au/2019/05/right-sizing-your-aws-lambdas/
[13]
Vivek M. Bhasi, Jashwant Raj Gunasekaran, Aakash Sharma, Mahmut Taylan Kandemir, and Chita Das. 2022. Cypress: Input Size-Sensitive Container Provisioning and Request Scheduling for Serverless Platforms. In Proceedings of the 13th Symposium on Cloud Computing (SoCC '22). ACM, 257--272.
[14]
Alex Casalboni. 2019. AWS Lambda Power Tuning. Retrieved 2023-06-06 from https://github.com/alexcasalboni/aws-lambda-power-tuning
[15]
Marcin Copik, Grzegorz Kwasniewski, Maciej Besta, Michal Podstawski, and Torsten Hoefler. 2021. SeBS: A Serverless Benchmark Suite for Function-as-a-Service Computing. In Proceedings of the 22nd International Middleware Conference (Middleware '21). ACM, 64--78.
[16]
Robert Cordingly, Wen Shu, and Wes J. Lloyd. 2020. Predicting Performance and Cost of Serverless Computing Functions with SAAF. In 2020 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech). 640--649. https://doi.org/10.1109/DASC-PICom-CBDCom-CyberSciTech49142.2020.00111
[17]
Robert Cordingly, Sonia Xu, and Wes Lloyd. 2022. Function Memory Optimization for Heterogeneous Serverless Platforms with CPU Time Accounting. In 2022 IEEE International Conference on Cloud Engineering (IC2E). 104--115.
[18]
Datadog. 2021. The state of serverless. Retrieved 2023-09-25 from https://www.datadoghq.com/state-of-serverless-2021/
[19]
Datadog. 2022. The state of serverless. Retrieved 2023-09-25 from https://www.datadoghq.com/state-of-serverless-2022/
[20]
Arnaud de Myttenaere, Boris Golden, Bénédicte Le Grand, and Fabrice Rossi. 2016. Mean Absolute Percentage Error for regression models. Neurocomputing 192 (jun 2016), 38--48. https://doi.org/10.1016/j.neucom.2015.12.114
[21]
Simon Eismann, Long Bui, Johannes Grohmann, Cristina Abad, Nikolas Herbst, and Samuel Kounev. 2021. Data and evaluation scripts for the manuscript "Sizeless: Predicting the optimal size of serverless functions". Retrieved 2023-05-07 from https://codeocean.com/capsule/6066333
[22]
Simon Eismann, Long Bui, Johannes Grohmann, Cristina Abad, Nikolas Herbst, and Samuel Kounev. 2021. Sizeless: Predicting the Optimal Size of Serverless Functions. In Proceedings of the 22nd International Middleware Conference. ACM, 248--259.
[23]
Simon Eismann, Johannes Grohmann, Erwin Van Eyk, Nikolas Herbst, and Samuel Kounev. 2020. Predicting the costs of serverless workflows. In Proceedings of the ACM/SPEC international conference on performance engineering. 265--276.
[24]
Mohamed Elsakhawy and Michael Bauer. 2021. Performance Analysis of Serverless Execution Environments. In 2021 International Conference on Electrical, Communication, and Computer Engineering (ICECCE). 1--6.
[25]
Alexander Fuerst and Prateek Sharma. 2022. Locality-Aware Load-Balancing For Serverless Clusters. In Proceedings of the 31st International Symposium on High-Performance Parallel and Distributed Computing (HPDC '22). ACM, 227--239.
[26]
Samuel Ginzburg and Michael J. Freedman. 2020. Serverless isn't server-less: Measuring and exploiting resource variability on cloud FaaS platforms. In Proceedings of the 2020 Sixth International Workshop on Serverless Computing. 43--48.
[27]
Wenqi Glantz. 2023. Automating performance optimization with AWS Lambda Power Tuning. Retrieved 2023-06-06 from https://betterprogramming.pub/automating-performance-optimization-with-aws-lambda-power-tuning-d295e7141ecc
[28]
Zhiyuan Guo, Zachary Blanco, Mohammad Shahrad, Zerui Wei, Bili Dong, Jinmou Li, Ishaan Pota, Harry Xu, and Yiying Zhang. 2022. Resource-Centric Serverless Computing. arXiv preprint arXiv:2206.13444 (2022).
[29]
John L Hennessy and David A Patterson. 2011. Computer architecture: a quantitative approach. Elsevier.
[30]
IBM. 2023. IBM Cloud Functions Pricing. Retrieved 2023-09-25 from https://cloud.ibm.com/functions/learn/pricing/
[31]
Daniel Ireson. 2021. Formplug. Retrieved 2023-09-25 from https://github.com/danielireson/formplug/
[32]
Jeongchul Kim and Kyungyong Lee. 2019. FunctionBench: A suite of workloads for serverless cloud function service. In 2019 IEEE 12th International Conference on Cloud Computing (CLOUD). IEEE, 502--504.
[33]
Mohamed Labouardy. 2019. How We Reduced Lambda Functions Costs by Thousands of Dollars. Retrieved 2023-09-25 from https://labouardy.com/how-we-reduced-lambda-functions-costs-by-thousands-of-dollars/
[34]
Danielle Lambion, Robert Schmitz, Robert Cordingly, Navid Heydari, and Wes Lloyd. 2022. Characterizing X86 and ARM Serverless Performance Variation: A Natural Language Processing Case Study (ICPE '22). ACM, 69--75.
[35]
Ashraf Mahgoub, Edgardo Barsallo Yi, Karthick Shankar, Sameh Elnikety, Somali Chaterji, and Saurabh Bagchi. 2022. ORION and the Three Rights: Sizing, Bundling, and Prewarming for Serverless DAGs. In 16th USENIX Symposium on Operating Systems Design and Implementation (OSDI 22). USENIX Association, 303--320. https://www.usenix.org/conference/osdi22/presentation/mahgoub
[36]
Djob Mvondo, Mathieu Bacou, Kevin Nguetchouang, Lucien Ngale, Stéphane Pouget, Josiane Kouam, Renaud Lachaize, Jinho Hwang, Tim Wood, Daniel Hagimont, Noël De Palma, Bernabé Batchakui, and Alain Tchana. 2021. OFC: An Opportunistic Caching System for FaaS Platforms. In Proceedings of the Sixteenth European Conference on Computer Systems (EuroSys '21). ACM, 228--244.
[37]
Sebastien Napoleon. 2023. How to optimize your lambda functions with Aws Lambda Power Tuning. Retrieved 2023-09-25 from https://dev.to/aws-builders/how-to-optimize-your-lambda-functions-with-aws-lambda-power-tuning-10h5
[38]
OriginLab. 2023. OriginPro, Version 2023b. Retrieved 2023-09-25 from https://www.originlab.com/origin OriginLab Corporation, Northampton, MA, USA.
[39]
Jinsu Park, Seongbeom Park, and Woongki Baek. 2019. CoPart: Coordinated Partitioning of Last-Level Cache and Memory Bandwidth for Fairness-Aware Workload Consolidation on Commodity Servers. In Proceedings of the Fourteenth EuroSys Conference 2019 (EuroSys '19). ACM, Article 10, 16 pages.
[40]
Anish Pimpley, Shuo Li, Anubha Srivastava, Vishal Rohra, Yi Zhu, Soundararajan Srinivasan, Alekh Jindal, Hiren Patel, Shi Qiao, and Rathijit Sen. 2021. Optimal resource allocation for serverless queries. arXiv preprint arXiv:2107.08594 (2021).
[41]
Rohan Basu Roy, Tirthak Patel, and Devesh Tiwari. 2022. IceBreaker: Warming Serverless Functions Better with Heterogeneity. In Proceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '22). ACM, 753--767.
[42]
Ghazal Sadeghian, Mohamed Elsakhawy, Mohanna Shahrad, Joe Hattori, and Mohammad Shahrad. 2023. UnFaaSener: Latency and Cost Aware Offloading of Functions from Serverless Platforms. In 2023 USENIX Annual Technical Conference (USENIX ATC 23). USENIX Association, 879--896.
[43]
Gor Safaryan, Anshul Jindal, Mohak Chadha, and Michael Gerndt. 2022. SLAM: SLO-Aware Memory Optimization for Serverless Applications. In 2022 IEEE 15th International Conference on Cloud Computing (CLOUD). IEEE Computer Society, 30--39.
[44]
Joel Scheuner, Rui Deng, Jan-Philipp Steghöfer, and Philipp Leitner. 2022. CrossFit: Fine-grained Benchmarking of Serverless Application Performance across Cloud Providers. In 2022 IEEE/ACM 15th International Conference on Utility and Cloud Computing (UCC). IEEE, 51--60.
[45]
Trever Schirmer, Nils Japke, Sofia Greten, Tobias Pfandzelter, and David Bermbach. 2023. The Night Shift: Understanding Performance Variability of Cloud Serverless Platforms. In Proceedings of the 1st Workshop on SErverless Systems, Applications and MEthodologies (SESAME '23). ACM, 27--33.
[46]
Gideon Schwarz. 1978. Estimating the Dimension of a Model. The Annals of Statistics 6, 2 (1978), 461--464. https://doi.org/10.1214/aos/1176344136
[47]
Özgür Sedefoğlu and Hasan Sözer. 2021. Cost Minimization for Deploying Serverless Functions. In Proceedings of the 36th Annual ACM Symposium on Applied Computing (SAC '21). ACM, 83--85.
[48]
Mohammad Shahrad, Jonathan Balkind, and David Wentzlaff. 2019. Architectural implications of function-as-a-service computing. In Proceedings of the 52nd annual IEEE/ACM international symposium on microarchitecture. 1063--1075.
[49]
Mohammad Shahrad, Sameh Elnikety, and Ricardo Bianchini. 2021. Provisioning Differentiated Last-Level Cache Allocations to VMs in Public Clouds. In Proceedings of the ACM Symposium on Cloud Computing (SoCC '21). ACM, 319--334.
[50]
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 2020 USENIX Conference on Usenix Annual Technical Conference (USENIX ATC '20). USENIX Association, Article 14, 14 pages.
[51]
Prakash P Shenoy and Glenn Shafer. 1990. Axioms for probability and belief-function propagation. In Machine intelligence and pattern recognition. Vol. 9. Elsevier, 169--198.
[52]
Prasoon Sinha, Kostis Kaffes, and Neeraja J. Yadwadkar. 2023. Online Learning for Right-Sizing Serverless Functions. In Architecture and System Support for Transformer Models (ASSYST @ISCA 2023). https://openreview.net/forum?id=4zdPNY3SDQk
[53]
Brett Uglow. 2022. Easy lambda optimization. Retrieved 2023-09-25 from https://medium.com/digio-australia/easy-lambda-optimization-c2f2e6e49515
[54]
Dmitrii Ustiugov, Plamen Petrov, Marios Kogias, Edouard Bugnion, and Boris Grot. 2021. Benchmarking, Analysis, and Optimization of Serverless Function Snapshots. In Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '21). ACM, 559--572.
[55]
Shivaram Venkataraman, Zongheng Yang, Michael Franklin, Benjamin Recht, and Ion Stoica. 2016. Ernest: Efficient Performance Prediction for Large-Scale Advanced Analytics. In Proceedings of the 13th Usenix Conference on Networked Systems Design and Implementation (NSDI'16). USENIX Association, 363--378.
[56]
Howard Dean Watts. 2020. lambda-OCRmyPDF. Retrieved 2023-09-22 from https://github.com/chronograph-pe/lambda-OCRmyPDF
[57]
Zhaojie Wen, Yishuo Wang, and Fangming Liu. 2022. StepConf: SLO-Aware Dynamic Resource Configuration for Serverless Function Workflows. In IEEE INFOCOM 2022 - IEEE Conference on Computer Communications. 1868--1877. https://doi.org/10.1109/INFOCOM48880.2022.9796962
[58]
Neeraja J. Yadwadkar, Bharath Hariharan, Joseph E. Gonzalez, Burton Smith, and Randy H. Katz. 2017. Selecting the Best VM across Multiple Public Clouds: A Data-Driven Performance Modeling Approach. In Proceedings of the 2017 Symposium on Cloud Computing (SoCC '17). ACM, 452--465.
[59]
Yanqi Zhang, Íñigo Goiri, Gohar Irfan Chaudhry, Rodrigo Fonseca, Sameh Elnikety, Christina Delimitrou, and Ricardo Bianchini. 2021. Faster and Cheaper Serverless Computing on Harvested Resources. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles (SOSP '21). ACM, 724--739.
[60]
Zhuangzhuang Zhou, Yanqi Zhang, and Christina Delimitrou. 2022. AQUATOPE: QoS-and-Uncertainty-Aware Resource Management for Multi-Stage Serverless Workflows. In Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1 (ASPLOS 2023). ACM, 1--14.

Cited By

View all

Index Terms

  1. Parrotfish: Parametric Regression for Optimizing Serverless Functions

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SoCC '23: Proceedings of the 2023 ACM Symposium on Cloud Computing
    October 2023
    624 pages
    ISBN:9798400703874
    DOI:10.1145/3620678
    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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 31 October 2023

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Performance Modeling
    2. Serverless Computing

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    Conference

    SoCC '23
    Sponsor:
    SoCC '23: ACM Symposium on Cloud Computing
    October 30 - November 1, 2023
    CA, Santa Cruz, USA

    Acceptance Rates

    Overall Acceptance Rate 169 of 722 submissions, 23%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • 0
      Total Citations
    • 375
      Total Downloads
    • Downloads (Last 12 months)364
    • Downloads (Last 6 weeks)37
    Reflects downloads up to 24 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all

    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