• No results found

A Survey on Existing Load Balancing Algorithms in Cloud Computing

N/A
N/A
Protected

Academic year: 2022

Share "A Survey on Existing Load Balancing Algorithms in Cloud Computing"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

A Survey on Existing Load Balancing Algorithms in Cloud Computing

Chitty Babu. J, Adhithya. Y, Siva Shanmuga and N. Ch. S. N. Iyengar

School of Computing Science and Engineering (SCOPE), VIT University, Vellore-632014, INDIA.

(Received on: November 26, 2016) ABSTRACT

As, we see the world is moving fast towards the rapid development of the technology which has changed everything in our current day to day life. In those changes one of the major thing is the cloud computing .cloud computing is resources shared in internet where we can get the resource on demand according to the users.

Cloud computing provides the users three major services which are software as a service(SAAS), Infrastructure as a service(IAAS), platform as a service(PAAS).and the cloud are divided into public ,private ,hybrid, community cloud. But there is problem in providing this cloud services correctly to every users. So load balancing concept has been introduced .In this paper we are going to discuss about the existing load balancing algorithms and say their advantages, disadvantages and techniques used in load balancing in the cloud computing environment.

Keywords: Cloud environment, services, load balancing.

INTRODUCTION

As, we said cloud computing is the fast developing area in IT and the IT sectors are also moving their environment towards the cloud environment .cloud computing is the service which is provided through internet .The cloud provides various services as software, platform, interface, application, storage and many other thing as per the request of the user which is payable (eg amazon) and which is provided through internet.

The services provided by cloud computing are:

 SOFTWARE AS A SERVISE (SAAS).

 INFRASTRUCTURE AS A SERVICE (IAAS).

 PLATFORM AS A SERVICE (PAAS).

(2)

SERVICES OF THE CLOUD Software as a service:

As cloud computing is the services provided through internet. These services also follows the same that is the application software provided to the user through the internet as per the request of the user. The software is provided to the user, according to their request known as on-demand software.

Infrastructure as a service:

From all the three services provided by the cloud computing .this service is the basic service provided to the user.in this service cloud provides virtual infrastructure(machine), hardware, storage and the provides the user processing resource(eg amazon EC2).

Platform as a service:

In this service the user is provided with the platforms the required and the user can make use of the platform to perform their tasks like web developing ,application development, data management it as gives the user network service and storage service.(eg: Google appengin)

Types of cloud:

S.NO TYPES DESCRIPTION ENVIRONMENT USED

1 Public This type of cloud is the basic and standard cloud where all the services are used by every public

Public environment anyone who need can access

2 Private This type of cloud is used by the particular set of peoples who needs their privacy

Used in a private are a particular environment 3 Hybrid This cloud is combinations of cloud. Where

two or more cloud can share data’s each other.

Used by two or more types of cloud users together

4 Community Hear several organization share their information to some specific group whom the information to be shared

Shared between several organizations to specific group

Why and what is load balancing in cloud?

Load balancing is the process of distribution of the loads equally to ever nodes present

in the system. So that all nodes in that particular system does equal weight of work every

time.it increases the time efficiency and satisfaction of the user .Load balancing has two major

task they are RESOURCE ALLOCATION and SCHEDULING .load balancing is responsible

the effective resource utilization and controls the overutilization and underutilization of the

resource by the user. Load balancing technique is one of the effective and critical method

followed in cloud computing.

(3)

Load balancing in cloud computing helps the user to meat their requirements like available of resource, less cost, communication of nodes is faster, less time increasing in performance.

Load balancing algorithms have various issues over it because each and every algorithm provides specific feature in it .Some algorithms may concentrate on the maximum utilization some may concentrate on performance like many.

Figure 1: Basic load balancing

There are some of the load balancing algorithms they are:

 Static load balancing algorithm

 Dynamic load balancing algorithm

 Sender initiative algorithm

 Receiver initiative algorithm

 Symmetric algorithm

 Centralized algorithm

 Decentralized algorithm Static load balancing algorithm

In load balancing this particular approach is gained by providing the priority

information about the system connected. The performance of the node is determined at the

time of execution. Each node calculates the work allotted to them and provides the result to a

remote node. The performance is depending up on the work load so it is distributed at the time

of beginning itself without considering the current load. This method in load balancing is non-

preemptive i.e. if a node is allotted to transfer to a particular node once it cannot be transferred

