Sim-DRS: a similarity-based dynamic resource scheduling algorithm for microservice-based web systems

Microservice-based Web Systems (MWS), which provide a fundamental infrastructure for constructing large-scale cloud-based Web applications, are designed as a set of independent, small and modular microservices implementing individual tasks and communicating with messages. This microservice-based architecture offers great application scalability, but meanwhile incurs complex and reactive autoscaling actions that are performed dynamically and periodically based on current workloads. However, this problem has thus far remained largely unexplored. In this paper, we formulate a problem of Dynamic Resource Scheduling for Microservice-based Web Systems (DRS-MWS) and propose a similarity-based heuristic scheduling algorithm that aims to quickly find viable scheduling schemes by utilizing solutions to similar problems. The performance superiority of the proposed scheduling solution in comparison with three state-of-the-art algorithms is illustrated by experimental results generated through a well-known microservice benchmark on disparate computing nodes in public clouds.

[1]  Rajiv Ranjan,et al.  Open Issues in Scheduling Microservices in the Cloud , 2016, IEEE Cloud Computing.

[2]  Mohammed Samaka,et al.  Multi-objective scheduling of micro-services for optimal service function chains , 2017, 2017 IEEE International Conference on Communications (ICC).

[3]  Albert Y. Zomaya,et al.  Scheduling in Parallel Computing Systems , 1999 .

[4]  Carlos Juiz,et al.  Resource optimization of container orchestration: a case study in multi-cloud microservices-based applications , 2018, The Journal of Supercomputing.

[5]  Peng Li,et al.  Resource scheduling optimisation algorithm for containerised microservice architecture in cloud computing , 2018, Int. J. High Perform. Syst. Archit..

[6]  Dorothea Heiss-Czedik,et al.  An Introduction to Genetic Algorithms. , 1997, Artificial Life.

[7]  Maurizio Gabbrielli,et al.  Self-Reconfiguring Microservices , 2016, Theory and Practice of Formal Methods.

[8]  Jingze Lv,et al.  A Container Scheduling Strategy Based on Machine Learning in Microservice Architecture , 2019, 2019 IEEE International Conference on Services Computing (SCC).

[9]  Shahryar Rahnamayan,et al.  A novel population initialization method for accelerating evolutionary algorithms , 2007, Comput. Math. Appl..

[10]  Zahid Raza,et al.  A PSO Based VM Resource Scheduling Model for Cloud Computing , 2015, 2015 IEEE International Conference on Computational Intelligence & Communication Technology.

[11]  Radu Prodan,et al.  Dynamic Multi-objective Scheduling of Microservices in the Cloud , 2020, 2020 IEEE/ACM 13th International Conference on Utility and Cloud Computing (UCC).

[12]  Haihua Gu,et al.  Scheduling method with adaptive learning for microservice workflows with hybrid resource provisioning , 2021, International Journal of Machine Learning and Cybernetics.

[13]  Chengxin Yan,et al.  High-Performance Elastic Management for Cloud Containers Based on Predictive Message Scheduling , 2017, Future Internet.

[14]  Hartmut Schmeck,et al.  Ant colony optimization for resource-constrained project scheduling , 2000, IEEE Trans. Evol. Comput..

[15]  Carlos Juiz,et al.  Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture , 2017, Journal of Grid Computing.

[16]  Thomas F. Wenisch,et al.  Q-Zilla: A Scheduling Framework and Core Microarchitecture for Tail-Tolerant Microservices , 2020, 2020 IEEE International Symposium on High Performance Computer Architecture (HPCA).

[17]  Alberto Blanc,et al.  Optimizing the Performance of a Microservice-Based Application Deployed on User-Provided Devices , 2018, 2018 17th International Symposium on Parallel and Distributed Computing (ISPDC).

[18]  Jürgen Cito,et al.  Modelling and Managing Deployment Costs of Microservice-Based Cloud Applications , 2016, 2016 IEEE/ACM 9th International Conference on Utility and Cloud Computing (UCC).

[19]  Yan Liu,et al.  Online machine learning for cloud resource provisioning of microservice backend systems , 2017, 2017 IEEE International Conference on Big Data (Big Data).

[20]  Samuel Kounev,et al.  TeaStore: A Micro-Service Reference Application for Benchmarking, Modeling and Resource Management Research , 2018, 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[21]  Florin Pop,et al.  Microservices Scheduling Model Over Heterogeneous Cloud-Edge Environments As Support for IoT Applications , 2018, IEEE Internet of Things Journal.

[22]  Jianqing Xi,et al.  Ant Colony Algorithm for Multi-Objective Optimization of Container-Based Microservice Scheduling in Cloud , 2019, IEEE Access.

[23]  Ricardo Moraes,et al.  A Soft Real-Time Scheduling Engine for Cost Reduction in Freemium Companies , 2017, 2017 IEEE 20th International Symposium on Real-Time Distributed Computing (ISORC).

[24]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[25]  Jing Wang,et al.  A New Population Initialization Method Based on Space Transformation Search , 2009, 2009 Fifth International Conference on Natural Computation.

[26]  Xiao Liu,et al.  SmartVM: a SLA-aware microservice deployment framework , 2018, World Wide Web.

[27]  Klara Nahrstedt,et al.  MONAD: Self-Adaptive Micro-Service Infrastructure for Heterogeneous Scientific Workflows , 2017, 2017 IEEE International Conference on Autonomic Computing (ICAC).

[28]  Mainak Adhikari,et al.  Multi-objective accelerated particle swarm optimization with a container-based scheduling for Internet-of-Things in cloud environment , 2019, J. Netw. Comput. Appl..

[29]  ZhiHui Lv,et al.  HANSEL: Adaptive horizontal scaling of microservices using Bi-LSTM , 2021, Appl. Soft Comput..