An Approach Based on Genetic and Grasshopper Optimization Algorithms for Dynamic Load Balancing in CloudIoT
DOI:
https://doi.org/10.31577/cai_2023_2_364Keywords:
CloudIoT, dynamic load balancing, GA, GOA, task schedulerAbstract
CloudIoT is a new paradigm, which has emerged as a result of the combination of Cloud Computing (CC) and the Internet of Things (IoT). It has experienced a growing and rapid development, and it has become more popular in information and technology (IT) environments because of the advantages it offers. However, due to a strong use of this paradigm, especially in smart cities, the problem of imbalance load has emerged. Indeed, to satisfy the needs of the user, the intelligent objects send the collected data to the virtual machines (VMs) of the cloud in order to be processed. So, it is necessary to have an idea about the load of its VM. Thus, the problem of load balancing between VMs is strongly related to the technique used for the VMs selection. To tackle this problem, we propose in this paper a task scheduler called Scheduler Genetic Grasshopper Algorithm (SGGA). It allows to ensure a dynamic load balancing, as well as the optimization of the makespan and the resource usage. Our proposed SGGA is based on the combination of Genetic Algorithm (GA) and Grasshopper Optimization Algorithm (GOA). First, the tasks sent by the IoTs are mapped to the VMs in order to build the initial population, then SGGA performs the genetic algorithm, which has expressed a considerable performance. However, the weakness of the GA is marked by its heaviness caused by the mutation operator, especially when the number of tasks increases. Because of this insufficiency, we have replaced the mutation operator with the grasshopper optimization algorithm. The results of the experiments show that our approach (SGGA) is the most efficient, compared to the recent approaches, in terms of the response time to obtain the optimal solution, makespan, throughput, an average resource utilization rate and the hypervolume indicator.