Optimized load balance scheduling algorithm

ABSTRACT


INTRODUCTION
Vast applications and resources storing the data of many users worldwide are provided as a service via a cloud computing system.Although the cloud applications increase rapidly every day, many challenges need to be considered such as security and load balance [1], [2].The name "cloud" refers to virtual networks that provide software services with high performance at a low cost [3].Nowadays, cloud computing extends this trend towards hardware, even infrastructure, to be provided as a service [4].As the requirement of the services was increasing, the need for more parallel and distributed servers will also increase with the need for algorithms to balance the load equally.Without balancing the load there may be some idle nodes while others are fully loaded with a list of demands [5], [6].The goal of applying these algorithms is to give every server an equal load, so at any time, all the servers are busy with a specified work.This will improve the services by minimizing the response time, improving resource utilization and the overall performance [7].The main challenge is allocating a suitable resource at the time of a task.These algorithms depend on predicting the number of loads, relations between nodes, implementation of the system.The measured load is different in many aspects, such as central processing unit (CPU) load, the used memory, and time delay [8], [9].Load balance algorithms can be classified into either static or dynamic resource allocation.In a static algorithm the current state is not considered because it relies on its previous information [10].Dynamic algorithm depends on present state, and there is no need for prior knowledge of the system.Dynamic algorithm can be classified into distributed and non-distributed algorithm [11].In distributed algorithm, the work load is harmonized between all the nodes collectively.It can be applied in two forms: cooperative that relies on each node to reach the goal, and non-cooperative form that balances the load on each node independently [12].Whereas, non-distributed algorithm, balance the load by one node or node-set.This algorithm is classified into two types: non-distributed centralized that relies, on a centralized node in balancing the load, and semi distributed that divides the node into sets of clusters and inside each group the central node balances the load.These clusters interact to produce the final decision of the whole system [13].
Balancing the load in cloud environment has advantages related to security when hundreds of attackers start to send the unwanted traffic packets in order to acquire the memory, network resources and completely deplete them this attack is known as distributed denial of service (DDoS) attack [14].One of the most crucial attack is DDoS attacks that are based on a joint attack platform that intends to send incomplete requests traffic that exaust network bandwidth or system resources.resulted in prevention of legitimate users' requests.Addition layer of security can be added by balancing the load as a result of its effect in controlling and avoiding DDoS attacks.Dynamic allocation of resources can be used to mitigate DDoS attack effectivily [15].
Manasrah and Ali [16] have combined the genetic algorithm (GA) and particle swarm optimizations (PSO) optimization algorithm.At first the preliminary solution is found by GA algorithm that is passed to the PSO algorithm to produce the final solution.Results show improvement in the performance (16% over GA and 4% above PSO) by reducing the overall execution time and cost.Fabrizio et al. [17] used asymmetrically clipped optical (ACO) heuristic algorithm to balance heterogeneous load by performing scheduling simultaneously.The tasks graph is mapped and placed on a heterogeneous reconfigurable devices to support PDR based field-programmable gate arrays (FPGAs).The performance comparison shows an improvement of 16.5% over other heuristic algorithms.Jain [18] examined machine learning techniques based on multilevel swam optimization to allocate suitable resources that can utilize continuous data streams, minimize time cost, and increase load balance degree.Hong [19] introduced genetic ant colony algorithm to solve virtual machine (VM) problem by analyzing ant placement between pair of virtual machines (VMs) which is done by monitoring the pheromone during the ant movements.These results will be optimized using a genetic algorithm.The evaluation shows that the physical servers are chosen efficiently resulted in resource utilization improvement.Dave et al. [20] presented PSO for balancing the load running in cloud environment using different applications to generate the load.The comparison shows considerable improvement in the performance of VMs running applications.Awad et al [21] developed load balance mutation particle swarm optimization (LBMPSO) that reassigned failed task and finished scheduling of the distributed tasks as earlier as possible.Results present improvement in round trip time and execution time over other algorithms.Jena [22] proposed multi-objective PSO framework (MOPSO) for scheduling task by combining PSO and an evolutionary algorithm such as a mutation operator with concepts commonly used in multiobjective evolutionary algorithms (MOEAs) based on Pareto dominance with better mechanism for spreading the solutions.The experimental results show improvement in resource utilization and reduction in energy and make span.X. Lu and Z. Gu [23] applied adaptive global expansion factor on ant colony optimization to speed up the convergence process.
The proposed model monitors the nodes to detect the overloaded VM then applying ACO to distribute load on the idle once.The results showed that adaptive cloud resource eliminate hot spots and balance the load efficiently which results in high CPU utilization.Dhinesh and Venkata [24] applied honey bee behavior to balance the load by classifying VMs into over loaded and under loaded nodes then removing the load from the hot spot node (over loaded) node to the idle (under loaded) node according to the priority of each task.This work improves the task execution and waiting time that can be proved by the simulation.Lili and Xu et al. [25] produced a green cloud task algorithm based on binary particle swarm optimization (BPSO).This work uses pipeline number for VMs and reassigns the particle position and velocity instead of using matrix operations.Results showed improvement in the performance by minimizing execution time and resource consumption in VMs.Xue et al. [26] has proposed load balance based on Ant colony optimization by considering the average virtual machine load.The standard ACO pheromone value is updated according to the distance while in the proposed algorithm, the pheromone value is selected according to the computational capabilities.The transformed probability problem of ants is solved by using the roulette algorithm.When tasks have selected the same virtual machine, the algorithm will select other idle virtual machines to minimize the waiting period.Nakrani and Tovey [27] have been inspired by the behavior of some kind of bees known as forager honey bees.This technique is based on the natural procedure that allocates suitable servers to the requested task efficiently.Results showed improvement in the performance over static or greedy algorithm for high request loads, but in low variability greedy algorithm can outperform.Alnusairi et al. [28]  The contribution of this paper was in: proposing hybrid algorithm, the first one is BAT algorithm that has the capability of fast convergence and the second algorithm is Cuckoo that overcomes the problem of trapping in local optimum solution.Secondly, this algorithm could be used to mitigate DDoS attack that aims to cause endless load on the servers and stop the service.Balancing the load is the best way to prohibit attackers from DDoS attack by fairly distribution of workloads.

