Cloud Computing Load Balancing using Genetic and Throttled Hybrid Algorithm

— The demand for cloud computing resources is increasing due to its accessibility everywhere at any time. When the number of clients for cloud services increases, the load on the cloud nodes becomes high. This status requires load balancing to evenly distribute client requests among the available Virtual Machines (VMs) in a Data Center (DC). There are different standard dynamic load balancing techniques, such as Throttled and Active Monitoring. In this paper, a Genetic Algorithm (GA) is incorporated with a throttled to improve load balancing. The improvement is achieved by enhancing the overall response time, the data center processing time, and the maximum resource utilization. Simulation results show the improved performance of the proposed method compared to the ESCE and Throttled.

This paper introduces an improvement to load balancing. A Load Balancing algorithm is proposed to improve Load Balancing in a heterogeneous cloud computing environment through improving the overall response time, DC Processing Time, and the maximum resource utilization. The proposed algorithm incorporates a GA with a throttled, and it is called Dynamic Throttled Genetic Algorithm (DTG).

II. RELATEDWORK
This section provides an overview of some load balancing techniques in cloud computing. The performance of a load balancing algorithm in cloud computing is measured by the following metrics: Execution Time (ExT): It is the time taken to execute the given set of tasks on VM, which is defined by [15] as shown in Eq. (1): (1) Where VMP is the power processing of VM, LT is the length of the task.
Makespan: It is defined as the total execution time of all the tasks. This metric must be reduced to reduce the cost and execution time. It is the total amount of time required to complete a group of tasks which indicates the maximum completion time. It can be calculated by [15][16][17] Makespan =∑ Comp_Time [i, j] is the time at which task i ends on VM j.
Completion Time (CT): It is the sum of the Execution Time (ExT) of all the previous tasks and execution time (ExTm) of the present task allocated in the same VM, which can be calculated by [15] as shown in Eq. (4):

