A Self-Adapting Task Scheduling Algorithm for Container Cloud Using Learning Automata

With the rapid development of cloud computing and container technology, more and more applications are deployed to the cloud, and the scale of cloud platform is expanding. Due to the large number of container instances running in the platform, complex dependency relationship, fast version iteration and other characteristics, the update of business can often cause the change of the whole cloud resource environment, which triggers the repetitive scheduling problem of related tasks and affects stability of the business. In this paper, we propose a self-adapting task scheduling algorithm (ADATSA) using learning automata to solve these problems. Firstly, we design a learning automata model and objective function for the system on task scheduling problem. Then, we realize an effective reward-penalty mechanism for scheduling actions in combination with the idle state of resources and the running state of tasks in the current environment. Meanwhile, the environment is modeled by cluster, node and task, and the probability of action selected is optimized by scheduling execution, thus enhancing the adaptability to the cloud environment of the scheduling and accelerating convergence. Finally, we construct a framework of task load monitoring with buffer queue to achieve dynamic scheduling based on priority. The experimental part verifies the effectiveness of proposed algorithm with different angles such as resource imbalance degree, resource residual degree and QoS. Compared with other learning automata scheduling models such as LAEAS, non-automata technology based algorithms such as PSOS and K8S scheduling engine, ADATSA shows the better performance of environment adaptability, resource optimization efficiency and QoS in dynamic scheduling. The theoretical analysis was consistent with the experimental results.

[1]  Anis Yazidi,et al.  Achieving Fair Load Balancing by Invoking a Learning Automata-Based Two-Time-Scale Separation Paradigm. , 2020, IEEE transactions on neural networks and learning systems.

[2]  M. Dehghan,et al.  A new approach for task scheduling in distributed systems using learning automata , 2009, 2009 IEEE International Conference on Automation and Logistics.

[3]  Anjali Agarwal,et al.  Availability-Aware Container Scheduler for Application Services in Cloud , 2018, 2018 IEEE 37th International Performance Computing and Communications Conference (IPCCC).

[4]  Han Li,et al.  A Service Performance Aware Scheduling Approach in Containerized Cloud , 2020, 2020 IEEE 3rd International Conference on Computer and Communication Engineering Technology (CCET).

[5]  Haiying Shen,et al.  A Resource Usage Intensity Aware Load Balancing Method for Virtual Machine Migration in Cloud Datacenters , 2020, IEEE Transactions on Cloud Computing.

[6]  Kumpati S. Narendra,et al.  Learning Automata - A Survey , 1974, IEEE Trans. Syst. Man Cybern..

[7]  Shi Xue Utility Maximization Model of Virtual Machine Scheduling in Cloud Environment , 2013 .

[8]  Jemal H. Abawajy,et al.  Automata-Based Dynamic Fault Tolerant Task Scheduling Approach in Fog Computing , 2022, IEEE Transactions on Emerging Topics in Computing.

[9]  Anna Gorbenko,et al.  Task-resource scheduling problem , 2012, International Journal of Automation and Computing.

[10]  Zhigang Hu,et al.  Task Scheduling Based on Dynamic Non-Linear PSO in Cloud Environment , 2018, 2018 IEEE 9th International Conference on Software Engineering and Service Science (ICSESS).

[11]  Li Luo,et al.  Research on Scheduling of Cloud Manufacturing Resources Based on Bat Algorithm and Cellular Automata , 2019, 2019 IEEE International Conference on Smart Manufacturing, Industrial & Logistics Engineering (SMILE).

[12]  Yan Liu,et al.  A Cost-Based Resource Scheduling Paradigm in Cloud Computing , 2011, 2011 12th International Conference on Parallel and Distributed Computing, Applications and Technologies.

[13]  Marlon E. Pierce,et al.  Integrating Apache Airavata with Docker, Marathon, and Mesos , 2016, Concurr. Comput. Pract. Exp..

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

[15]  Jakub Gasior,et al.  Dynamic Job Scheduling in the Cloud Using Slowdown Optimization and Sandpile Cellular Automata Model , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[16]  Sachchidanand Singh,et al.  Containers & Docker: Emerging roles & future of Cloud technology , 2016, 2016 2nd International Conference on Applied and Theoretical Computing and Communication Technology (iCATccT).

[17]  Zibin Zheng,et al.  Investigating QoS of Real-World Web Services , 2014, IEEE Transactions on Services Computing.

[18]  Jalil Jabari Lotf,et al.  Applications of learning automata in wireless sensor networks , 2011, 2011 5th International Conference on Application of Information and Communication Technologies (AICT).

[19]  W. Marsden I and J , 2012 .

[20]  Takahiro Hara,et al.  A Multi-Objective Optimization Scheduling Method Based on the Ant Colony Algorithm in Cloud Computing , 2015, IEEE Access.

[21]  Shaojie Liu,et al.  Collaborative Optimization Scheduling of Cloud Service Resources Based on Improved Genetic Algorithm , 2020, IEEE Access.

[22]  Aaas News,et al.  Book Reviews , 1893, Buffalo Medical and Surgical Journal.

[23]  MengChu Zhou,et al.  Dynamic Cloud Task Scheduling Based on a Two-Stage Strategy , 2018, IEEE Transactions on Automation Science and Engineering.

[24]  Eric A. Brewer,et al.  Borg, Omega, and Kubernetes , 2016, ACM Queue.

[25]  Bibhudatta Sahoo,et al.  An Energy-Efficient Scheduling Framework for Cloud Using Learning Automata , 2018, 2018 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT).

[26]  Emiliano Casalicchio Autonomic Orchestration of Containers: Problem Definition and Research Challenges , 2016, VALUETOOLS.