to another node. The static load balancing does not requires lot of communication, thus reduces

the time of execution. The draw of this approach is, while making allocation for nodes it does

(4)

not check the current state. This makes a huge impact on the performance of the system due to the fluctuation of the load in distributed system.

Dynamic load balancing

Algorithm monitors the changes that takes place on the system’s work load and redistribute the load accordingly. Dynamic load balancing has three strategies they are Transfer strategy, Location strategy and Information strategy. The transfer strategy decides which task is eligible for the node to transfer. Location strategy assigns a remote node for a transferred task to execute. The information centre for load balancing is responsible for providing location and transfer strategy to other nodes is called as information strategy.

Dynamic load balancing can take three different forms for controlling they are centralized, distributed, or semi distributed. In centralized form the load distribution a central node is assigned and it is responsible for all the distribution that takes place in the network. In distributed form the responsibility is divided among all the nods equally. In semi distributed form the network is segmented into clusters where each and every cluster is centralized. The load balancing of system is achieved by the cooperation of central nodes of all clusters.

Sender initiative algorithm:

In this type of load balancing algorithm the initial process in here is started by the sender then the sender sends the request message till it find a receiver then the work has been accepted by sender and starts the workload

Receiver initiative algorithm:

In this type of load balancing algorithm the initial process in here is started by the receiver then the receiver sends the request message till it find a sender then the work has been accepted by receiver and starts the workload

Symmetric load balancing algorithm

To ensure the bidirectional traffic the address of the source and destination is interchanged to a particular source and destination pair flows out of the same manner of a trunk group. The symmetric load balancing does not support the non IP traffic of data. This mechanism is used in several security and monitoring applications. The bidirectional conversation which flows through the system should have same port when compared to the LAG. For network telemetry applications, the network traffic is tapped and sent to brocade devices, which can hash selected traffic to the server application downstream. Bidirectional conversation is analysed by each and every server. Therefore the brocade device should enable the symmetric load balancing to accomplish bidirectional conversations. The brocade devices can be configured to allow the bidirectional conversation using firewall per link of the LAG.

The symmetric load balancing can be enabled for IPv4 and IPv6 data traffic.

(5)

Centralized load balancing algorithm

A centralized load balancing technique a single node makes the decision for all the allocation and scheduling. That node is fully responsible for storing all the knowledge of the entire cloud which can be applied by static or dynamic approach for this particular load balancing algorithm Centralized load balancing technique reduces the time required for analysing the various resources from the cloud but it creates a great overhead on the centralized node. Also the network will be no longer a fault tolerant several scenario as failure intensity the overloaded centralized node is high and recovery is very difficult if the node is said to be a failure. A centralized node based scheduling and balancing approach is proposed to overcome the limitations of the existing centralized technique by allotting a random arrival of load among the nodes based on FCFS scheduling algorithm takes consideration of the current state of every node. The conditions of the load balancing are checked by the central node to overcome the overhead on all the existing processing nodes. The transfer of one load for one node to another is not processed due to overcome the migration overhead and concentrate much on executing the jobs rather than transferring the load.

Decentralized load balancing algorithm:

The vast growth of load balancing raises a issue in the field of scalability, and decentralized load balancing has been introduced to address this problem. But the communication overhead which occurs during the state exchange of node information remains a problem. Dynamic decentralized policies which are used to perform competitively, this policy uses ineffective mechanism for the state information exchange which will tremendously decrease the communication overhead which rapidly updates the state information in a decentralized way. The dynamic load balancing plays an important role in achieving a very high performance for large scale applications for distributed systems.

EXISTING LOAD BALANCING ALGORITHMS Round robin algorithm

In this particular algorithm, the load of the system is evenly distributed to all nodes.

The work of the load is distributed in round robin order, which means every node is assigned which equal amount of load in a circular order without any priorities. Once it reaches the last node it will again come back to the first node. Each and every node maintains an index of its allocation from remote node. Round robin method is easy to implement and it is simple and it’s free from starvation. Communication between the processes is not required and provides a better performance for special applications. In general case it cannot produce an expected outcome when the jobs are unequal of processing time.

Central manager algorithm

In this algorithm, a central node selects the slave node for load transfer. Slave node is

selected according which is a least load node and assigns the job. The load index of all the

(6)

