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%.
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.
References
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
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
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)
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
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
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
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
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
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
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
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
Shafiei H, Khonsari A, Mousavi P (2019) Serverless computing: a survey of opportunities, challenges and applications. arXiv preprint arXiv:1911.01296
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)
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
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
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
Gunasekaran JR, Thinakaran P, Chidambaram N, Kandemir MT, Das CR (2020) Fifer: tackling underutilization in the serverless era. arXiv preprint arXiv:2008.12819
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
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
Stein M (2018) The serverless scheduling problem and noah. arXiv preprint arXiv:1809.06100
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
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
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
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
Al-Husainy MA (2007) Best-job-first cpu scheduling algorithm. Inform Technol J 6(2):288–293
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
Kratzke N (2018) A brief history of cloud application architectures. Appl Sci 8(8):1368
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
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
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
Apache openwhisk documentation. https://openwhisk.apache.org/documentation.html
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
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
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
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
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
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
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
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
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)
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
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
Shillaker S, Pietzuch P (2020) Faasm: Lightweight isolation for efficient stateful serverless computing. arXiv preprint arXiv:2002.09344
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
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
Maissen P, Felber P, Kropf P, Schiavoni V (2020) Faasdom: a benchmark suite for serverless computing. arXiv preprint arXiv:2006.03271
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
Pellegrini R, Ivkic I, Tauber M (2019) Function-as-a-service benchmarking framework. arXiv preprint arXiv:1905.11707
Spillner J (2017) Snafu: function-as-a-service (faas) runtime design and implementation. arXiv preprint arXiv:1703.07562
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
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
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
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
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
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
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
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
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
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
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
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
Agerwala T, Martin JL, Mirza JH, Sadler DC, Dias DM, Snir M (1995) Sp2 system architecture. IBM Syst J 34(2):414–446
Yu J, Buyya R (2005) A taxonomy of workflow management systems for grid computing. J Grid Comput 3(3–4):171–200
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
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
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
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
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-021-04057-z