skip to main content
10.1145/3468737.3494097acmconferencesArticle/Chapter ViewAbstractPublication PagesuccConference Proceedingsconference-collections
research-article

Courier: delivering serverless functions within heterogeneous FaaS deployments

Published:17 December 2021Publication History

ABSTRACT

With the advent of serverless computing in different domains, there is a growing need for dynamic adaption to handle diverse and heterogeneous functions. However, serverless computing is currently limited to homogeneous Function-as-a-Service (FaaS) deployments or simply FaaS Deployment (FaaSD) consisting of deployments of serverless functions using a FaaS platform in a region with certain memory configurations. Extending serverless computing to support Heterogeneous FaaS Deployments (HeteroFaaSDs) consisting of multiple FaaSDs with variable configurations (FaaS platform, region, and memory) and dynamically load balancing the invocations of the functions across these FaaSDs within a HeteroFaaSD can provide an optimal way for handling such serverless functions.

In this paper, we present a software system called Courier that is responsible for optimally distributing the invocations of the functions (called delivering of serverless functions) within the HeteroFaaSDs based on the execution time of the functions on the FaaSDs comprising the HeteroFaaSDs. To this end, we developed two approaches: Auto Weighted Round-Robin (AWRR) and PerFunction Auto Weighted Round-Robin (PFAWRR) that use functions execution times for delivering serverless functions within a HeteroFaaSD to reduce the overall execution time. We demonstrate and evaluate the functioning of our developed tool on three HeteroFaaSDs using three FaaS platforms: 1) on-premise Open-Whisk, 2) AWS Lambda, and 3) Google Cloud Functions (GCF). We show that Courier can improve the overall performance of the invocations of the functions within a HeteroFaaSD as compared to traditional load balancing algorithms.

