ABSTRACT
Function as a Service (FaaS) is based on a reactive programming model where functions are activated by triggers in response to cloud events (e.g., objects added to an object store). The inherent elasticity and the pay-per-use model of serverless functions make them very appropriate for embarrassingly parallel tasks like data preprocessing, or even the execution of MapReduce jobs in the cloud.
But current Serverless orchestration systems are not designed for managing parallel fork-join workflows in a scalable and efficient way. We demonstrate in this paper that existing services like AWS Step Functions or Azure Durable Functions incur in considerable overheads, and only Composer at IBM Cloud provides suitable performance.
Successively, we analyze the architecture of OpenWhisk as an open-source FaaS systems and its orchestration features (Composer). We outline its architecture problems and propose guidelines for orchestrating massively parallel workloads using serverless functions.
- 2013. Camunda Open Source Workflow Platform. https://camunda.com/.Google Scholar
- 2014. Reactive Manifesto. https://www.reactivemanifesto.org/.Google Scholar
- 2019. Amazon AWS Serverless Definition. https://aws.amazon.com/serverless/.Google Scholar
- 2019. Apache Conductor Actions. https://github.com/apache/openwhisk/blob/master/docs/conductors.md.Google Scholar
- Ioana Baldini, Perry Cheng, Stephen J. Fink, Nick Mitchell, Vinod Muthusamy, Rodric Rabbah, Philippe Suter, and Olivier Tardieu. 2017. The Serverless Trilemma: Function Composition for Serverless Computing. In Onward! 2017. 89--103.Google Scholar
- Opher Etzion, Peter Niblett, and David C Luckham. 2011. Event processing in action. Manning Greenwich.Google Scholar
- 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 USENIX NSDI 17. 363--376.Google Scholar
- Apache Software Foundation. 2019. Apache OpenWhisk. https://github.com/apache/openwhisk.Google Scholar
- Apache Software Foundation. 2019. Apache OpenWhisk Composer. https://github.com/apache/openwhisk-composer.Google Scholar
- Pedro García-López, Marc Sánchez-Artigas, Gerard París, Daniel Barcelona-Pons, Álvaro Ruiz, and David Arroyo-Pinto. 2018. Comparison of FaaS Orchestration Systems. In WoSC4 - UCC Companion. 148--153.Google Scholar
- Mohammad Islam, Angelo K Huang, Mohamed Battisha, Michelle Chiang, Santhosh Srinivasan, Craig Peters, Andreas Neumann, and Alejandro Abdelnur. 2012. Oozie: towards a scalable workflow management system for hadoop. In Proceedings of the 1st ACM SIGMOD Workshop on Scalable Workflow Execution Engines and Technologies. ACM, 4:1-4:10.Google ScholarDigital Library
- Eric Jonas, Qifan Pu, Shivaram Venkataraman, Ion Stoica, and Benjamin Recht. 2017. Occupy the Cloud: Distributed Computing for the 99%. In SoCC'17. ACM, New York, NY, USA, 445--451.Google Scholar
- Youngbin Kim and Jimmy Lin. 2018. Serverless Data Analytics with Flint. In IEEE CLOUD'18. 451--455.Google Scholar
- Maciej Malawski, Adam Gajek, Adam Zima, Bartosz Balis, and Kamil Figiela. in press. Serverless execution of scientific workflows: Experiments with HyperFlow, AWS Lambda and Google Cloud Functions. Future Generation Computer Systems (in press).Google Scholar
- Josep Sampé, Gil Vernik, Marc Sánchez-Artigas, and Pedro García-López. 2018. Serverless Data Analytics in the IBM Cloud. In Proceedings of the 19th International Middleware Conference Industry (Middleware '18). 1--8.Google ScholarDigital Library
Index Terms
- FaaS Orchestration of Parallel Workloads
Recommendations
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)...
The SPEC cloud group's research vision on FaaS and serverless architectures
WoSC '17: Proceedings of the 2nd International Workshop on Serverless ComputingCloud computing enables an entire ecosystem of developing, composing, and providing IT services. An emerging class of cloud-based software architectures, serverless, focuses on providing software architects the ability to execute arbitrary functions ...
Practical Cloud Workloads for Serverless FaaS
SoCC '19: Proceedings of the ACM Symposium on Cloud ComputingServerless computing is gaining popularity with the Function-asa-Service (FaaS) execution model. Without incurring overheads involved in provisioning cloud instances and with high availability and scalability, serverless computing allows developers to ...
Comments