ABSTRACT
Serverless computing offers a pay-per-use model with high elasticity and automatic scaling for a wide range of applications. Since cloud providers abstract most of the underlying infrastructure, these services work similarly to black-boxes. As a result, users can influence the resources allocated to their functions, but might not be aware that they have to parallelize them to profit from the additionally allocated virtual CPUs (vCPUs). In this paper, we analyze the impact of parallelization within a single function and container instance for AWS Lambda, Google Cloud Functions (GCF), and Google Cloud Run (GCR). We focus on compute-intensive workloads since they benefit greatly from parallelization. Furthermore, we investigate the correlation between the number of allocated CPU cores and vCPUs in serverless environments. Our results show that the number of available cores to a function/container instance does not always equal the number of allocated vCPUs. By parallelizing serverless workloads, we observed cost savings up to 81% for AWS Lambda, 49% for GCF, and 69.8% for GCR.
- [n.d.]. MPI: A Message-Passing Interface Standard. https://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdfGoogle Scholar
- AWS. 2020. AWS Step Functions I AWS. https://aws.amazon.com/step-functions/Google Scholar
- Azure. 2020. Azure Durable Functions | Azure. https://docs.microsoft.com/en-us/azure/azure-functions/durable/Google Scholar
- Daniel Barcelona-Pons, Pedro García-López, Álvaro Ruiz, Amanda Gómez-Gómez, Gerard París, and Marc Sánchez-Artigas. 2019. FaaS Orchestration of Parallel Workloads. In Proceedings of the 5th International Workshop on Serverless Computing (Davis, CA, USA) (WOSC '19). Association for Computing Machinery, New York, NY, USA, 25--30. https://doi.org/10.1145/3366623.3368137Google ScholarDigital Library
- Daniel Barcelona-Pons, Marc Sánchez-Artigas, Gerard París, Pierre Sutra, and Pedro García-López. 2019. On the FaaS Track: Building Stateful Distributed Applications with Serverless Architectures. In Proceedings of the 20th International Middleware Conference (Davis, CA, USA) (Middleware '19). Association for Computing Machinery, New York, NY, USA, 41--54. https://doi.org/10.1145/3361525.3361535Google ScholarDigital Library
- 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. 13--24.Google ScholarDigital Library
- Mohak Chadha, Anshul Jindal, and Michael Gerndt. 2020. Towards Federated Learning Using FaaS Fabric. In Proceedings of the 2020 Sixth International Workshop on Serverless Computing (WoSC'20). Association for Computing Machinery, New York, NY, USA, 49--54. https://doi.org/10.1145/3429880.3430100Google ScholarDigital Library
- Mohak Chadha, Anshul Jindal, and Michael Gerndt. 2021. Architecture-Specific Performance Optimization of Compute-Intensive FaaS Functions. arXiv preprint arXiv:2107.10008 (2021).Google Scholar
- Ryan Chard, Yadu Babuji, Zhuozhao Li, Tyler Skluzacek, Anna Woodard, Ben Blaiszik, Ian Foster, and Kyle Chard. 2020. FuncX: A Federated Function Serving Fabric for Science. In Proceedings of the 29th International Symposium on High-Performance Parallel and Distributed Computing (Stockholm, Sweden) (HPDC '20). Association for Computing Machinery, New York, NY, USA, 65--76. https://doi.org/10.1145/3369583.3392683Google ScholarDigital Library
- Robert Cordingly, Navid Heydari, Hanfei Yu, Varik Hoang, Zohreh Sadeghi, and Wes Lloyd. 2021. Enhancing Observability of Server-less Computing with the Serverless Application Analytics Framework. In Companion of the ACM/SPEC International Conference on Performance Engineering (Virtual Event, France) (ICPE '21). Association for Computing Machinery, New York, NY, USA, 161--164. https://doi.org/10.1145/3447545.3451173Google ScholarDigital Library
- Susan J Eggers, Joel S Emer, Henry M Levy, Jack L Lo, Rebecca L Stamm, and Dean M Tullsen. 1997. Simultaneous multithreading: A platform for next-generation processors. IEEE micro 17, 5 (1997), 12--19.Google Scholar
- NPBench Github. 2021. https://github.com/spcl/npbench. Accessed: 09/06/2021.Google Scholar
- Pyperformance Github. 2021. https://github.com/python/pyperformance. Accessed: 09/09/2021.Google Scholar
- Piotr Grzesik and Dariusz Mrozek. 2021. Serverless Nanopore Base-calling with AWS Lambda. In Computational Science - ICCS 2021, Maciej Paszynski, Dieter Kranzlmüller, Valeria V. Krzhizhanovskaya, Jack J. Dongarra, and Peter M. A. Sloot (Eds.). Springer International Publishing, Cham, 578--586.Google Scholar
- Jiawei Jiang, Shaoduo Gan, Yue Liu, Fanlin Wang, Gustavo Alonso, Ana Klimovic, Ankit Singla, Wentao Wu, and Ce Zhang. 2021. Towards Demystifying Serverless Machine Learning Training. Proceedings of the 2021 International Conference on Management of Data (Jun 2021). https://doi.org/10.1145/3448016.3459240Google ScholarDigital Library
- Anshul Jindal, Mohak Chadha, Michael Gerndt, Julian Frielinghaus, Vladimir Podolskiy, and Pengfei Chen. 2021. Poster: Function Delivery Network: Extending Serverless to Heterogeneous Computing. In 2021 IEEE 41st International Conference on Distributed Computing Systems (ICDCS). 1128--1129. https://doi.org/10.1109/ICDCS51616.2021.00120Google ScholarCross Ref
- Anshul Jindal, Michael Gerndt, Mohak Chadha, Vladimir Podolskiy, and Pengfei Chen. 2021. Function delivery network: Extending server-less computing for heterogeneous platforms. Software: Practice and Experience 51, 9 (2021), 1936--1963. https://doi.org/10.1002/spe.2966 arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/spe.2966Google ScholarCross Ref
- D. Kelly, F. Glavin, and E. Barrett. 2020. Serverless Computing: Behind the Scenes of Major Platforms. In 2020 IEEE 13th International Conference on Cloud Computing (CLOUD). 304--312. https://doi.org/10.1109/CLOUD49709.2020.00050Google Scholar
- Michael Kiener. 2021. Towards Demystifying Intra-Function Parallelism in Serverless Computing. Masterarbeit. Technische Universität München.Google Scholar
- Knative. [n.d.]. https://knative.dev/docs/. Accessed 09/24/2020.Google Scholar
- Siu Kwan Lam, Antoine Pitrou, and Stanley Seibert. 2015. Numba: A LLVM-Based Python JIT Compiler. In Proceedings of the Second Workshop on the LLVM Compiler Infrastructure in HPC (Austin, Texas) (LLVM 15). Association for Computing Machinery, New York, NY, USA, Article 7, 6 pages. https://doi.org/10.1145/2833157.2833162Google ScholarDigital Library
- OpenWhisk Composer. 2020. OpenWhisk Composer | OpenWhisk. https://github.com/apache/openwhisk-composerGoogle Scholar
- Google Cloud Platform. 2021. https://cloud.google.com/functions/pricing. Accessed: 09/06/2021.Google Scholar
- Google Cloud Platform. 2021. https://cloud.google.com/run/. Accessed: 09/06/2021.Google Scholar
- Google Cloud Platform. 2021. https://cloud.google.com/run/docs/configuring/cpu. Accessed: 09/06/2021.Google Scholar
- Google Cloud Platform. 2021. https://cloud.google.com/run/pricing. Accessed: 09/06/2021.Google Scholar
- Danilo Poccia. [n.d.]. https://aws.amazon.com/blogs/aws/new-for-aws-lambda-use-any-programming-language-and-share-common-components/. accessed: 08/25/2021.Google Scholar
- Danilo Poccia. [n.d.]. https://github.com/awslabs/aws-lambda-cpp. accessed: 08/25/2021.Google Scholar
- Amazon Web Services. 2021. https://aws.amazon.com/lambda/pricing/. Accessed: 09/06/2021.Google Scholar
- Amazon Web Services. 2021. https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html. Accessed: 09/06/2021.Google Scholar
- 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 11th ACM Symposium on Cloud Computing (Virtual Event, USA) (SoCC '20). Association for Computing Machinery, New York, NY, USA, 281--295. https://doi.org/10.1145/3419111.3421287Google ScholarDigital Library
- Guillermo L. Taboada, Juan Touriño, and Ramón Doallo. 2009. Java for High Performance Computing: Assessment of Current Research and Practice. In Proceedings of the 7th International Conference on Principles and Practice of Programming in Java (Calgary, Alberta, Canada) (PPPJ '09). Association for Computing Machinery, New York, NY, USA, 30--39. https://doi.org/10.1145/1596655.1596661Google ScholarDigital Library
- Alexandros Nikolaos Ziogas, Tal Ben-Nun, Timo Schneider, and Torsten Hoefler. 2021. NPBench: a benchmarking suite for high-performance NumPy. In Proceedings of the ACM International Conference on Supercomputing. 63--74.Google ScholarDigital Library
Index Terms
- Towards Demystifying Intra-Function Parallelism in Serverless Computing
Recommendations
Supporting Multi-Provider Serverless Computing on the Edge
ICPP Workshops '18: Workshop Proceedings of the 47th International Conference on Parallel ProcessingServerless computing has recently emerged as a new execution model for cloud computing, in which service providers offer compute runtimes, also known as Function-as-a-Service (FaaS) platforms, allowing users to develop, execute and manage application ...
Migrating from microservices to serverless: an IoT platform case study
WoSC '22: Proceedings of the Eighth International Workshop on Serverless ComputingMicroservice architecture is the common choice for developing cloud applications these days since each individual microservice can be independently modified, replaced, and scaled. As a result, application development and operating cloud infrastructure ...
Architectural Implications of Function-as-a-Service Computing
MICRO '52: Proceedings of the 52nd Annual IEEE/ACM International Symposium on MicroarchitectureServerless computing is a rapidly growing cloud application model, popularized by Amazon's Lambda platform. Serverless cloud services provide fine-grained provisioning of resources, which scale automatically with user demand. Function-as-a-Service (FaaS)...
Comments