References

  1. Austin Aske and Xinghui Zhao. 2018. Supporting Multi-Provider Serverless Computing on the Edge. In Proceedings of the 47th International Conference on Parallel Processing Companion (Eugene, OR, USA) (ICPP '18). Association for Computing Machinery, New York, NY, USA, Article 20, 6 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AWS. [n.d.]. AWS Elastic LoadBalancer Limits. $https://docs.aws.amazon.com/de_de/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html$. Accessed: 2021-01-10.Google ScholarGoogle Scholar
  3. AWS Elastic Load Balancing. [n.d.]. https://aws.amazon.com/elasticloadbalancing/. Accessed 09/24/2020.Google ScholarGoogle Scholar
  4. AWS Lambda Pricing. [n.d.]. https://aws.amazon.com/lambda/pricing/. Accessed 09/24/2020.Google ScholarGoogle Scholar
  5. Ioana Baldini, Paul Castro, Kerry Chang, Perry Cheng, Stephen Fink, Vatche Ishakian, Nick Mitchell, Vinod Muthusamy, Rodric Rabbah, Aleksander Slominski, and Philippe Suter. 2017. Serverless Computing: Current Trends and Open Problems. In Research Advances in Cloud Computing. Springer Singapore, 1--20. Google ScholarGoogle ScholarCross RefCross Ref
  6. Flavio Bonomi, Rodolfo Milito, Jiang Zhu, and Sateesh Addepalli. 2012. Fog Computing and Its Role in the Internet of Things. In Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing (Helsinki, Finland) (MCC '12). Association for Computing Machinery, New York, NY, USA, 13--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Antonio Brogi, Ahmad Ibrahim, Jacopo Soldani, José Carrasco, Javier Cubo, Ernesto Pimentel, and Francesco D'Andria. 2014. SeaClouds. ACM SIGSOFT Software Engineering Notes 39, 1 (2 2014), 1--4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Apache Brooklyn. [n.d.]. The Theory behind Brooklyn. https://brooklyn.apache.org/learnmore/theory.html. Accessed: 2020-01-10.Google ScholarGoogle Scholar
  9. Bernd Bruegge. 2010. Object-oriented software engineering : using UML, patterns, and Java. Prentice Hall, Boston. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 (Delft, Netherlands) (WoSC'20). Association for Computing Machinery, New York, NY, USA, 49--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Mohak Chadha, Anshul Jindal, and Michael Gerndt. 2021. Architecture-Specific Performance Optimization of Compute-Intensive FaaS Functions. CoRR abs/2107.10008 (2021). arXiv:2107.10008 https://arxiv.org/abs/2107.10008Google ScholarGoogle Scholar
  12. Simon Eismann, Joel Scheuner, Erwin van Eyk, Maximilian Schwinger, Johannes Grohmann, Nikolas Herbst, Cristina L. Abad, and Alexandru Iosup. [n.d.]. A Review of Serverless Use Cases and their Characteristics. ([n. d.]). arXiv:2008.11110 [cs.SE]Google ScholarGoogle Scholar
  13. Youssef Fahim, Hamza Rahhali, Mohamed Hanine, El-Habib Benlahmar, El-Houssine Labriji, Mostafa Hanoune, and Ahmed Eddaoui. 2018. Load Balancing in Cloud Computing Using Meta-Heuristic Algorithm. Journal of Information Processing Systems 14, 3 (2018).Google ScholarGoogle Scholar
  14. Chen-Fu Fan., Anshul Jindal., and Michael Gerndt. 2020. Microservices vs Serverless: A Performance Comparison on a Cloud-native Web Application. In Proceedings of the 10th International Conference on Cloud Computing and Services Science - CLOSER,. INSTICC, SciTePress, 204--215. Google ScholarGoogle ScholarCross RefCross Ref
  15. Martin Fowler. 2014. Circuit Breaker. https://martinfowler.com/bliki/CircuitBreaker.html. Accessed: 2021-01-10.Google ScholarGoogle Scholar
  16. Geoffrey C. Fox, Vatche Ishakian, Vinod Muthusamy, and Aleksander Slominski. [n.d.]. Status of Serverless Computing and Function-as-a-Service(FaaS) in Industry and Research. ([n. d.]). arXiv:1708.08028 [cs.DC] Google ScholarGoogle ScholarCross RefCross Ref
  17. Joseph M. Hellerstein, Jose M. Faleiro, Joseph Gonzalez, Johann Schleier-Smith, Vikram Sreekanti, Alexey Tumanov, and Chenggang Wu. 2018. Serverless Computing: One Step Forward, Two Steps Back. ArXiv abs/1812.03651 (2018).Google ScholarGoogle Scholar
  18. Influxdata. [n.d.]. Influxdb. https://www.influxdata.com/products/influxdb/. Accessed: 2021-05-27.Google ScholarGoogle Scholar
  19. Anshul Jindal, Mohak Chadha, Shajulin Benedict, and Michael Gerndt. 2021. Estimating the Capacities of Function-as-a-Service Functions. In Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing Companion (Leicester, United Kingdom) (UCC '21 Companion). Association for Computing Machinery, New York, NY, USA, 8 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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. Google ScholarGoogle ScholarCross RefCross Ref
  21. Anshul Jindal, Michael Gerndt, Mohak Chadha, Vladimir Podolskiy, and Pengfei Chen. 2021. Function delivery network: Extending serverless computing for heterogeneous platforms. Software: Practice and Experience 51, 9 (2021), 1936--1963. arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/spe.2966 Google ScholarGoogle ScholarCross RefCross Ref
  22. k6. [n.d.]. API load testing. https://k6.io/docs/testing-guides/api-load-testing/. Accessed: 2021-05-25.Google ScholarGoogle Scholar
  23. K6. [n.d.]. K6 Results output. https://k6.io/docs/getting-started/results-output/. Accessed: 2021-05-27.Google ScholarGoogle Scholar
  24. 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. Google ScholarGoogle ScholarCross RefCross Ref
  25. M Lavanya and V Vaithiyanathan. 2015. Load prediction algorithm for dynamic resource allocation. Indian J Sci Technol 8 (2015), 35.Google ScholarGoogle ScholarCross RefCross Ref
  26. Sulav Malla and Ken Christensen. 2019. HPC in the cloud: Performance comparison of function as a service (FaaS) vs infrastructure as a service (IaaS). Internet Technology Letters 3, 1 (12 2019), e137. Google ScholarGoogle ScholarCross RefCross Ref
  27. MinIO. [n.d.]. MinIO Object Storage. https://min.io/product/overview. Accessed: 2021-05-27.Google ScholarGoogle Scholar
  28. Netcraft. [n.d.]. November 2020 Web Server Survey. https://news.netcraft.com/archives/2020/11/30/november-2020-web-server-survey.html. Accessed: 2021-05-25.Google ScholarGoogle Scholar
  29. NGINX. [n.d.]. NGINX Load Balancing Algorithms. https://www.nginx.com/blog/choosing-nginx-plus-load-balancing-techniques/. Accessed: 2020-01-10.Google ScholarGoogle Scholar
  30. E. D. Nitto, M. A. A. d. Silva, D. Ardagna, G. Casale, C. D. Craciun, N. Ferry, V. Muntes, and A. Solberg. 2013. Supporting the Development and Operation of Multi-cloud Applications: The MODAClouds Approach. In 2013 15th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing. 417--423. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Klaithem Al Nuaimi, Nader Mohamed, Mariam Al Nuaimi, and Jameela Al-Jaroodi. 2012. A Survey of Load Balancing in Cloud Computing: Challenges and Algorithms. In 2012 Second Symposium on Network Cloud Computing and Applications. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Google Cloud Platform. [n.d.]. Serverless network endpoint groups overview. https://cloud.google.com/load-balancing/docs/negs/serverless-neg-concepts. Accessed: 2021-05-27.Google ScholarGoogle Scholar
  33. Mike Roberts. 2018. Serverless Architectures. https://martinfowler.com/articles/serverless.html. Accessed: 2020-04-17.Google ScholarGoogle Scholar
  34. 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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. G. Siva Shanmugam and N.Ch.S. N. Iyengar. 2016. Effort of Load Balancer to Achieve Green Cloud Computing: A Review. International Journal of Multimedia and Ubiquitous Engineering 11, 3 (3 2016), 317--332. Google ScholarGoogle ScholarCross RefCross Ref
  36. The Eclipse Jetty Project. [n.d.]. https://www.eclipse.org/jetty/. Accessed 09/24/2020.Google ScholarGoogle Scholar
  37. The Serverless Framework. [n.d.]. https://www.serverless.com/. Accessed 09/24/2020.Google ScholarGoogle Scholar
  38. Ruixia Tong and Xiongfeng Zhu. 2010. A Load Balancing Strategy Based on the Combination of Static and Dynamic. In 2010 2nd International Workshop on Database Technology and Applications. IEEE. Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Courier: delivering serverless functions within heterogeneous FaaS deployments

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      UCC '21: Proceedings of the 14th IEEE/ACM International Conference on Utility and Cloud Computing
      December 2021
      214 pages
      ISBN:9781450385640
      DOI:10.1145/3468737

      Copyright © 2021 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 17 December 2021

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      UCC '21 Paper Acceptance Rate21of62submissions,34%Overall Acceptance Rate38of125submissions,30%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader