Abstract
Cloud computing is a computing model, that offers scalable, cost-efficient computing resources based on a pay-as-you-go model to its users. The serverless computing model also known as Function as a Service enables users to run their code as cloud functions without worrying about managing the underlying infrastructure and it would cost less as well. These advantages encouraged developers to deploy and execute their applications in the cloud. One of the most important challenges in cloud environments that this research aims to tackle is scheduling. Scheduling algorithms are used to map incoming requests to computational resources in a way to fulfill one or more goals. In this research, we have leveraged the SARSA reinforcement learning algorithm and proposed SFSchlr. SFSchlr is a function scheduling algorithm that can be used in a Function as a Service platform. SFSchlr performs the learning operation online and is aware of the data dependency of the functions on each other as well as their required packages and libraries to decrease function execution turnaround time. A monitoring strategy is also introduced that runs alongside the scheduler. It manages computing resources and prevents saturation of existing workers by scaling up or out their resources. To decrease the overall cost and increase resource availability, it releases the acquired computational resources by removing inactive workers. Finally, we have implemented and evaluated the SFSchlr by comparing it with two open-source scheduling algorithms as well as a state-of-the-art dependency-aware scheduler. We have found that the proposed algorithm demonstrates up to 58% improvement in function turnaround time and up to 69.5% improvement in resource utilization.
Similar content being viewed by others
Data Availability
Raw data were generated for this research work. Derived data supporting the findings of this study are available from the corresponding author upon request.
References
McGrath, G., Brenner, P.R.: Serverless Computing: Design, Implementation, and Performance. In: Proceedings of the IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW), Jun-2017, Atlanta, USA, pp. 405–410
AWS Lambda: https://aws.amazon.com/lambda/. Accessed 2021
IBM Cloud Functions: https://cloud.ibm.com/functions. Accessed 2021
Google Cloud Functions Documentation: https://cloud.google.com/functions/. Accessed 2021
Azure Functions Documentation:https://docs.microsoft.com/en-us/azure/azure-functions/ Accessed 2021
IronWorker: Reference: http://dev.iron.io/worker/. Accessed 2021
WebTask: Getting Started: https://webtask.io/docs/101. Accessed 2021
Galactic Fog Gestalt Framework: http://www.galacticfog.com/. Accessed 2021
Kubeless: Kubernetes native serverless framework: https://github.com/kubeless/kubeless. Accessed 2021
Openwhisk Homepage: http://openwhisk.incubator.apache.org/. Accessed 2021
Open FaaS: https://www.openfaas.com. Accessed 2021
Knative: https://github.com/knative/. Accessed 2021
Nuclio, I.: https://github.com/nuclio/nuclio. Accessed 2021
Fission, Workflows: https://github.com/fission/fission-workflows. Accessed 2022
Hendrickson, S., Sturdevant, S., Harter, T., Venkataramani, V., Arpaci-Dusseau, A., Arpaci-Dusseau, R.: Serverless computation with openLambda. In Proceedings of the 8th USENIX Conference on Hot Topics in Cloud Computing (HotCloud’16), June-2016, Denver, Colorado, USA, pp.33–39
Castro, P., Ishakian, V., Muthusamy, V., Slominski, A.: The rise of Serverless Computing. Commun. ACM 62(12), 44–54 (2019)
Shimamura, K., Okwii, T., Dutta, D., Udupi, Y.B., Ramakrishna, R., Huang, X.: Serverless computing and task scheduling. Patent Application Publication. No. US 2018/0300173 (2018)
Kim, Y., Cha, G.: Design of the Cost-Effective Execution Worker Scheduling Algorithm for FaaS Platform Using Two-Step Allocation and Dynamic Scaling. In Proceedings of the IEEE 8th International Symposium on Cloud and Service Computing (SC2), November-2018, Paris, France, pp. 131–134. (2018)
Mujezinović, A., Ljubović, V.: Serverless architecture for workflow scheduling with unconstrained execution environment. In: Proceedings of the 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), May-2019, Opatija, Croatia, pp.242–246
GeÌron, A.: Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems,“ Second edition, O’Reilly (2019)
Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction, 2nd edn. MIT Press, Cambridge (2018)
Szepesvari, C.: Algorithms for Reinforcement Learning, 1st edn, vol. 9. Morgan & Claypool Publishers (2009)
Mi, X., Tang, M., Liao, H., Shen, W., Lev, B.: The state-of-the-art survey on integrations and applications of the best worst method in decision making: Why, what, what for and what’s next? Omega 87, 205–225 (2019)
Alinezhad, A., Khalili, J.: New Methods and Applications in Multiple Attribute Decision Making, 1st edn. Springer, Cham (2019)
Zade, L.A.: Fuzzy sets. Inf. Control 8, 338–353 (1965)
Torra, V.: Hesitant fuzzy sets. Int. J. Intell. Syst 25(06), 529–539 (2010)
Chakraborty, S., Zavadskas, E., Antucheviciene, J.: Applications of WASPAS method as a multi-criteria decision-making tool. Economic computation and economic cybernetics studies and research / Academy of Economic Studies 49, pp. 5–22 (2015)
Saeedizade, E., Ashtiani, M.: DDBWS: A dynamic deadline and budget-aware workflow scheduling algorithm in workflow-as-a-service environments. J. Supercomput 77(12), 14525–14564 (2021)
Totoy, G., Boza, E.F., Abad, C.L.: An Extensible Scheduler for the OpenLambda FaaS Platform. In: Proceedings of the 2nd Workshop on Hardware/Software Techniques for Minimizing Data Movement (Min-Move 2018), March-2018, New York, USA
Aumala, G., Boza, E., Ortiz-Avilés, L., Totoy, G., Abad, C.: Beyond Load Balancing: Package-Aware Scheduling for Serverless Platforms. In: Proceedings of the 19th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID), May-2019, Larnaca, Cyprus, pp. 282–291
Abad, C., Boza, E., van Eyk, E.: Package-Aware Scheduling of FaaS Functions. In: Proceedings of the Companion of the ACM/SPEC International Conference on Performance Engineering (ICPE ‘18), April-2018, New York, NY, USA, pp. 101–106 (2018)
Cheng, Y., Zhou, Z.: Autonomous Resource Scheduling for Real-Time and Stream Processing. In: IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/ SCALCOM/ UIC/ ATC/ CBDCom/ IOP/ SCI), Guangzhou, China, pp. 1181–1184 (2018)
Suresh, A., Gandhi, A.: FnSched: An Efficient Scheduler for Serverless Functions. In: Proceedings of the 5th International Workshop on Serverless Computing (WOSC ‘19), New York, NY, USA, pp. 19–24 (2019)
Saha, A., Jindal, S.: EMARS: Efficient Management and Allocation of Resources in Serverless. In: Proceedings of the IEEE 11th International Conference on Cloud Computing (CLOUD), San Francisco, USA, 2018, pp. 827–830 (2018)
Kaffes, K., Yadwadkar, N.J., Kozyrakis, C.: Centralized Core-granular Scheduling for Serverless Functions. In: Proceedings of the ACM Symposium on Cloud Computing, New York, USA, pp.158–164 (2019)
Kim, Y., Cha, G.: Design of the Cost-Effective Execution Worker Scheduling Algorithm for FaaS Platform Using Two-Step Allocation and Dynamic Scaling. In: Proceedings of the IEEE 8th International Symposium on Cloud and Service Computing (SC2), November-2018, Paris, France, pp. 131–134. (2018)
Pinto, D., Dias, J.P., Sereno Ferreira, H.: Dynamic Allocation of Serverless Functions in IoT Environments. In: IEEE 16th International Conference on Embedded and Ubiquitous Computing (EUC), Bucharest, Romania, 2018, pp. 1–8 (2018). https://doi.org/10.1109/EUC.2018.00008
Kotni, S., Nayak, A., Ganapathy, V., Basu, A.: Faastlane: Accelerating function-as-aservice workflows. In: Proceedings of the USENIX ATC, USENIX Association, July 14–16 (2021)
De Palma, G., Giallorenzo, S., Mauro, J., Trentin, M., Zavattaro, G.: A Declarative Approach to Topology-Aware Serverless Function-Execution Scheduling. In: Proceedings of the IEEE International Conference on Web Services (ICWS), Barcelona, Spain, 10–16 July, 2022 (2022)
Sharifi, M., Banaei, A.: ETAS: Predictive scheduling of functions on worker nodes of Apache OpenWhisk platform. J. Supercomput. 78, 5358–5393 (2022)
Mishra, A.R., Rani, P., Pardasani, K.R., Mardani, A.: A novel hesitant fuzzy WASPAS method for assessment of green supplier problem based on exponential information measures. J. Clean. Prod. 238 (2019)
Alqaryouti, O., Siyam, N.: Serverless Computing and Scheduling Tasks on Cloud: A review. Am. Sci. Res. J. Eng. Technol. Sci 40(1), 235–247 (2018)
Coffman, E. G.: Computer and Job-shop Scheduling Theory. Wiley, Jan 1 (1976)
Hu, J., Zhang, X., Chen, X., Liu, Y.: Hesitant fuzzy information measures and their applications in multi-criteria decision making. Int. J. Syst. Sci. 47, 62–76 (2016)
Hung, W.L., Yang, M.S.H.: On similarity measures between intuitionistic fuzzy sets. Int. J. Intell. Syst. 23, 364–383 (2008)
Kobza, V., Janiš, V., Montes, S.: Divergence measures on hesitant fuzzy sets. J. Intell. Fuzzy Syst. 23, 1589–1601 (2017)
Mardani, A., Nilashi, M., Zakuan, N., Loganathan, N., Soheilirad, S., Saman, M.Z.M.: A systematic review and meta-analysis of SWARA and WASPAS methods: Theory and applications with recent fuzzy developments. Appl. Soft Comput. 57, 265–292 (2017)
Sciabarra, M.: Learning Apache OpenWhisk, O`REILLY, July (2019)
Poulton, N.: Docker Deep Dive: Zero to Docker in a Single book. Packt Publishing (2017)
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Ethical Approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Conflict of Interest
All of the authors declare that they have no conflict of interest.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Chetabi, F.A., Ashtiani, M. & Saeedizade, E. A Package-Aware Approach for Function Scheduling in Serverless Computing Environments. J Grid Computing 21, 23 (2023). https://doi.org/10.1007/s10723-023-09657-y
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10723-023-09657-y