PROPOSED HYBRID OPTIMIZATION ALGORITHM
A new hybrid algorithm has been proposed by combining the BAT and Cuckoo metaheuristic Search algorithm.BAT algorithm can reach towards optimum global region quickly (fast exploration) for the best solution over a large population.However, after a sequence of iterations, the local search strategy of BAT algorithm can trap into the local optimum.Consequently, the proposed algorithm uses Cuckoo search algorithm to replace the local search of BAT algorithm by passing the BAT best solution to cuckoo algorithm which uses Lévy flights strategy to overcome BAT local optimum problem.
The proposed algorithm starts to search for a new solution, which is generated in three stages: i) BAT algorithm is applied to find the first solution using global search; ii) Cuckoo algorithm generates a new solution around the best BAT solution; and iii) The proposed algorithm chooses the best solution between BAT and Cuckoo algorithm.

BAT optimization algorithm
BAT could be classified into three types after studing 1000 species of them: micro BAT, mega BAT, ghost BAT.Micro BAT uses a sonar called echolocation by generating a loud sound wave with low frequency and low pulse rate.When the BAT found the prey, the loudness decreases while the frequency and pulse rate increase with a short time (frequency tuning) to detect the location of prey accurately.This strategy is used in the global BAT search.The BAT algorithm is based on micro BAT behavior, so every BAT is assigned: − Frequency: number of waves in particular unit time denoted by fi, the minimum frequency fmin and maximum frequency fmax of the sound wave will be used to calculate the frequency at each iteration.− 2-Position: the location of each BAT in the population denoted by xi.− Velocity: speed of BAT toward the prey vi.− Loudness: the intensity of sound wave Ai, the loudness value range between maximum loudness value A1 and minimum loudness value A0, as the BAT becomes closer to the target, the loudness is minimized.− Pulse rate: the vibration of sound denoted by ri, as the BAT becomes closer to the prey, the pulse rate is increased.In the BAT algorithm the searching strategies are classified into two types: i) Local search: is used for generating a new solution around the position of the current best solution, by checking if the random value is greater than the pulse rate; and ii) Global search: a new solution is generated by flying randomly then checking if the fitness of the new solution is lower than the fitness of the current best solution and the loudness value is greater than a random value, then accept the new solution, Increase the pulse rate, and decrease the loudness.

