Skip to main content
Log in

ETAS: predictive scheduling of functions on worker nodes of Apache OpenWhisk platform

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Fast execution of functions is an inevitable challenge in the serverless computing landscape. Inefficient dispatching, fluctuations in invocation rates, burstiness of workloads, and wide range of execution times of serverless functions result in load imbalances and overloading of worker nodes of serverless platforms that impose high latency on invocations. This paper is concentrated on function scheduling within worker nodes of Apache OpenWhisk serverless platform and presents ETAS, a predictive scheduling scheme to reduce response times of invocations besides increasing workers throughputs and resource utilizations. ETAS schedules functions using their execution times, estimated by their previous execution’s history, arrival times, and containers’ status. We have implemented ETAS in Apache OpenWhisk and show that, compared to the OpenWhisk worker scheduler and several queue scheduling schemes, ETAS outperforms others by reducing the average waiting time by 30% and increasing the throughput by 40%.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Algorithm 1
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Data Availability

Data sharing not applicable to this article as no datasets were generated or analyzed during the current study.

Notes

  1. https://openwhisk.apache.org/.

  2. https://openwhisk.apache.org/documentation.html

  3. https://www.nginx.com/.

  4. https://kafka.apache.org/.

  5. https://www.docker.com/.

  6. https://couchdb.apache.org/.

  7. https://aws.amazon.com/lambda/