CT=ExTm+∑
(4) Response Time (RT): It represents the total amount of time taken by the load balancing algorithms to respond to a user. This metric must be reduced and can be calculated by [15] as shown in Eq. (5): RT ∑ (5) Where, CT is the completion time of a task, SB is the submission time of task. The average of response time for each VM is calculated by [15] as shown in Eq. (6): Avg.RT=RT/N (6) Garg, Gupta, and Dwivedi proposed an Enhanced Active Monitoring Load Balancing (EAMLB) method to reduce the response time in cloud environments. EAMLB got a better response time than active monitoring and Round Robin (RR). Cloud analyst is used in the comparison between active monitoring, RR and proposed algorithm (EAMLB). Results showed the benefit that one VM will not be assigned in a continuous manner if it is the least loaded [18]. Kulkarni and Annappa suggested an algorithm that spreads the load equally throughout all the VMs even when the frequency of requests is high during peak hours. This approach aims at guaranteeing faster response times to consumers. It is observed that the active load balancer algorithm (packaged in cloud analyst) produced load imbalance. The suggested algorithm repaired the problem of the active balancer algorithm by using a reservation table among the phase of the chosen and assignment of VMs [19].
Shakir and Razzaque discussed some load balancing algorithms and the simulation was performed using the cloud analyst tool to test the performance. The result showed that RR is the best compared to the others [20].Nishad, Kumar, Bola, Beniwal, and Pareek suggested RR policy. The RR policy was worked effectively when it concerned with resource utilization. The total cost was the same in experimentation when compared with a traditional algorithm such as Compare and Balance, VectorDot, and Throttled. The choice of a suitable DC for carrying out a task is an important advantage to develop the performance of the cloud [21].
Das, George, and Jaya introduced A new algorithm by merging Weighted Round Robin (WRR) in Honeybee inspired algorithm with a view to obtain the least processing and response time. Where tasks with a priority are processed first. The honeybee algorithm allocated weights to each VM, and the VM is chosen according to the task requirement from resources. Tasks with no priority are processed later using WRR. Experimental results showed that the proposed algorithm gives better response and processing time [22].Makasarwala and Hazari suggested a GA based technique for load balancing. For population initialization, the priority request is taken into account according to their time. The idea from the priority is to obtain actual world visualization. The proposed technique is done using cloud analyst. Results showed that the suggested technique performs better than RR and throttled. The suggested technique also gives better average response time compared with previously available techniques [23].
Rjoub and Bentahar proposed a machine learning algorithm by using a multi-standard decision to get better performance. The main goal of their work is to reduce the Makespan of a given task. Their technique was simulated by the cloud sim toolkit package. Experiment results showed that the proposed algorithm reduced the execution time and got better performance of the load balancing [24].Sadia, Jahan, Rawshan, Jeba, and Bhuiyan proposed a new strategy that carried out the division of loads through VM that relies on priority. Their aim was to maximize the throughput with minimum execution time. To achieve that, the VMs were arranged based on their processing powers, and tasks are allocated to the VMs that rely on their instruction numbers and priorities. The proposed strategy was tested using cloud Sim, and the results proved that the performance of their strategy is better than other conventional algorithms [25].
Aruna, Bhanu, and Karthik proposed a load balancing technique using a Joint Firefly algorithm (FA) and Particle Swarm Optimization (PSO). The main goal was to balance the load of the entire system while at the same time minimize the makespan of tasks. This strategy has been simulated with cloud sim toolkit package. The results proved that the proposed algorithm gave better performance than the Min-Min, PSO, and FCFS methods [26]. Jena proposed a method that focused on task scheduling using a Multi-Objective nested Particle Swarm Optimization (MOPSO) to make the best of energy and processing time. The result was obtained from cloud sim and was compared with BRS and Random Scheduling Algorithm (RSA). MOPSO gave an ideal balance results for multiple objectives and helped in reducing the number of failed tasks. MOPSO reduced 30% of energy consumption and 25% of makespan compared with other approaches [27].
Garg, Dwivedi, and Chauhan proposed a method that focuses on load balancing to decrease the status of overload or underload that leads to getting better performance of cloud on VMs. Comparative analysis was done using cloud analyst. The STVMLB is prepared by making an alteration in the concept of throttled algorithm. STVMLB has raised the utilization of VM better than throttled and active monitoring. It achieved a better result as to efficiently assign the coming request and increase the response time in a cloud environment, although the response time was not better than a throttled algorithm [28].Domanaland Reddy suggested a hybrid algorithm gathering the methodology of divide-and-conquer and throttled algorithms known as DCBT. The goal was to minimize the total execution time and maximize resource utilization. The result proved that DCBT made use of the VMs more effectively while bringing down the execution time of the tasks by 9.972% compared to the modified throttled technique [29].
Geethu, Vasudevan, nd International Symposium on Big, and Cloud Computing Challenges focused on Min-Min and Max-Min load balancing algorithms. Comparison between Min-Min and Max-Min algorithms showed that makespan is reduced for Max-Min compared with Min-Min, so the Max-Min outperformed the Min-Min [30]. Babu, Joy, and Samuel suggested a bee colony for effective load balancing, which relies on the foraging style of honey bees. Tasks taken away from overloaded VMs were considered as honey bees, and underloaded VMs were considered as the food sources. The suggested method considered the priorities of tasks in the waiting queues and attempted to obtain less response time and decrease the number of task migrations. The experimental result showed a reduction in the makespan and gave better performance to the consumers [31].

