A Review: Different Improvised Min-Min Load Balancing Algorithm in Cloud Computing Environment
Swathi I J Singh, Toni Christo Abraham and N. Ch. Sriman Narayana Iyengar
School of Computer Science and Engineering (SCOPE), Vellore Institute of Technology, Vellore, INDIA.
email:Swathii.jsingh2015@vit.ac.in (Received on: November 5, 2016)
ABSTRACT
A pool of heterogeneous resources is “Cloud”. The services and applications are made available to the users’ on-demand, pay and use condition. Cloud computing is a trend emerging instantly in IT industry with large requirement for resources and infrastructure. Computing is done in cloud in order to achieve maximum resource utilization and less expensive. Distributed computing, grid computing and parallel computing composes Cloud. A large number of computers, storage devices which makes up a resource pool, distribute the task among themselves in the pool. Load balancing algorithms helps us utilize the resources efficiently and achieve the good performance of the application. This paper presents a review on few of the improvised and modified min-min load balancing algorithms used in cloud computing and also puts forward a table that states the merits and demerits on the same along with various task scheduling algorithms that has been used in the Min- Min scheduling.
Keywords: Cloud Computing, Dynamic environment, Job scheduling, Min-Min Algorithm.
1. INTRODUCTION
Cloud -A huge infrastructure which refers to both applications to end users and the
services over the net. These services and applications are made available to the users’ on-
demand condition pay and use condition. A large number of computers, storage devices which
makes up a resource of heterogeneous pool, distribute the task among themselves. Distributed
computing, grid computing and parallel computing composes Cloud. Parallel and distributed
systems are made up of group of interconnected and virtual computers. Any user can have
access to the storage space and computing power etc. through the software available in the
market these days. This gives a new definition to the Cloud Computing i.e. “Cloud is a
collection of communication and computing resources which is located at distributed data
centers, which can be accessible to many users through the different software’s
1. Since Cloud is considered as internet based computing it is tend to have many constraints. It’s subjected to the quality of services (Qos), security, load balancing and other resource constraints which have direct impact users’ usage controlled by the infrastructure
1,2. Computation is done on cloud to minimize the cost and to achieve maximum resource utilization.
In any of the environments - parallel, distributed, cloud or grid computing load balancing will be of one of the scheduling algorithm types based on their nature
3.
Static
Dynamic
Mixed
i. Static Load Balancing Algorithm: - This algorithm is mostly adaptable to environments which are small and closely distributed with reliable internet speed and with the negligible delay in communication.
ii. Dynamic Load Balancing Algorithm: - This focuses importance on reduction of execution time and communication delays by making it suitable for distributed environments which are large in size.
iii. Mixed Load Balancing Algorithm: - Is suitable for symmetrically distributed areas where the distribution of computing task is symmetrical and the cost of communication of the computing nodes is reduced.
By this we see that the Cloud Computing comes under the second type which implies that we need to focus on the algorithms of dynamic load balancing. The algorithms of load balancing in the Cloud Computing environment are mainly of two categories
4. They are
Batch Mode Scheduling
Immediate Mode Scheduling
Figure1- Load Balancing in Cloud2
Depending on the arrival of the tasks, the immediate mode scheduling schedules it on to the resources. The types of algorithm used for this kind of scheduling are MCT and MET which stands for minimum completion time and minimum execution time. The tasks are collected based on their arrival in a set and later mapped to the corresponding resources such scheduling is called batch mode scheduling. A scheduling algorithm is said to be good if it possesses the following characteristics
5:
Minimum turnaround time
Minimum waiting time
Minimum response time
Maximum throughput
Maximum CPU utilization
Minimum content switches
2. LITERATURE SURVEY ON LOAD BALANCING ALGORITHMS IN CLOUD COMPUTING ENVIRONMENT
Section 2 concentrates on different load balancing techniques and algorithms available in industry and its principle.
2.1 Max-Min Load Balancing Algorithm
This algorithm is much similar to that of Min-Min’s algorithm. The procedure is same as the previous algorithm. The task sets completion is calculated and then the one with the maximum completion time is taken and assigned to the corresponding resource. The updation of the scheduling is done time to time so that all the task sets have been assigned to the respective machines. Max-Min performs better than the Min-Min algorithm when the number of tasks with maximum completion time is larger in number than the task with minimum completion time
2. Hence the name Max-Min algorithm. This algorithm also focuses on running short tasks simultaneous to the large tasks. This one is exactly same as to the Min-Min algorithm and shares the same disadvantage. The task set with lower or less completion time is left behind in waiting stage until the other tasks are completed and discarded from the scheduling list. Thus the algorithm suffers from starvation.
We have seen that the results of few experiments and researches have led to the
conclusions that the Max-Min algorithm outperforms the Min-Min algorithm in terms of the
make span but at the same time Min-Min algorithm has equally outperformed Max-Min based
on the kind of cloud environment. Max-Min gives better performance than Min-Max if based
on resource utilization
4. Hence, we can conclude that both the algorithm has its merits and
demerits based on the environments they choose also it is proposed that the performance
doesn’t depend on the algorithm chosen but indeed the environment taken
3. Below given
flowchart explains the mechanism of the Max-Min algorithm.
2.2 Genetic Load Balancing Algorithm
The processes observed in the natural evolution are mimicked and its adaptive heuristic search algorithm, in the Genetic Algorithm. This is used as a soft computing approach. To solve the problem of optimization we use the power of evolution. The algorithm is compared with the other two scheduling algorithms namely FCFS and RR and the result has outperformed these existing algorithms. We can say that the GA provides an efficient utilization of resources in Cloud Computing
6.
Genetic Algorithm’s implementation is three steps process -
Selection
Genetic/Crossover Operation
Replacement/Mutation
Selection Operator gives preference to `better individuals, making their genes to pass through their genes to the next generation. Depending on its fitness its goodness is measured either by objective or subjective function. The solution in the space are encoded into binary codes from this an initial population of chromosomes are selected randomly.
Crossover Operator helps in choosing the best fitted pair of individuals for crossover. Then the pool of the individual pairs undergoes a single point of crossover giving birth to new offspring and are put into new generation of the population.
Mutation Operator- Assume a small or lower probability value, which is called mutation value bits. These bits are later get toggled between 0s to 1s or 1s to 0s. The output is new pool of individuals ready for crossover
6.
The algorithm is as given below:
Step 1: After the encoding, randomly initialize the population.
Step 2: Check for the fitness of each population.
Step 3: Repeat 1 and 2 until number of iteration are exceeded or optimal solution if found.
Select the parents and perform crossover creating the population
Perform the mutation
Determine the fitness.
Step 4: Proceed until the best individuals are found.
Step 5: End.
2.3 Round - Robin Algorithm
This algorithm divides the processes between all the processors and uses the principle
of time slices
5. The processors are assigned in the round robin fashion and every node is
provided with a particular time interval. The scheduler maintains two queues, one for the ready
processes and the other for the list of blocked and swapped out processes. On the basis of the
time slice, the resources are provided by the service provider to the requesting client. The basic
idea of RR algorithm is to send the selected job to the available VMs in the ring order form.
This algorithm is mainly used in web servers where Http requests are of same nature and equally distributed.
Algorithm:
Step 1: Maintain two queues one for ready and the other for the blocked processes.
Step 2: Newly created processes are placed at the end of the queue and terminated processes are removed from the scheduling data structures.
Step 3: When the processes time interval/slice finishes, it’s moved to the end of the ready queue.
Step 4: Actions performed by event handler;
When an I/O request or the swapped out request is made by the process, it’s moved from ready queue to the blocked list.
When a process waiting for I/O operation, is completed or swapping of process in its process control block is moved to the ready queue from the swapped/blocked list.
2.4 HBB- LB Algorithm
Honey Bee Based Load Balancing is a self-organization nature-inspired algorithm.
Different Honey Bee foraging behavior shows that they have more advantages over the other algorithms. HB consists of a queen and foragers. Employed and unemployed are the two types of foragers. The unemployed foragers inform others about the food available nearby by waggle dance, the dance gives the information to other foraging bees about the distance, quality, direction and other information which is useful in getting the food. This algorithm is based on the real honey bee’s principle, hence the name. The algorithm focuses on minimizing the waiting time and maximizing the throughput by achieving well balanced load across all the VMs
7,8. Thus, reducing the response time of the VMs. This paper shows that HBB-LB algorithm is effective when compared with other existing algorithms.
2.5 Ant Colony Based Algorithm
Ant Colony algorithm has the ability of global searching. It is one of new heuristic method. The algorithm adapts the behavior of the real ants. Ants while seeking a path from their colony in search of food secrete a chemical called pheromone on the ground thus leaving a trail for other ants to follow the path. But this chemical evaporates with time
9.
Algorithm:
Step 1: Initialization of the pheromone.
Step 2: All the ants are placed at the beginning of VMs.
Step 3: [LOOP] until all ants have found food (solution).
Step 4: End
2.6 OLB Algorithm
Opportunistic Load Balancing (OLB) algorithm keeps each node (Cloud environment
has each host as a computation node to perform some task) busy when the node is loaded with
some work or task
3. The algorithm seen in Min-Min scheduling is been observed here. The minimum completion time algorithm assigns the work to the nodes that are expected to have minimum completion time compared to other nodes, which is calculated by the service manager and this avoids the duplicate assignment. While assigning, the algorithm doesn’t really consider the actual execution time of the nodes and thus resulting the system to have bottle neck situation. But this isn’t really suitable for improvisation of performance as this doesn’t support dynamic environment. However, the problem is solved by the Min-Min load balancing algorithm in its three-layer architecture. But, both the algorithms aren’t suitable for Cloud environment as it doesn’t support dynamic natured environment.
2.7 Game Theory Algorithm
Game Theory is used in public Cloud. Basic idea of this algorithm is to partition the cloud into three categories based on the load degree; idle, normal and overload
6. An idle partition is the one with zero load degree whereas if the degree of the load lies between zeros and highest then it’s normal otherwise it’s overloaded. In any game, three things are important i.e. the players, strategy and the objective. If we consider having (n+1) players where the n tries to minimize the response time Di (βi) and the n+1th player tries to minimize the communication delay G (λ). Then the objective function for each i (i=1…n) can be expressed as below;
F
n+1(X) = G (λ) (6)
The demerit of this algorithm is that the method or the order in which the load degree is to be made is unaddressed.
2.8 Stochastic Hill Climbing Algorithm
Solutions for optimization problem are mainly of two families of procedure - Complete method and incomplete method. Complete method guarantees a correct answer either by proving that no such assignment exists or by finding a possibly valid assignment to the variable. On the other hand, incomplete method doesn’t guarantee correct answers for all the given inputs. A Hill Climbing algorithm- Stochastic Hill Climbing Algorithm adapts the incomplete method for solving optimization problem. Stochastic Algorithm is like a loop which continuously keeps moving upward or uphill i.e. moving towards the direction of higher value. When there is no higher value neighbor, it stops. It has two elements one is candidate generator and the other an evaluation criterion. Candidate generator is the one which maps single solution to a set of possible successors. The Evaluation criteria evaluates the rank for each valid solution. The better ranking means closer to or valid solution
10.
Algorithm:
Step 1: One index table for all the VMs is maintained with the states BUST and AVAILABLE.
Step 2: Initializing all the VMs to AVAILABLE at the start.
Step 3: When new task enters, query generated for next allocation
Step 4: If any unallocated VM found, link the VMs index table with allocation table.
Step 5: Assign the task to the VM which is available with the probability that the task shall be handled efficiently.
Step 6: When the task is complete, the allocation table is updated and notification is sent saying VM has been de-allocated.
Step 7: Repeat for new task from step2.
2.9 A2LB Algorithm
Autonomous Agent Based Load Balancing mechanism is comprised of 3 agents. They are Load, Channel and Migration agent. Migration agent is an ant which exhibits the special property of mobile agents. The rest two is static. The reason for considering the agent as ant is (as discussed in the ant algorithm) because of the ability to pick the shortest path towards the destination.
Load-Agent (LA) handles and controls the information policy and maintenance of data center’s details. The load on each VM after assigning new task has to be checked by this agent and it’s the major task of load agent. The specifications of all the VMs is structured and maintained in a table termed load_fitness table by load agent. The table contains the VMs id, CPU utilization along with the status of the memory etc.
Channel Agent (CA) – When a request from load agent is received, this agent will send some migration agents to check the VMs having similar configuration in other data centers. This also keeps track of all the messages received from these agents in a table in a sorting order.
Also, controls the transfer, selection and location policy too.
Migration Agent (MA) goes to other data centers and enquires the status of the VMs by communicating with the load agents and looking for the desired configuration. This agent is initiated by channel agent. On receiving of reply from the LA the same information is communicated to the parent CA. This agent possesses two statuses I.e. LIVE or DESTROYED depending on its applicability. After sending the reply to CA, MA waits for self-destruction message from parent CA
There has been separate algorithm written for three agents
10. The major contribution of this algorithm is that the LA initiates search for the candidate search from other data centers as soon as the load of the VM reaches or even anywhere closer to the threshold value. The results of the project conducted in paper
10, show that if the service time can be reduced if the information of the candidate is known beforehand.
3.1 MIN-MIN LOAD BALANCING ALGORITHM AND ITS IMPROVISED VERSIONS
The basic approach of these algorithms is to calculate the MET and MCT i.e. minimum execution and completion time.
MET (Minimum Execution Time) – small task, the task which gets executed at the
minimal time than the other tasks. MET assigns each task to the resources without considering
whether the resource is available or not.
MCT (Minimum Completion Time) – assigns all the tasks to those resources which complete them in least consummation time. In other words, this assigns the tasks to the resources which do not have minimum execution time.
3.1 Traditional Min-Min Algorithm
Min-Min begins with the arrangement of set of unassigned tasks in the makespan. The algorithm does calculation work in two stages. To start with, the expected MET of all tasks is computed. Then on every machine, the completion time of all tasks is calculated. In the second stage, the task with expected minimum completion time from makespan is chosen and is assigned to corresponding resource. The tasks which gets successfully completed are removed from the set in the makespan and the process is repeated until all the task gets completed. Min- min algorithm calculates the execution time and total completion time of all the tasks. Then assign the tasks to the suitable resource
11.
3.2 Load Balance Improved Min-Min Algorithm (LBIMM)
Min-Min algorithm is run first. After execution, it picks the smallest size task from the most substantial load resource and calculates the completion time for that task on every single other resources. A short time later, the minimum completion time of the task is contrasted and the makespan delivered by the algorithm. Afterwards, the minimum completion time of the task is compared with the makespan produced by the algorithm
12. If it is less than makespan then the task is reassigned to the resource that produce it, and the ready time of both resources are updated. The procedure repeats until no different resources can create less completion time for the smallest task on the substantial load resource than the makespan. Along these lines the overwhelming burden resources are liberated and the light load resources are more used.
This makes LBIMM to deliver an enhanced load balancing and also reduces the overall completion time. LBIMM decreases the completion time of tasks, improves load balancing of resources and increases the overall performance
12. This algorithm is concerned with makespan and load balancing for task scheduling.
3.3 User Priority Guided Load Balancing Improved Min-Min Algorithm (PA-LBIMM)
An improved load balanced algorithm is introduced on the ground of Min-Min
algorithm calculation with a specific end goal to lessen the makespan and increment the asset
use (LBIMM). In the meantime, Cloud suppliers offer computer resources to users on a pay-
per-use base. Keeping in mind the end goal to suit the requests of various clients, they may
offer different levels of quality for services. At that point the cost per resource unit relies on
upon the services selected by the user. In return, the user gets guarantees regarding the
provided resources. To ensure the promised guarantees, user-priority is considered for PA-
LBIMM so that user’s demand could be satisfied more completely
17. The set of tasks is divided
into two sets G1 and G2. G1 for the VIP users’ task which has higher priority and the G2 is
the one with lower priority request. And on G1 the Min Min algorithm is run then followed by
G2. Finally, the load balancing function is optimized to produce the final result.
3.4 Enhanced Load Balanced Min-Min Algorithm for Static Meta Task (ELBMM) A combination of Load Balanced Min- Min and its comprehensive study of the impact in Static Meta-Task scheduling in the cloud computing. LBMM is based on two steps. First the Min-Min strategy is applied then the tasks are rescheduled to make the optimal usage of the resources and to improve the total makespan. The ELBMM selects the task with maximum completion time and assigns it to the respective resources. The study has proved that the results of ELEBMM is much better score then the traditional and Load balanced Min-Min
15.
3.5 Min-Min Ant Colony Algorithm (MMAC)
In this algorithm, ant colony algorithm is used first and then Min-Min is used to obtain better result. This method shows better resource utilization and minimum total completion time of task
18.
In the principal stage ant colony idea is utilized. The ant in the proposed calculation will persistently begin from the master node. The ant crosses the width and length of the system in a manner that they think about the area of over-burden and under loaded nodes in a system.
The ant along the development can check the procedures of every node in the system and update the procedure value in the database furthermore check which nodes responses are quick
18. In the second stage, the master node allots the job to a node who has a less processes utilizing the min-min system.
It outperforms the existing scheduling algorithm. This study is only concerned with the number of the resources, number of processes and task execution time.
4. COMPARISON TABLE OF DIFFERENT KINDS OF MIN-MIN LOAD BALANCING ALGORITHMS
Table1 – Comparison of Types of Min-Min Algorithms
NAME / TECHNIQUE ADVANTAGES DISADVANTAGES
1. Traditional Min Min Simple and Efficient. Minimizes the total completion time of tasks
Load imbalanced, not optimal for resource utilization
2. Load Balance Improved Min Min (LBIMM)
Improves load unbalance & reduce execution time
Doesn’t produce better makespan
3. User Priority Guided Load Balancing Improved Min Min (PALBMM)
High computing throughput Real life situations such as QoS, deadline of each task
4. Enhanced Load Balanced Min Min Algorithm for Static Meta Task (ELBMM)
Better makespan and utilize resource effectively
Starvation in case of long tasks
5. An Energy Efficient Algorithm Using Improved MinMin Technique
Makes the cloud vitality productive
Doesn’t perform well in all the environments.
6. Min Min Ant colony (MMAC) Maximum resource utilization Neglects cost fact for the job execution