References

  1. Jonas E, Pu Q, Venkataraman S, Stoica I, Recht B (2017) Occupy the cloud: distributed computing for the 99%. In: Proceedings of the 2017 symposium on cloud computing, pp 445–451

  2. Jonas E, Schleier-Smith J, Sreekanti V, Tsai CC, Khandelwal A, Pu Q, Shankar V, Carreira J, Krauth K, Yadwadkar N et al (2019) Cloud programming simplified: a berkeley view on serverless computing. arXiv preprint arXiv:1902.03383

  3. Hendrickson S, Sturdevant S, Harter T, Venkataramani V, Arpaci-Dusseau AC, Arpaci-Dusseau RH (2016) Serverless computation with openlambda, In: 8th \(\{\)USENIX\(\}\) workshop on hot topics in cloud computing (HotCloud 16)

  4. Baldini I, Castro P, Chang K, Cheng P, Fink S, Ishakian V, Mitchell N, Muthusamy V, Rabbah R, Slominski A et al (2017) Serverless computing: current trends and open problems. In: Research advances in cloud computing. Springer, pp 1–20

  5. Wang L, Li M, Zhang Y, Ristenpart T, Swift M (2018) Peeking behind the curtains of serverless platforms. In: 2018 \(\{\)USENIX\(\}\) Annual Technical Conference (USENIX, ATC, 18), pp 133–146

  6. Castro P, Ishakian V, Muthusamy V, Slominski A (2019) The server is dead, long live the server: rise of serverless computing, overview of current state and future trends in research and industry. arXiv preprint arXiv:1906.02888

  7. Adzic G, Chatley R (2017) Serverless computing: Economic and architectural impact. In: Proceedings of the 2017 11th joint meeting on foundations of software engineering, pp 884–889

  8. Shahrad M, Fonseca R, Goiri Í, Chaudhry G, Batum P, Cooke J, Laureano E, Tresness C, Russinovich M, Bianchini R (2020) Serverless in the wild: characterizing and optimizing the serverless workload at a large cloud provider. arXiv preprint arXiv:2003.03423

  9. Hellerstein JM, Faleiro J, Gonzalez JE, Schleier-Smith J, Sreekanti V, Tumanov A, Wu C (2018) Serverless computing: one step forward, two steps back. arXiv preprint arXiv:1812.03651

  10. Cordingly R, Shu W, Lloyd WJ (2020) Predicting performance and cost of serverless computing functions with saaf. In: 2020 IEEE International Conference on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, International Conference on Cloud and Big Data Computing, International Conference on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech). IEEE, pp 640–649

  11. Van Eyk E, Iosup A, Abad CL, Grohmann J, Eismann S (2018) A spec rg cloud group’s vision on the performance challenges of faas cloud architectures. In: Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, pp 21–24

  12. Shafiei H, Khonsari A, Mousavi P (2019) Serverless computing: a survey of opportunities, challenges and applications. arXiv preprint arXiv:1911.01296

  13. Bhardwaj A, Gupta M, Stutsman R (2020) On the impact of isolation costs on locality-aware cloud scheduling, In: 12th \(\{\)USENIX\(\}\) workshop on hot topics in cloud computing (HotCloud 20)

  14. Eismann S, Scheuner J, van Eyk E, Schwinger M, Grohmann J, Herbst N, Abad CL, Iosup A (2020) A review of serverless use cases and their characteristics. arXiv preprint arXiv:2008.11110

  15. Singhvi A, Houck K, Balasubramanian A, Shaikh MD, Venkataraman S, Akella A (2019) Archipelago: a scalable low-latency serverless platform. arXiv preprint arXiv:1911.09849

  16. Kaffes K, Yadwadkar NJ, Kozyrakis C (2019) Centralized core-granular scheduling for serverless functions. In: Proceedings of the ACM symposium on cloud computing, pp 158–164

  17. Gunasekaran JR, Thinakaran P, Chidambaram N, Kandemir MT, Das CR (2020) Fifer: tackling underutilization in the serverless era. arXiv preprint arXiv:2008.12819

  18. Kim YK, HoseinyFarahabady MR, Lee YC, Zomaya AY (2020) Automated fine-grained cpu cap control in serverless computing platform. IEEE Trans Parall Distrib Syst 31(10):2289–2301

    Article  Google Scholar 

  19. Suresh A, Gandhi A Fnsched, (2019) An efficient scheduler for serverless functions. In: Proceedings of the 5th international workshop on serverless computing, pp 19–24

  20. Stein M (2018) The serverless scheduling problem and noah. arXiv preprint arXiv:1809.06100

  21. Suresh A, Somashekar G, Varadarajan A, Kakarla VR, Upadhyay H, Gandhi A (2020). Ensure: efficient scheduling and autonomous resource management in serverless environments. In: 2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS), IEEE, pp 1–10

  22. Shahrad M, Balkind J, Wentzlaff D (2019) Architectural implications of function-as-a-service computing. In: Proceedings of the 52nd annual IEEE/ACM international symposium on microarchitecture, pp 1063–1075

  23. Silberschatz A, Gagne G, Galvin PB (2018) Operating System Concepts, 10th edn. Wiley. https://www.wiley.com/en-us/Operating+System+Concepts%2C+10th+Edition-p-9781119320913

  24. Kuntsevich A, Nasirifard P, Jacobsen HA (2018) A distributed analysis and benchmarking framework for apache openwhisk serverless platform. In: Proceedings of the 19th International Middleware Conference (Posters), pp 3–4

  25. Al-Husainy MA (2007) Best-job-first cpu scheduling algorithm. Inform Technol J 6(2):288–293

    Article  Google Scholar 

  26. Karthick A, Ramaraj E, Subramanian RG (2014) An efficient multi queue job scheduling for cloud computing. In: 2014 World congress on computing and communication technologies. IEEE, pp 164–166

  27. Kratzke N (2018) A brief history of cloud application architectures. Appl Sci 8(8):1368

    Article  Google Scholar 

  28. McGrath G, Brenner PR (2017) Serverless computing: design, implementation, and performance. In: 2017 IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW). IEEE, pp 405–410

  29. Li J, Kulkarni SG, Ramakrishnan K, Li D (2019) Understanding open source serverless platforms: Design considerations and performance. In: Proceedings of the 5th international workshop on serverless computing, pp 37–42

  30. Van Eyk E, Scheuner J, Eismann S, Abad CL, Iosup A (2020) Beyond microbenchmarks: the spec-rg vision for a comprehensive serverless benchmark. In: Companion of the ACM/SPEC international conference on performance engineering, pp 26–31

  31. Apache openwhisk documentation. https://openwhisk.apache.org/documentation.html

  32. Shankar V, Krauth K, Pu Q, Jonas E, Venkataraman S, Stoica I, Recht B, Ragan-Kelley J (2018) Numpywren: serverless linear algebra. arXiv preprint arXiv:1810.09679

  33. Aslanpour MS, Toosi AN, Cicconetti C, Javadi B, Sbarski P, Taibi D, Assuncao M, Gill SS, Gaire R, Dustdar S (2021) Serverless edge computing: vision and challenges. In: 2021 Australasian computer science week multiconference, pp 1–10

  34. Fouladi S, Wahby RS, Shacklett B, Balasubramaniam KV, Zeng W, Bhalerao R, Sivaraman A, Porter G, Winstein K (2017) Encoding, fast and slow: Low-latency video processing using thousands of tiny threads. In: 14th \(\{\)USENIX\(\}\) Symposium on networked systems design and implementation (NSDI, 17), pp 363–376

  35. Ao L, Izhikevich L, Voelker GM, Porter, G.: Sprocket, (2018) A serverless video processing framework. In: Proceedings of the ACM symposium on cloud computing, pp 263–274

  36. Aditya P, Akkus IE, Beck A, Chen R, Hilt V, Rimac I, Satzke K, Stein M (2019) Will serverless computing revolutionize nfv? Proc IEEE 107(4):667–678

    Article  Google Scholar 

  37. Ishakian V, Muthusamy V, Slominski A (2018). Serving deep learning models in a serverless platform. In: 2018 IEEE International Conference on Cloud Engineering (IC2E), IEEE, pp 257–262

  38. Bhattacharjee A, Chhokra AD, Kang Z, Sun H, Gokhale A, Karsai, G (2019) Barista, (2019). Efficient and scalable serverless serving system for deep learning prediction services. In: 2019 IEEE International Conference on Cloud Engineering (IC2E), IEEE, pp 23–33

  39. Jiang J, Gan S, Liu Y, Wang F, Alonso G, Klimovic A, Singla A, Wu W, Zhang C (2021) Towards demystifying serverless machine learning training. In: Proceedings of the 2021 International Conference on Management of Data, pp 857–871

  40. Mahgoub A, Shankar K, Mitra S, Klimovic A, Chaterji S, Bagchi S (2021) Sonic: application-aware data passing for chained serverless applications. In: 2021 USENIX Annual Technical Conference (USENIX ATC 21). USENIX Association, Virtual (forthcoming)

  41. Zhang H, Tang Y, Khandelwal A, Chen J, Stoica I (2021) Caerus: Nimble task scheduling for serverless analytics. In: Proceedings of the 18th USENIX symposium on networked systems design and implementation, pp 653–669

  42. Prakash V, Bawa S, Garg L (2021) Multi-dependency and time based resource scheduling algorithm for scientific applications in cloud computing. Electronics 10(11):1320

    Article  Google Scholar 

  43. Shillaker S, Pietzuch P (2020) Faasm: Lightweight isolation for efficient stateful serverless computing. arXiv preprint arXiv:2002.09344

  44. Sang B, Roman PL, Eugster P, Lu H, Ravi S, Petri G (2020) Plasma: programmable elasticity for stateful cloud computing applications. In: Proceedings of the Fifteenth European Conference on Computer Systems, pp 1–15

  45. Sreekanti V, Lin C.W.X.C, Faleiro JM, Gonzalez JE, Hellerstein JM, Tumanov A (2020) Cloudburst: Stateful functions-as-a-service. arXiv preprint arXiv:2001.04592

  46. Maissen P, Felber P, Kropf P, Schiavoni V (2020) Faasdom: a benchmark suite for serverless computing. arXiv preprint arXiv:2006.03271

  47. Kim J, Lee, K.: Functionbench, (2019). A suite of workloads for serverless cloud function service. In: 2019 IEEE 12th International Conference on Cloud Computing (CLOUD). IEEE, pp 502–504

  48. Pellegrini R, Ivkic I, Tauber M (2019) Function-as-a-service benchmarking framework. arXiv preprint arXiv:1905.11707

  49. Spillner J (2017) Snafu: function-as-a-service (faas) runtime design and implementation. arXiv preprint arXiv:1703.07562

  50. Akkus IE, Chen R, Rimac I, Stein M, Satzke K, Beck A, Aditya P, Hilt V (2018) Sand: towards high-performance serverless computing. In: 2018 \(\{\)USENIX\(\}\) Annual Technical Conference (USENIX, ATC, 18), pp 923–935

  51. Chard R, Skluzacek TJ, Li Z, Babuji Y, Woodard A, Blaiszik B, Tuecke S, Foster I, Chard K (2019) Serverless supercomputing: high performance function as a service for science. arXiv preprint arXiv:1908.04907

  52. Lloyd W, Ramesh S, Chinthalapati S, Ly L, Pallickara S (2018) Serverless computing: an investigation of factors influencing microservice performance. In: 2018 IEEE International Conference on Cloud Engineering (IC2E). IEEE, pp 159–169

  53. Oakes E, Yang L, Zhou D, Houck K, Harter T, Arpaci-Dusseau A, Arpaci-Dusseau R (2018) Sock: rapid task provisioning with serverless-optimized containers. In: 2018 \(\{\)USENIX\(\}\) Annual Technical Conference (USENIX, ATC, 18), pp 57–70

  54. Fingler H, Akshintala A, Rossbach, C.J Usetl, (2019) Unikernels for serverless extract transform and load why should you settle for less? In: Proceedings of the 10th ACM SIGOPS Asia-Pacific workshop on systems, pp 23–30

  55. Agache A, Brooker M, Iordache A, Liguori A, Neugebauer R, Piwonka P, Popa DM (2020) Firecracker: lightweight virtualization for serverless applications. In: 17th \(\{\)USENIX\(\}\) symposium on networked systems design and implementation (NSDI, 20), pp 419–434

  56. Bermbach D, Karakaya AS, Buchholz S (2020) Using application knowledge to reduce cold starts in faas services. In: Proceedings of the 35th annual ACM symposium on applied computing, pp 134–143

  57. Oakes E, Yang L, Houck K, Harter T, Arpaci-Dusseau AC, Arpaci-Dusseau, RH (2017) Pipsqueak: lean lambdas with large libraries. In: 2017 IEEE 37th International Conference on Distributed Computing Systems Workshops (ICDCSW). IEEE, pp 395–400

  58. Xu Z, Zhang H, Geng X, Wu Q, Ma H (2019) Adaptive function launching acceleration in serverless computing platforms. In: 2019 IEEE 25th International Conference on Parallel and Distributed Systems (ICPADS). IEEE, pp 9–16

  59. Aumala G, Boza E, Ortiz-Avilés L, Totoy G, Abad C (2019) Beyond load balancing: package-aware scheduling for serverless platforms. In: 2019 19th IEEE/ACM international symposium on cluster, cloud and grid computing (CCGRID). IEEE, pp 282–291

  60. De Palma G, Giallorenzo S, Mauro J, Zavattaro G (2020) Allocation priority policies for serverless function-execution scheduling optimisation. In: International Conference on Service-Oriented Computing. Springer, pp 416–430

  61. Mu’alem AW, Feitelson DG (2001) Utilization, predictability, workloads, and user runtime estimates in scheduling the ibm sp2 with backfilling. IEEE Trans Parall Distrib Syst 12(6):529–543

  62. Agerwala T, Martin JL, Mirza JH, Sadler DC, Dias DM, Snir M (1995) Sp2 system architecture. IBM Syst J 34(2):414–446

    Article  Google Scholar 

  63. Yu J, Buyya R (2005) A taxonomy of workflow management systems for grid computing. J Grid Comput 3(3–4):171–200

    Article  Google Scholar 

  64. Gibbons R (1997) A historical application profiler for use by parallel schedulers. In: Workshop on job scheduling strategies for parallel processing. Springer, pp 58–77

  65. Smith W, Foster I, Taylor V (1998) Predicting application run times using historical information. In: Workshop on job scheduling strategies for parallel processing. Springer, pp 122–142

  66. Miu T, Missier P (2012) Predicting the execution time of workflow activities based on their input features. In: 2012 SC companion: high performance computing, networking storage and analysis. IEEE, pp 64–72

  67. Chirkin AM, Belloum AS, Kovalchuk SV, Makkes MX, Melnik MA, Visheratin AA, Nasonov DA (2017) Execution time estimation for workflow scheduling. Future Gen Comput Syst 75:376–387

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohsen Sharifi.

Ethics declarations

Conflict of interest

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

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Banaei, A., Sharifi, M. ETAS: predictive scheduling of functions on worker nodes of Apache OpenWhisk platform. J Supercomput 78, 5358–5393 (2022). https://doi.org/10.1007/s11227-021-04057-z

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-021-04057-z

Keywords

Navigation