slave nodes is maintained by its central node which is connected to it. Slave node sends a message to central node after the load is transferred. Central manager algorithm needs a very high level of inter process communication, which can leads to a bottleneck state i.e. data flow slows down to the speed of the slowest point of its data path. This affects the performance of the application. It performs better with dynamic hosts.

Threshold algorithm

In this algorithm, the load of the node is immediately created at the time of creation of the node. These nodes are selected locally without sending any remote messages. Each and every node keeps a private copy of the load of the system

These loads are characterized in three levels with two parameters tunder and Tupper are used to describe these three levels of the load.

1. Under load - load < tunder

2. Medium - tunder <= load<= tupper 3. Overloaded - load > tupper

At the time of initialization all these nodes are considered as a under loaded level.

When a node exceeds a load level limit, then it sends a message which regards the new level state to all the nodes and it will be updated regularly. The load is allotted locally if the local state is not overloaded; a remote under loaded node is selected. This algorithm has a low inter process communication and the process of the local allocation are very high, which reduces the overhead of remote process allocation and the overhead of remote memory access, this leads performance improvements.

Randomized algorithm

In this algorithm, the node is selected randomly without having a prior information about the load state of the node. It is best suited when the system has equal load for all the nodes, which gives better performance. Every node has its own record of every load therefore there is no inter process communication needed. But sometimes this may cause some node to be overloaded while other nodes are under loaded.

Central queue algorithm

In this algorithm, all the unfulfilled request and new activities are stored in a cyclic FIFO queue. Each new activity is included into the queue. The first activity is removed from the queue whenever there is a request for an activity is received. The request will buffer until a new activity is available if there is no request activity. It is a centralized initiated algorithm which requires high communication among the nodes.

Local queue algorithm

In this algorithm it supports the inter process migration. When the load falls under the

category of predefined minimum number of ready processes, the static allocation of new

process with process migration is initiated by the host. It requests activity from the remote

(7)

node when the host is under loaded. The remote host checks the local list for the acknowledgement of the activities that are passed on the requestor host. This is distributed cooperative algorithm which requires inter process communication but not more than central queue algorithm.

Least connection algorithm

By the basis of the connections present on a node this algorithm decides the load distribution. The log of the number of connection on each node is maintained by the load balancer. The number is increased when a new connection is established and decreased when a connection is finished or time out. The nodes with least number of connections are selected first.

Opportunistic Load balancing algorithm

Opportunistic load balancing algorithm is also known as OLB, which is aid to be a static load balancing algorithm. That doesn’t consider the Virtual machine’s workload. The main attempt of this algorithm m is keeping each and every node some work which makes them busy. OLB deals with the unexpected task in any order that is random, to the available current node. All the task are assigned randomly to each and every node. This algorithm provides schedule for every node without any proper results. the drawback of this algorithm is, the task will be processed in slow manner because the time of node for current execution will not be calculated.

Min-Min Load balancing algorithm

Min-Min load balancing algorithm is also a static load balancing algorithm, so the parameters are known already. In this algorithm the execution and completion time of the task which are unassigned will be waiting in a queue that will be identified by the cloud manager.

This algorithm will first deal with job with minimum execution capability in specified time.

The job which as maximum execution time will have to wait for some time. The drawback of this algorithm is that this type of process leads to starvation.

Max-min load balancing algorithm

Max-min load balancing algorithms works same as the min-min load balancing algorithm except several issues, after determining the maximum time for execution, cloud manager deals with having task with maximum time for execution. It is based on cases where task contains heterogeneous tasks of their execution and completion time, improvement in this efficiency of the Max-min load balancing algorithm is obtained by increasing the opportunity for concurrent task for execution on resources.

Ant colony algorithm:

The ant colony algorithm is used for solving problems computationally it’s a

probabilistic technique which is used for finding reduced paths throughout a graph, that is

based on the characteristics of an ant looking for food. First, the ant will randomly look for

(8)

food .when an ant finds the source for food. It won’t touch the source; it will simply walk back to the colony leaving pheromones which is said to be markers. When all the other ants come to the markers they will follow path with a certain probability. This is how they continue to populate the path with their own markers. As more ants find’s the path, the path gets stronger until otherwise there is another food source near the colony. Because the ants drop the markers every time they get the food, shorter paths are tends to be stronger, hence optimizing the solution. Some ants wander only near the colony first for food. A similar approach is used to find near optimal solution is travelling salesman problem. Once the source of the food is empty, the route will slowly lose their population. Because the ant colony works on a very dynamic system, this algorithm works well with the graph which has changing topologies. An example for this algorithm is computer networks, artificial intelligence.