Cuckoo optimization algorithm
This algorithm is a meta-heuristic algorithm proposed by Yang and Deb in 2009 by analyzing some cuckoo bird behavior that lay their eggs in the nests of other birds.This strange breeding behavior increases their survival and productivity.
Many host birds cannot differentiate Cuckoo bird from their birds, and these host birds will brood cuckoo eggs until they hatch and finally feeding them until chicks grow up.Although many cuckoo birds survive from the discovery of host bird, the possibility that the host bird realizes Cuckoo egg could happen, then host bird may throw away the cuckoo egg from the nest or leave that nest.Three rules should be imposed in the implementation of the Cuckoo algorithm: − Each cuckoo chooses random nest and puts one egg at a time.− Best nest represents best solution that is used to predict the next generation of solutions.− There are a fixed number of nests.The Best solution represents a high-quality egg (similar to host bird eggs), so it has the opportunity to develop and become a mature Cuckoo.Whereas worse solution represents eggs that could be distinguished by host bird so it should be replaced.
The generation of new solution is done by levy flight which is a set of straight paths turned by 90 degrees each time as the (1):  This flowchart can be summarized in the following steps: i) Population: the total number of BATs searching for a prey and total number of iterations; ii) Assign random value of frequency, velocity, position, loudness, and pulse rate for each BAT; and iii) Check, if the numbers of iteration lower than the total number of iterations then generate a new solution by updating the frequency, velocity, and position.Use (1), ( 2), (3).


Optimized load balance scheduling algorithm… (Rawaa Mohammed Abdul-Hussein) − Check if the random value is greater than the pulse rate then selects this solution among the best solution.− Apply cuckoo algorithm to generate a new solution around this solution.
− Use the BAT best solution as the initial best Cuckoo solution and calculate its fitness.− Use L´evy flight to generate new solution and calculate its fitness.− Compare the new fitness value with current fitness value and choose the nest with less fitness as a new solution.− Replace the worse cuckoo solution by a new solution by flying randomly, choose this solution if its fitness value is less than the current fitness.− return to BAT algorithm and Check if the fitness of the new cuckoo solution is lower than the fitness of BAT best solution and the loudness value is greater than a random value then: − Decrease the loudness and increase the pulse rate according to the following equations is a random number from [−1, 1],   () is the average loudness of the population.
− Rank the BAT and accept the best new solution with higher frequency and pulse rate.− Repeat the above steps until termination criteria satisfied.As a result, the proposed algorithm can explore wide range of problem space while avoiding getting stuck in local optimum.

RESULTS AND DISCUSSIONS
Cloud sim has been used to investigate large-scale cloud environment.it is developed by the Grid bus project team of Melbourne University in Australia.The implementation of the proposed algorithm is done by using Java programming language, IDE: Eclipse.The evaluation is measured by comparing a set of parameters like execution time and average utilization over 5 and 10 VMs for varying number of cloudlets (tasks).The proposed algorithm is compared with Round Robin Algorithm (RR), first come first served (FCFS) and standard BAT algorithm.Round Robin assign task to each virtual machine in Sequential order, so when the first task arrive, it will be sent to the first virtual machine then the second task is passed to the second virtual machine and so on.FCFS algorithm allocates the load in a sequential order according to its precedence of arrival.The evaluation is based on comparing Make Span, which is known as job completion time.It is measured in nanoseconds.The experimental result can be categorized into five cases:

Execution time for VMs
As shown in Figure 2, there is small difference between the execution time when the range of task is between 10 to 20.When the number of tasks exceeds 30 tasks, the differences in execution time increases gradually.The improvement of the proposed BAT cuckoo search (BATCS) has reached to about 14 % over FCFS algorithm, 6% over RR, and 4% over standard BAT algorithm.
For 10 VMs, the execution time is presented in Figure 3.It can be observed from Figure 2 that the proposed BATCS algorithm has minimum execution time over all other algorithms.The proposed BATCS achieves about 18 % less execution time than RR algorithm and 9% over both FCFS and standard BAT algorithm.

