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.






























Similar content being viewed by others
References
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)
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)
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)
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)
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)
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)
Chen, Y.: Service-Oriented Computing and System Integration. Kendall Hunt Publishing (2020)
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)
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)
Geist, A., Reed, D.A.: A survey of high-performance computing scaling challenges. Int. J. High Perform. Comput. Appl. 31(1), 104–113 (2017)
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)
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)
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)
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)
Law, A.M., Kelton, W.D., Kelton, W.D.: Simulation Modeling and Analysis, vol. 3. McGraw-Hill, New York (2000)
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)
Mathew, S., Varia, J.: Overview of amazon web services. Amazon Whitepapers (2014)
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)
Microservices vs monolith: which architecture is the best choice? http://shorturl.at/yDE29. Accessed 23 June 2020
Microservices vs. monolithic architecture comparison | sam solutions. http://shorturl.at/fgiBV. Accessed 23 June 2020
Microservices vs. serverless. http://shorturl.at/qNRY2. Accessed 25 June 2020
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)
Niu, Y., Liu, F., Li, Z.: Load balancing across microservices. In: IEEE INFOCOM 2018-IEEE Conference on Computer Communications. pp. 198–206. IEEE (2018)
Papazachos, Z.C., Karatza, H.D.: Scheduling of frequently communicating tasks. Int. J. Commun. Syst. 25(2), 146–157 (2012)
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)
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)
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)
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)
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)
Tychalas, D., Karatza, H.: High performance system based on cloud and beyond. Jungle Comput. 22, 131–147 (2017)
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)
Wang, C.J., Dong, L.L., Jia, L.: Load balance algorithm for web cluster system. Comput. Eng. 2, 102–104 (2010)
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)
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)
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)
Zhenrong, D., Xingxing, T., Wenming, H., Yinwei, L.: A load balancing scheduling algorithm for webserver cluster. Comput. Appl. Softw. 30(10), 53–56 (2013)
Author information
Authors and Affiliations
Corresponding author
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
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-020-03217-9