Skip to main content
Log in

A Package-Aware Approach for Function Scheduling in Serverless Computing Environments

  • Published:
Journal of Grid Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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

  1. 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

  2. AWS Lambda: https://aws.amazon.com/lambda/. Accessed 2021

  3. IBM Cloud Functions: https://cloud.ibm.com/functions. Accessed 2021

  4. Google Cloud Functions Documentation: https://cloud.google.com/functions/. Accessed 2021

  5. Azure Functions Documentation:https://docs.microsoft.com/en-us/azure/azure-functions/ Accessed 2021

  6. IronWorker: Reference: http://dev.iron.io/worker/. Accessed 2021

  7. WebTask: Getting Started: https://webtask.io/docs/101. Accessed 2021

  8. Galactic Fog Gestalt Framework: http://www.galacticfog.com/. Accessed 2021

  9. Kubeless: Kubernetes native serverless framework: https://github.com/kubeless/kubeless. Accessed 2021

  10. Openwhisk Homepage: http://openwhisk.incubator.apache.org/. Accessed 2021

  11. Open FaaS: https://www.openfaas.com. Accessed 2021

  12. Knative: https://github.com/knative/. Accessed 2021

  13. Nuclio, I.: https://github.com/nuclio/nuclio. Accessed 2021

  14. Fission, Workflows: https://github.com/fission/fission-workflows. Accessed 2022

  15. 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

  16. Castro, P., Ishakian, V., Muthusamy, V., Slominski, A.: The rise of Serverless Computing. Commun. ACM 62(12), 44–54 (2019)

    Article  Google Scholar 

  17. 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)

  18. 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)

  19. 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

  20. 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)

  21. Sutton, R.S., Barto, A.G.: Reinforcement Learning: An Introduction, 2nd edn. MIT Press, Cambridge (2018)

  22. Szepesvari, C.: Algorithms for Reinforcement Learning, 1st edn, vol. 9. Morgan & Claypool Publishers (2009)

  23. 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)

  24. Alinezhad, A., Khalili, J.: New Methods and Applications in Multiple Attribute Decision Making, 1st edn. Springer, Cham (2019)

  25. Zade, L.A.: Fuzzy sets. Inf. Control 8, 338–353 (1965)

    Article  Google Scholar 

  26. Torra, V.: Hesitant fuzzy sets. Int. J. Intell. Syst 25(06), 529–539 (2010)

    MATH  Google Scholar 

  27. 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)

  28. 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)

    Article  Google Scholar 

  29. 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

  30. 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

  31. 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)

  32. 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)

  33. 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)

  34. 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)

  35. 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)

  36. 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)

  37. 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

  38. 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)

  39. 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)

  40. Sharifi, M., Banaei, A.: ETAS: Predictive scheduling of functions on worker nodes of Apache OpenWhisk platform. J. Supercomput. 78, 5358–5393 (2022)

    Article  Google Scholar 

  41. 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)

  42. 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)

    Google Scholar 

  43. Coffman, E. G.: Computer and Job-shop Scheduling Theory. Wiley, Jan 1 (1976)

  44. 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)

    Article  MathSciNet  MATH  Google Scholar 

  45. Hung, W.L., Yang, M.S.H.: On similarity measures between intuitionistic fuzzy sets. Int. J. Intell. Syst. 23, 364–383 (2008)

    Article  MATH  Google Scholar 

  46. Kobza, V., Janiš, V., Montes, S.: Divergence measures on hesitant fuzzy sets. J. Intell. Fuzzy Syst. 23, 1589–1601 (2017)

    Article  MATH  Google Scholar 

  47. 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)

    Article  Google Scholar 

  48. Sciabarra, M.: Learning Apache OpenWhisk, O`REILLY, July (2019)

  49. Poulton, N.: Docker Deep Dive: Zero to Docker in a Single book. Packt Publishing (2017)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mehrdad Ashtiani.

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10723-023-09657-y

Keywords

Navigation