CPU utilization for VMs
As presented in Figure 4, when applying five virtual machine to the simulation, the results prove that BATCS algorithm improve the average resource utilization when compared to FCFS, RR, and standard BAT algorithms by 8%, 8%, and 4%, respectively.The CPU utilization results obtained for 10 VMs are shown in Figure 5.The average improvement of this comparison indicates that BATCS algorithm has higher utilization than FCFS, RR with 13 % and around 6 % over standard BAT algorithms.

Degree of Imbalance
Figure 6.presents the degree of imbalance for MakeSpan time.It can be observed that after balancing the load, the makespan time increases smoothly and gradually from about (2 to 7) nanosecond over a range of (10 to 40) tasks.Whereas before balancing the load, the variation in time shows unstable increase,

CONCLUSION
In cloud environment the load should be balanced efficiently by appling smart algorithms.Today scientists relay on metaheuristic algorithm to improve the performance by selecting the suitable algorithms skillfully.This work uses BAT algorithm that have high capability of global convergence to solution in short time, then after several iterations the new solutions may fall into the local optimum problem.Therefore, this work suggests applying cuckoo algorithm as a second stage that can find best new solution far from the current best solution.Results showed improvement in execution time by about 14 % over FCFS algorithm, 6% over RR, and 4% over standard BAT algorithm for 5 VMs and 18 % less execution time than RR algorithm and 9% over both FCFS and standard BAT algorithm for 10 VMs.Moreover, the proposed algorithm achieves higher resource utilization for 5 VMs when compared to FCFS, RR, standard BAT algorithms by 8%, 8%, and 4%, respectively.Additionally, BATCS algorithm has higher utilization than FCFS, RR with 13 % and around 6 % over standard BAT algorithms.Finally, the performance comparison showed that the improvement in the degree of imbalance before and after balancing the load has reached to 60%.
On the other hand, the proposed algorithm could be used to mitigate DDoS attack that aims to cause endless load on the servers and stop the service.Balancing the load is the best way to prohibit attackers from DDoS attack by distributing the workload fairly.As a future work the data generated in case of normal state (without attack) can be used to make a comparision by appling machine learning algorithms to distinguish between legitimate and aggressive legitimate users.


ISSN: 1693-6930 TELKOMNIKA Telecommun Comput El Control, Vol. 20, No. 1, February 2022: 81-88 82 has combined particle swarm algorithm with gravitational search algorithm.The proposed algorithm uses PSO exploitation for global search and gravitational search algorithm (GSA) TELKOMNIKA Telecommun Comput El Control  Optimized load balance scheduling algorithm… (Rawaa Mohammed Abdul-Hussein) 83 exploration for local search.The experimental results show that the proposed algorithm balances the load over time and enhances the overall utilization.

 1 )
ISSN: 1693-6930 TELKOMNIKA Telecommun Comput El Control, Vol. 20, No. 1, February 2022: 81-88 84 Xi(t+1)=xi(t) + α ⊕ Levy(λ) (Where i represent cuckoo nest α = step size = 1 λ = levy exponent =1.5 ⊕ = entry wise multiplication Xi (t+1) represent a new solution, Xi (t) represent the current location (solution).The evolution process of cuckoo search defines three different stages: i) The first one is Levy (λ) flight that is used to find a new position denoted by Xi (t+1) based on the current location of cuckoo Xi (t) and random step size generated from Levy flight (λ); and ii) The second strategy involves replacing the nest of the discovered egg with another nest.The last strategy is Greedy (elitist) selection by applying the fitness function to extract the best solution.The proposed algorithm can be presented in Figure1.

Figure 1 .
Figure 1.Flowchart of proposed algorithm


ISSN: 1693-6930 TELKOMNIKA Telecommun Comput El Control, Vol. 20, No. 1, February 2022: 81-88 86beginning from just over 5 nanosecond at 10 task, to well under 30 nanosecond at 40 task.It can be concluded that the improvement in the degree of imbalance before and after balancing the load reaches to 60 %.Similarly the average execution time for varying number of task over 5 and 10 VMs can be consolidated in Figure7.