The ant colony optimization algorithm is the member of the family which belongs to ant colony algorithms it consists of met heuristic optimizations. The idea has been further diversified to solve a major class of problems and as a result, several new problems has been discovered. Ant colony algorithm provides a model based search. This algorithm has been applied to many combinational optimization problems, and it can be run continuously and adapt to changes in real time. This is of the interests of the routing of networks and urban systems for transportation.

Load balancing algorithm policies:

Load balancing algorithms has certain policies .they are, Information policy:

In is kind of policy the information what they collect is important. And another important thing is from where, when, how the information is collected

Triggering policy:

This policy is like triggering the balancing algorithm. The name itself represents that it starts or notifies the time when the load balancing starts.

Recourse policy:

It identifies and defines all type of the resource is during the process of the load balancing Location policy:

Location policy uses the results of the resource policy and identifies the pattern of the user that is the server and the receiver of the service

Selection policy:

It is used to select the load and overloads of the process and splits the work of the overload to another one

Challenges in load balancing:

Throughput:

Throughput is that how many system can be perform their task in a particular time of interval

for a algorithm the throughput should be high

(9)

Overhead:

While implementing the load balancing algorithm it is used to find the total amount of overhead involved

Fault tolerant:

In the point of failure of a particular node the performance of the system should be stable Response time:

Response time of the system should be low in the case of the effective load balancing .the rime taken for the response for a particular task should be less.

Recourse utilization:

Recourse utilization in the cloud should is tested .each and every resource of the cloud should be utilized effectively for, an effective load balancing it should be maximum

Scalability:

The efficiency of the system should not affected if the number of the users increased. Without affecting the system more number of systems should be added

Performance:

Efficiency of the system should be noted. At every time the performance should be improved in the system

Algorithms:

Table 1

Algorithms Through-

put

Overhead Fault tolerant

Response time

Recourse utilization

Scala- bility

Perfor- mance

ROUND ROBIN[20,22] YES YES NO YES YES NO YES

OLB[20] NO NO NO NO YES NO YES

MIN MIN[20,22,23] YES YES NO YES YES NO YES

MIN MAX[20,23] YES YES NO YES YES NO YES

MAX MIN[22] YES YES NO YES YES NO YES

ANT COLONEY[20] YES NO NO NO YES YES YES

HONEY BEE[20,22,23] YES NO NO NO NO YES YES

BIASED RANDOM SAMPLIN [20,22,23] YES NO NO NO NO NO YES

ACTIVE CLUSTERING[20,22,23] NO YES NO NO YES NO NO

DYNAMIC ROUND ROBIN[22] YES YES YES NO YES NO NO

ACTIVE MONITORING[22] YES YES NO YES YES YES NO

OLB+LBMM[22,23] NO NO NO NO YES NO YES

THROTTLED[22] NO NO YES YES YES YES YES

CONCLUSION

In this paper we have discussed about the various thing related to cloud computing but our major concentration in this paper is load balancing algorithms here we have discussed about the various existing load balancing algorithms.

REFERENCES

1. Gobindgarh, M., Xup, D. X. U., & Xswd, Q. X. M. (n.d.). $ OJRULWKPV LQ & ORXG

& RPSXWLQ J, 7.

(10)

2. Katyal, M., & Mishra, A. (n.d.). A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment.

3. Dasgupta, K., Mandal, B., Dutta, P., & Kumar, J. A Genetic Algorithm ( GA ) based Load Balancing Strategy for Cloud Computing. Procedia Technology, 10, 340–347 (2013).

http://doi.org/10.1016/j.protcy.2013.12.369

4. Singh, A. A Review of Existing Load Balancing Techniques in Cloud Computing, 4(7), 3308–3311 (2015).

5. Desai, T., & Prajapati, J. A Survey of Various Load Balancing Techniques And Challenges In Cloud Computing, 2(11) (2013).

6. N, A. S. An Approach on Semi-Distributed Load Balancing Algorithm for Cloud Computing System, 56(12), 1–4 (2012).

7. P, G. G. P., & Vasudevan, S. K. An in-depth analysis and study of Load balancing techniques in the cloud computing environment. Procedia - Procedia Computer Science, 50, 427–432 (2015). http://doi.org/10.1016/j.procs.2015.04.009

