Skip to main content
Log in

SaMW: a probabilistic meta-heuristic algorithm for job scheduling in heterogeneous distributed systems powered by microservices

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

Applications are evolving in ways that demand geographically distributed resources to co-operate in order to give users better Quality of Service (QoS). There is a plethora of ways to implement such systems, but a Heterogeneous Distributed System such as Jungle Computing System is the one that fits the above scenario the most. Additionally, utilizing the Microservices paradigm results in a dynamic system that can overcome today’s needs for reduced costs, heterogeneity, scalability and fault tolerance. Moreover, Load Balancing is a NP-Hard problem and finding the optimal solution becomes harder when the scale is getting larger. The development and simulation of a Heterogeneous System utilizing Microservices is presented in this article. This work aims at studying how existing load-balancing algorithms can reduce operational costs of such a system and introduces a new algorithm (SaMW) that results in decreasing expenses while keeping relatively low the Mean Response Time.

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
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30

Similar content being viewed by others

References

  1. Agavane, P.B.: Improve Load Balancing Performance and Efficiency Using Equally Spread Current Execution Algorithm working with response time clustering in Microservices. Ph.D. thesis, Dublin, National College of Ireland (2020)

  2. Al-Debagy, O., Martinek, P.: A comparative review of microservices and monolithic architectures. In: 2018 IEEE 18th International Symposium on Computational Intelligence and Informatics (CINTI). pp. 000149–000154. IEEE (2018)

  3. Alizadeh, M.R., Khajehvand, V., Rahmani, A.M., Akbari, E.: Task scheduling approaches in fog computing: a systematic review. Int. J. Commun. Syst. 33, e4583 (2020)

    Article  Google Scholar 

  4. Amini Motlagh, A., Movaghar, A., Rahmani, A.M.: Task scheduling mechanisms in cloud computing: a systematic review. Int. J. Commun. Syst. 33(6), e4302 (2020)

    Article  Google Scholar 

  5. Attiya, G., Hamam, Y.: Task allocation for maximizing reliability of distributed systems: a simulated annealing approach. J. Parallel Distrib. Comput. 66(10), 1259–1266 (2006)

    Article  Google Scholar 

  6. Chen, R., Li, S., Li, Z.: From monolith to microservices: a dataflow-driven approach. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC). pp. 466–475. IEEE (2017)

  7. Chen, Y.: Service-Oriented Computing and System Integration. Kendall Hunt Publishing (2020)

  8. Filip, I.D., Pop, F., Serbanescu, C., Choi, C.: Microservices scheduling model over heterogeneous cloud-edge environments as support for IoT applications. IEEE Internet Things J. 5(4), 2672–2681 (2018)

    Article  Google Scholar 

  9. Gan, G.N., Huang, T.l., Gao, S.: Genetic simulated annealing algorithm for task scheduling based on cloud computing environment. In: 2010 International Conference on Intelligent Computing and Integrated Systems. pp. 60–63. IEEE (2010)

  10. Geist, A., Reed, D.A.: A survey of high-performance computing scaling challenges. Int. J. High Perform. Comput. Appl. 31(1), 104–113 (2017)

    Article  Google Scholar 

  11. Guo, C.C., Yan, P.L.: Dynamic load-balancing algorithm for heterogeneous web server cluster. Jisuanji Xuebao (Chin. J. Comput.) 28(2), 179–184 (2005)

    Google Scholar 

  12. Hajibaba, M., Gorgin, S.: A review on modern distributed computing paradigms: cloud computing, jungle computing and fog computing. J. Comput. Inf. Technol. 22(2), 69–84 (2014)

    Article  Google Scholar 

  13. Jararweh, Y., Tawalbeh, L., Ababneh, F., Dosari, F.: Resource efficient mobile computing using cloudlet infrastructure. In: 2013 IEEE 9th International Conference on Mobile Ad-hoc and Sensor Networks. pp. 373–377. IEEE (2013)

  14. Khatavkar, B., Boopathy, P.: Efficient wmaxmin static algorithm for load balancing in cloud computation. In: 2017 Innovations in Power and Advanced Computing Technologies (i-PACT). pp. 1–6. IEEE (2017)

  15. Law, A.M., Kelton, W.D., Kelton, W.D.: Simulation Modeling and Analysis, vol. 3. McGraw-Hill, New York (2000)

    MATH  Google Scholar 

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

  17. Mathew, S., Varia, J.: Overview of amazon web services. Amazon Whitepapers (2014)

  18. Mavridis, I., Karatza, H.: Combining containers and virtual machines to enhance isolation and extend functionality on cloud computing. Fut. Gener. Comput. Syst. 94, 674–696 (2019)

    Article  Google Scholar 

  19. Microservices vs monolith: which architecture is the best choice? http://shorturl.at/yDE29. Accessed 23 June 2020

  20. Microservices vs. monolithic architecture comparison | sam solutions. http://shorturl.at/fgiBV. Accessed 23 June 2020

  21. Microservices vs. serverless. http://shorturl.at/qNRY2. Accessed 25 June 2020

  22. Moschakis, I.A., Karatza, H.D.: Multi-criteria scheduling of bag-of-tasks applications on heterogeneous interlinked clouds with simulated annealing. J. Syst. Softw. 101, 1–14 (2015)

    Article  Google Scholar 

  23. Niu, Y., Liu, F., Li, Z.: Load balancing across microservices. In: IEEE INFOCOM 2018-IEEE Conference on Computer Communications. pp. 198–206. IEEE (2018)

  24. Papazachos, Z.C., Karatza, H.D.: Scheduling of frequently communicating tasks. Int. J. Commun. Syst. 25(2), 146–157 (2012)

    Article  Google Scholar 

  25. Parida, S., Panchal, B.: An efficient dynamic load balancing algorithm using machine learning technique in cloud environment. Int. J. Sci. Res. Sci. Eng. Technol. 4, 1184–1186 (2018)

    Google Scholar 

  26. Salah, T., Zemerly, M.J., Yeun, C.Y., Al-Qutayri, M., Al-Hammadi, Y.: The evolution of distributed systems towards microservices architecture. In: 2016 11th International Conference for Internet Technology and Secured Transactions (ICITST). pp. 318–325. IEEE (2016)

  27. Soldani, J., Tamburri, D.A., Van Den Heuvel, W.J.: The pains and gains of microservices: a systematic grey literature review. J. Syst. Softw. 146, 215–232 (2018)

    Article  Google Scholar 

  28. Stavrinides, G.L., Karatza, H.D.: Orchestration of real-time workflows with varying input data locality in a heterogeneous fog environment. In: 2020 Fifth International Conference on Fog and Mobile Edge Computing (FMEC). pp. 202–209. IEEE (2020)

  29. Taneja, M., Davy, A.: Resource aware placement of iot application modules in fog-cloud computing paradigm. In: 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). pp. 1222–1228. IEEE (2017)

  30. Tychalas, D., Karatza, H.: High performance system based on cloud and beyond. Jungle Comput. 22, 131–147 (2017)

    Google Scholar 

  31. Tychalas, D., Karatza, H.: A scheduling algorithm for a fog computing system with bag-of-tasks jobs: simulation and performance evaluation. Simul. Model. Pract. Theory 98, 101982 (2020)

    Article  Google Scholar 

  32. Wang, C.J., Dong, L.L., Jia, L.: Load balance algorithm for web cluster system. Comput. Eng. 2, 102–104 (2010)

    Google Scholar 

  33. Yi, C., Zhang, X., Cao, W.: Dynamic weight based load balancing for microservice cluster. In: Proceedings of the 2nd International Conference on Computer Science and Application Engineering. pp. 1–7 (2018)

  34. Ying, L., Srikant, R., Kang, X.: The power of slightly more than one sample in randomized load balancing. Math. Oper. Res. 42(3), 692–722 (2017)

    Article  MathSciNet  Google Scholar 

  35. Yu, R., Kilari, V.T., Xue, G., Yang, D.: Load balancing for interdependent iot microservices. In: IEEE INFOCOM 2019-IEEE Conference on Computer Communications. pp. 298–306. IEEE (2019)

  36. Zhenrong, D., Xingxing, T., Wenming, H., Yinwei, L.: A load balancing scheduling algorithm for webserver cluster. Comput. Appl. Softw. 30(10), 53–56 (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dimitrios Tychalas.

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

Tychalas, D., Karatza, H. SaMW: a probabilistic meta-heuristic algorithm for job scheduling in heterogeneous distributed systems powered by microservices. Cluster Comput 24, 1735–1759 (2021). https://doi.org/10.1007/s10586-020-03217-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-020-03217-9

Keywords

Navigation