• No results found

A Review: Different Improvised Min-Min Load Balancing Algorithm in Cloud Computing Environment

N/A
N/A
Protected

Academic year: 2022

Share "A Review: Different Improvised Min-Min Load Balancing Algorithm in Cloud Computing Environment"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)

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

(3)

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.

(4)

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

(5)

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

(6)

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

(7)

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.

(8)

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.

(9)

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

5. CONCLUSION

Min-Min is the simplest, easy-to-understand and it’s a well-known task scheduling

algorithm. In this paper, we have given the review on different types of load balancing

(10)

algorithms but focusing mainly on the modified, improvised or the algorithms that use the traditional Min-Min algorithms. Load balancing is done to enhance the performance in the cloud and for better utilization of the resources. This study is only concentrated on the basic advantages and disadvantages of various modified Min- Min scheduling algorithms based on the tasks and resources.

REFERENCES

1. Kaur D, Singh S. An Efficient job scheduling Algorithm using MINMIN and Ant Colony Concept for grid computing. International Journal of Modern Education and Computer Science (IJMECS) ISSN.:2075-0161.

2. Liu G, Li J, Xu J. An improved min-min algorithm in cloud computing. In Proceedings of the 2012 International Conference of Modern Computer Science and Applications (pp. 47- 52). Springer Berlin Heidelberg (2013).

3. Singh A, Juneja D, Malhotra M. Autonomous agent based load balancing algorithm in cloud computing. Procedia Computer Science. 31;45:832-41 Dec. (2015).

4. Gopinath PG, Vasudevan SK. An in-depth analysis and study of Load balancing techniques in the cloud computing environment. Procedia Computer Science. 31;50:427- 32 Dec. (2015).

5. Ray S, De Sarkar A. Execution analysis of load balancing algorithms in cloud computing environment. International Journal on Cloud Computing: Services and Architecture (IJCCSA). 2(5):1-3 Oct .(2012).

6. Dasgupta K, Mandal B, Dutta P, Mandal JK, Dam S. A genetic algorithm (ga) based load balancing strategy for cloud computing. Procedia Technology. 31;10:340-7 Dec. (2013).

7. Anju Baby J. A survey on honey bee inspired load balancing of tasks in cloud computing.

In International Journal of Engineering Research and Technology 18 (Vol. 2, No. 12 (December-2013)). ESRSA Publications Dec (2013).

8. Krishna PV. Honey bee behavior inspired load balancing of tasks in cloud computing environments. Applied Soft Computing. 31;13(5):2292-303 May (2013).

9. Goswami N, Garala K, Maheta P. Cloud Load Balancing Based on Ant Colony Optimization Algorithm.

10. Mondal B, Dasgupta K, Dutta P. Load balancing in cloud computing using stochastic hill climbing-a soft computing approach. Procedia Technology. 31;4:783-9 Dec (2012).

11. Elzeki OM, Reshad MZ, Elsoud MA. Improved max-min algorithm in Cloud computing.

International Journal of Computer Applications. 1;50(12) Jan (2012).

12. Kaur R, Patra PK. Resource Allocation with improved MinMin Algorithm. International Journal of Computer Applications. 2013 Jan 1;76(15).

13. Desai T, Prajapati J. A survey of various load balancing techniques and challenges in cloud computing. International Journal of Scientific & Technology Research. 25;2(11):158-61 Nov (2013).

14. Simarro JL, Moreno-Vozmediano R, Montero RS, Llorente IM. Dynamic placement of

virtual machines for cost optimization in multi-cloud environments. In High Performance

(11)

Computing and Simulation (HPCS), 2011 International Conference on 2011 Jul 4 (pp. 1- 7). IEEE.

15. Kokilavani T, Amalarethinam DD. Load balanced min-min algorithm for static meta-task scheduling in grid computing. International Journal of Computer Applications. 20(2):43- 9 Apr. (2011).

16. Zhang L, Chen Y, Sun R, Jing S, Yang B. A task scheduling algorithm based on PSO for grid computing. International Journal of Computational Intelligence Research. 4(1):37- 43 (2008).

17. Chen H, Wang F, Helian N, Akanmu G. User-priority guided Min-Min scheduling algorithm for load balancing in cloud computing. In Parallel Computing Technologies (PARCOMPTECH), 2013 National Conference on 2013 Feb 21 (pp. 1-8). IEEE.

18. Goswami N, Garala K, Maheta P. Cloud Load Balancing Based on Ant Colony

Optimization Algorithm.

References

Related documents

Breidt and Opsomer (2000) consider nonparametric models for a working model £ in a model-assisted framework to improve the design properties of estimators, and

After examining the effects of overall stimulus spending on employment we further cut the data to look at different types of stimulus spending (do block grants for teachers have

Motivated by these results, our formulation of normal structure and its generalization can be applied to prove fixed point theorems for nonexpansive type mappings in normal

What political leadership and administration challenges have taken place in the politics–administration interface in South Africa between senior public service managers and

The key to HIPAA compliance for ePHI workloads is to apply the same types of compensating controls used in the physical data center to the virtual environment, while accounting for

[1] examined the fluctuation effects of heating and cooling section temperatures on the oscillatory flow, temperature and pressure of the vapor plugs, as well

Libuše Brožová (Institute of Macromolecular Chemistry of the AS CR v.v.i., Czech Rep.) Bart Van der Bruggen (University of Leuven, Belgium, European Membrane Society) Miroslav

After nearly two years of planning, negotiation and collaboration at local and state levels by Pamela Springer, Ph.D., R.N., Director of the School of Nursing and Pam Strohfus,