8. Sidhu, A. K., & Kinger, S. Analysis of Load Balancing Techniques in Cloud Computing, 4(2), 737–741 (2013).

9. Cse, M. T. Comparison of load balancing algorithms in a Cloud Jaspreet Kaur, 2(3), 1169–

1173 (2012).

10. Yadav, V., & Mohammad, F. Different Strategies for Load Balancing in Cloud Computing Environment : a critical Study, 3(1), 85–90 (2014).

11. Haryani, N., & Jagli, D. Dynamic Method for Load Balancing in Cloud Computing, 16(4), 23–28 (2014).

12. Sethi, S., Sahu, A., & Kumar, S. Efficient load Balancing in Cloud Computing using Fuzzy Logic, 2(7), 65–71 (2012).

13. Sharma, A., & Singh, U. P. Energy Efficiency in Cloud Data Centers, 11(4), 174–181 (2014).

14. Ray, S., & Sarkar, A. De. Execution a Nalysis of Load B Alancing Algorithms In Cloud Computing, 2(5), 1–13 (2012).

15. Kansal, N. J., & Chana, I. Existing Load Balancing Techniques In Cloud Computing : A Systematic re- View, 3(1), 87–91 (2012).

16. D, D. B. L., & Krishna, P. V. Honey bee behavior inspired load balancing of tasks in cloud computing environments. Applied Soft Computing Journal, 13(5), 2292–2303 (2013).

http://doi.org/10.1016/j.asoc.2013.01.025

17. L, D. P. Load Balancing Algorithms In Cloud Computing, 4, 229–233 (2013).

18. Kaur, R., & Luthra, P. Load Balancing in Cloud Computing, 1–8 (2014).

19. Kumar, R., & Prashar, T. Performance Analysis of Load Balancing Algorithms in Cloud Computing, 120(7), 19–27 (2015).

20. Kashyap, D., & Viradiya, J. A Survey Of Various Load Balancing Algorithms In Cloud Computing, 3(11) (2014).

21. Kansal, N. J., & Chana, I. Cloud Load Balancing Techniques : A Step Towards Green Computing, 9(1), 238–246 (2012).

22. Sran, N., & Kaur, N. Comparative Analysis of Existing Load Balancing Techniques in

Cloud Computing, 2(1), 60–63 (2013).

(11)

23. Raghava, N. S., & Singh, D. Comparative Study on Load Balancing Techniques in Cloud Computing, 1(1) (2014).

24. Kaur, K., Narang, A., & Kaur, K. Load Balancing Techniques of Cloud Computing, 1(3), 103–110 (2013).

25. Kumar, S., & Cse, M. T. Review on Existing Load Balancing Techniques of Cloud Computing II . Load Balancing :, 7(1) (2015).

26. Pasha, N., & Agarwal, A. Round Robin Approach for VM Load Balancing Algorithm in Cloud Computing Environment, 4(5), 34–39 (2014).

27. Shah, N., & Farik, M. Static Load Balancing Algorithms In Cloud Computing : Challenges

& Solutions, 4(10), 365–367 (2015).

28. Pooja, E., & Thapar, E. V. Survey of VM Load Balancing Algorithm in Cloud Environment, 4(2), 123–129 (2016).

29. Gabi, D. Systematic Review on Existing Load Balancing Techniques in Cloud Computing,

125(9), 16–24 (2015).

References

Related documents

To test the in vitro adhesion properties, bacteria were added to freshly prepared tissue of the BALB/c mice small intestine.. Mice were fed

[14] In the document for 2020, PTD recommends that in people with diabetes, who despite the implementation of lifestyle modifications (weight reduction, increased physical activity

Thus, the sampling hypothesis unifies internal noise, drift diffusion models, and soft-max probability matching behavior under one general framework that

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

The liberalized industries were sepa- rated into four groups, according to whether they were characterized by a large expansion in exports, imports or two-way trade, or by slow

This study examines how well the Mgwalana Traditional Authority (MTA) is performing its role of governing and developing its area and the municipal area of

outside of family care in an institution or on the streets, de facto child headed and grandparent headed families, where parents are away for extended periods

We start the empirical analysis of the relationship between health, DI uptake and labor force participation by showing long-term trends in mortality, other measures of health,