Cost-Effective Scheduling and Load Balancing Algorithms in Cloud Computing Using Learning Automata
DOI:
https://doi.org/10.31577/cai_2023_1_37Keywords:
Cloud computing, load balancing, learning automata, efficiencyAbstract
Cloud computing is a distributed computing model in which access is based on demand. A cloud computing environment includes a wide variety of resource suppliers and consumers. Hence, efficient and effective methods for task scheduling and load balancing are required. This paper presents a new approach to task scheduling and load balancing in the cloud computing environment with an emphasis on the cost-efficiency of task execution through resources. The proposed algorithms are based on the fair distribution of jobs between machines, which will prevent the unconventional increase in the price of a machine and the unemployment of other machines. The two parameters Total Cost and Final Cost are designed to achieve the mentioned goal. Applying these two parameters will create a fair basis for job scheduling and load balancing. To implement the proposed approach, learning automata are used as an effective and efficient technique in reinforcement learning. Finally, to show the effectiveness of the proposed algorithms we conducted simulations using CloudSim toolkit and compared proposed algorithms with other existing algorithms like BCO, PES, CJS, PPO and MCT. The proposed algorithms can balance the Final Cost and Total Cost of machines. Also, the proposed algorithms outperform best existing algorithms in terms of efficiency and imbalance degree.