III. METHODOLOGY A. Problem Statement and Definition
When requests come from users randomly, some servers could undergo a heavy workload while others are sleeping or have a light load. Due to the unfair distribution of load in the cloud, the cloud DC may be influenced by overloading and underloading of VMs. When servers are equally loaded, the performance will improve. The proposed algorithm aims to avoid these unfair distributions of the load through the VMs by distributing the load among the VMs in an appropriate manner. Therefore, a new efficient scheduling algorithm is suggested and then implemented in cloud computing using cloud analyst, in Java language. The proposed algorithm is a hybrid approach that combines GA and throttled strategies, and it is called Dynamic Throttled Genetic (DTG).
The efficient allocation of resources and scheduling is a vital task in cloud computing based on which the performance of the system is rated. In general, algorithms of load balancing are multi-objective to guarantee the maximum use of all resources along with the enhancement in response time, throughput, makespan and, cost. Optimization is picking out the best solution. Any optimization case is either maximization or minimization, which depends on the nature of the problem [39].
In existing throttled, when a request comes from a client to the Data Center Controller (DCC) and wants to be allocated to a VM, then the accessibility of VM is examined starting from the first VM. However, it is better that the accessibility checking starts from the next to be assigned VM for load balancing. Moreover, existing throttled does not take into account the processing times for each individual requests [12,13,28].To overcome this problem, a GA is incorporated with a Throttled to improve load balancing.
GA can have a key role in load balancing. It can handle the scheduling mechanism in which the requests are allocated to resources. This determines which resource will be appropriate for which task. Moreover, GA can be used to decrease the scheduling time. The concept of GA is that the new generation of a solution should be better compared to the previous one. A solution is represented by a chromosome [40].
GA is a nature-inspired algorithm which relies on the 'existence of the fittest' idea. GA is used as an optimization process in diverse applications due to its ability to locate the global maximum in several different modes. It converges progressively in respect of a global optimum solution according to the target function, which is one of the most significant countenances of any optimization algorithm. According to its many features such as robustness and adaptability, it has acquired popularity to resolve the optimization issues, particularly in mysterious environments. GA can be used to find the most suitable processors to carry out the specified set of tasks for improving response time, resource utilization, etc. Generally, GA consists of a four-steps, which are selection, crossover, mutation, and termination [23]. The basic process for GA is as follows [41]: I. Initialization: Creates an initial population. This population is usually randomly generated and can be any desired size. II.
Evaluation: Calculates 'fitness' for each chromosome. The fitness value is calculated by how well it fits with the desired requirements. III.
Selection: Selection works by throwing the weak and preserving the best chromosome in the population (good solutions are chosen). IV.
Crossover: Creates new offspring, which will inherit the best feature from its parents (crossover the parent's to build new offspring). V.
Mutation: Makes very little alterations at random to chromosomes. Every combination of solutions one can inspire would be in the initial population (changing the gene estimate in the chromosome). VI.
Termination: The GA can be restarted until it reaches a stop condition. Some concepts used with GA are as follows [36]: I. Fitness Function: It is a type of an objective function, which is used to represent how close the solution is getting to the set target. The fitness function of the chromosome in DTG is the min cost. II.
Population: It is a set of possible solutions for the proposed problem (in DTG a collection of chromosomes represented in all available VMs). III.
Chromosome: It represents the individuals in the population (one solution which consists of genes). IV.
Gene: It represents a variable in a chromosome.

B. Architecture of the Dynamic Throttled Genetic (DTG) Methodology
The proposed DTG algorithm concentrates mostly on how incoming cloudlet requests are assigned to the appropriate VMs intelligently. The purpose of this proposed load balancer algorithm is to design efficient scheduling that uniformly divides the workload among the available VMs, decreases the overall response time and DC processing time to improve the resource utilization. This can be considered as an optimization problem.
An index schedule is used to keep the VM-id and its condition either AVAILABLE or BUSY. At the start, all VMs are available. At any moment, when a new request comes from the client to the DCC, the DCC forwards the request to the proposed load balancer and asks for request assigning. The proposed DTG load balancer checks all the available VM in the index schedule. Throttled returns all the available VMs-id to the GA. GA considers all the available VMs as an initial population and begins to evaluate every chromosome fitness cost.
Decimal numbers are used for genes representation. The chromosome presentation used in the proposed method is as follows: A = {1 2 3 4 5 6 7 8} The digit represents the (VM_ID) and the place at which it is located is Cloudlet ID (C_ID). The fitness function is the base part of the evolution of the algorithm. The chromosomes having good fitness is selected for generating a child. The fitness function used in the proposed algorithm is based on choosing the chromosome with minimum cost. The less the value of fitness function, the more chromosomes are fit.
The initial population is created randomly so the size of the available resources should be known. If there are two available resources and a new request coming, there are two solutions. In that case, the proposed DTG will compute the expected cost of the two available resources. It will take the resource that has a minimum cost, where the min cost on VM_id1 and min cost on VM_id2 are arranged in list index. The number of chromosomes is a population size (the number of chromosomes is set =512). The fitness function will be computed on each chromosome. This is considered the evaluation for all chromosomes. Following that, the good population is selected for the generation of new children, and the crossover operations are done on the selected chromosomes. The next step mutates the new children with specific mutation probability, and then updates the population with the new children to form the new population and remove the bad ones. The last step ends by returning the best chromosomes of the final population after a number of iterations that are specified in the setting (128 here).
Initial population (The set of the available resources (VMs), and the population is randomly generated. Therefore, the representation of solutions for each gene or (chromosome) consists of VM_ID and ID for each task to be executed on these VM). As shown in Fig.1. Fitness function evaluation: The chromosomes having good fitness is selected for generating a child. The fitness function used in DTG method is based on choosing the min cost.
Parent's selection: The fitter of the two individuals is selected to be a parent. Crossover: It can be achieved by selecting two parent individuals and then creating a new individual by alternating and reforming the parts of those parents. Therefore, two chromosomes which are selected for the crossover process to generate two offspring will be considered as offspring also. GA iterates the process until it finds the best available VM for the request according to its min cost, and then it returns VM-id to DCC.
The DCC tells the proposed DTG load balancer to alter the values in the allocation schedule and keep the state BUSY of an allotted machine in VM State schedule. If the proposed DTG algorithm does not find an available VM in the index schedule, then it returns -1. When VMs finish the process and DCC receives the response, it notifies the proposed DTG algorithm to de-allocate the VM. The DTG algorithm then alters the state of the VM as AVAILABLE. If more requests are waiting, then the process of assigning is started again. The basic methodology of the proposed algorithm is shown in Fig. 2

B. EXPERIMENTAL TESTS
In order to test the proposed DTG load balancer algorithm, the optimization process is simulated by NetBeans IDE 8.0.2 using advanced java for coding [43]. In this test, six User Bases (UB) are fixed in six different location/regions of the world. The four DCs involving the following characteristics: a number of resources, cache size, and DC bandwidth. The entire ordering is depicted in Table 3 under the same scenario which consists of four DCs and six UBs in six different geographical points as shown in Fig.6. The four DCs are considered to serve the requests of users. A first DC is located in region 0 which consists of 32 VM, the second one is in region 1 which consists of 17 VM, the third one is in region 2 which consists of 50 VM and the fourth one is in region 3 which consists of 81 VM. The simulation duration is about 60 minutes. The proposed method will be taken on two diverse levels. There are three popular routing protocols that are available in the simulator, which are: "Closest Data Center", "Optimize Response Time" and "Reconfigure Dynamic with Load". In the first level, the closest data center is selected as a broker policy and set the others as default. The second level implements the proposed DTG load balancer, which executes the load balance policy when serving and assigning requests.

C. Results
Each DC host has a particular amount of VMs. In this test, four DCs are considered with 32, 17, 50 and 81 VMs. The simulation is repeated for ESCE, Throttled and the proposed DTG.
The results of the overall response time and DC processing time of ESCE algorithm obtained based on the above considerations. The overall response time is 1384.80 ms. The DC processing time is 1267.42 ms. The response time by region for all six UBs is shown in Fig.7. The results for the simulation done based on the specification provided in the above TABLE 3. The geographical location of each DC with their average, minimum and maximum execution time for the ESCE algorithm is shown in Fig.8, where the figure shows the overall response time for the DCs for the VMs to serve the requests if the service broker policy is set to the closest DC. The result of overall response time and DC processing time of throttled algorithm are as follows. The overall response time is 1408.74 ms. The DC processing time is 1291.37 ms. The response time by region for all six user bases is shown in Fig.9.  The result of overall response time and DC processing time of the proposed DTG algorithm are as follows. The overall response time it is 1372.02 ms. The DC processing time is 1254.49 ms. The response time by region for all six UBs is shown in Fig.11. The performance of the DTG algorithm is enhanced as follows. DTG gives less response time and less processing time with better resource utilization compared with ESCE and throttled algorithms.

D. Comparative Results
To verify the improvement of the proposed DTG algorithm, it is compared with the standard ESCE and throttled as shown in Table 4. The enhancement achieved by the proposed DTG algorithm is verified by comparative analysis. The proposed DTG algorithm tries to minimize the response time as well as reduce the DC processing time of VMs that are going to miss their deadlines. It can be seen that the proposed DTG algorithm guarantees a fair allocation of the requests to each DC. This fair allocation safely gets a better response, unlike traditional policies. With the proposed DTG algorithm, the overall response time and DC processing time for a request has been improved compared to the other two algorithms. The result proved that DTG makes use of VMs more effectively while bringing down the response time of the tasks by 36.72% in comparison with others. Experimental results show that the DTG load balancing algorithm gives less response time and less processing time. The results also suggest that the DTG VM load balancer allocated the requests to VMs evenly by overcoming the limitation of throttled VM load balancer. The performance of the DTG algorithm is evaluated by objective 1: if the response time is low, then the method is said to be more efficient. It is measured in terms of milliseconds (ms). Fig. 13 shows the average response time, which illustrates that the response time of the proposed DTG algorithm is better than the other investigated algorithms. From the results of all the three algorithms, it can be concluded that there is no difference in the cost, but there is a difference between the overall response time of all the UBs. The DTG algorithm is found to be the best with Avg response time of 1372.02 ms. While Avg response time is 1408.74 ms for throttled and 1384.80 ms for ESCE. The performance of the DTG algorithm is evaluated by objective 2: if the DC processing time is low, then the method is said to be more efficient. It is measured in terms of ms. Fig. 14 shows the results based on the DC processing time. As can be seen, the DC processing time of the proposed DTG algorithm is better than the others. The results of all the three algorithms indicate that there is no difference in the cost, but there is a difference between the DC processing time of all the UBs. The DTG algorithm is found to be the best with Avg of 1254.49 ms. While Avg is 1291.37 ms for throttled, and 1267.42 ms for ESCE. The DC request servicing time is analyzed by comparing the three loading policy ESCE, Throttled and DTG, and the results are shown in Table 5. Fig. 15 shows the comparison results. The X-axis indicates the DCs and Y-axis indicates the average request servicing time at each DC in ms. A load balancing is considered more efficient when the processing of requests at each DC takes less time. The result shows that there is a slight difference between the four DC request servicing time, and DTG is found to be the best. The response time of all the UB (UB1-UB6) in various regions is analyzed, and the result is shown in Table 6 and Fig. 16. As can be seen, there is a slight difference between the response time of all the UB, and DTG is found to be the best. Cloud analyst is used to regenerate the results of throttled, ESCE and RR algorithms, described in previous papers, according to the settings used in each paper. After that, changes are made to the settings to evaluate the performance of the previous algorithms and the proposed DTG algorithm. This is done to test the algorithms on different scenarios and to prove that the proposed DTG algorithm is the best, as shown in Fig. 17. Each scenario represents a different configuration. These scenarios are shown in Table 7. It is clear that the proposed DTG algorithm is more efficient for the cloud load balancing. The proposed algorithm performs better than the rest of the algorithms on the basis of response time. Experimental results show that the DTG load balancing algorithm gives less response time according to the different five scenarios in different five papers. The results of all the four algorithms indicate that there is no difference between the DC processing time, but there is a slight difference between the overall response time of all the UBs. The DTG provides the best Avg response time. The results prove that combining GA and Throttled improves the response time of VMs as compared to ESCE, throttled, and RR. The results also suggest that the DTG VM load balancer allocated the requests to VMs evenly, and thus it overcome the limitation of throttled VM load balancer. V. CONCLUSION This paper proposes a dynamic load balancing algorithm that employs a Genetic Algorithm. The proposed algorithm is called DTG. A load balancing algorithm aims at solving the problem of the cloud data centers being affected by some servers having to serve a heavy load, while other servers are asleep or have a little amount of load. When servers are equally loaded, the performance will improve. This is done by reassigning from a heavily loaded server to a lightly loaded server. One important aspect of cloud computing is the minimization of response time so as to balance the workload and raise business rendering with client satisfaction. The proposed DTG aims at avoiding unfair distribution of the load through the virtual machines.
The performance of the proposed DTG algorithm is investigated with the help of a graphical user interface based Cloud Analyst tool. Java language is used to develop the class file for implementation in the tool. From the results of the simulation, it can be concluded that the proposed DTG algorithm works efficiently when it comes to resource utilization, the processing time of the data center, and response time of the user base. The simulation results show that the overall response time and data center processing time of DTG is improved, and the cost is reduced as compared with the Throttled and ESCE algorithms.