Performance Analysis of Load Balancing Algorithms in Distributed System



Similar documents
A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters

Comparative Study of Load Balancing Algorithms

Various Schemes of Load Balancing in Distributed Systems- A Review

Comparison on Different Load Balancing Algorithms of Peer to Peer Networks

Proposal of Dynamic Load Balancing Algorithm in Grid System

Keywords Load balancing, Dispatcher, Distributed Cluster Server, Static Load balancing, Dynamic Load balancing.

Load Balancing Algorithms for Peer to Peer and Client Server Distributed Environments

A Dynamic Approach for Load Balancing using Clusters

Load Balancing in Mobile Ad Hoc Networks by Using Different Routing Protocols and Algorithms

Load Balancing in cloud computing

COMPARATIVE STUDY ON LOAD BALANCING TECHNIQUES IN DISTRIBUTED SYSTEMS

A Clustered Approach for Load Balancing in Distributed Systems

International Journal of Advance Research in Computer Science and Management Studies

An Approach to Load Balancing In Cloud Computing

Design of an Optimized Virtual Server for Efficient Management of Cloud Load in Multiple Cloud Environments

A Study on the Application of Existing Load Balancing Algorithms for Large, Dynamic, Heterogeneous Distributed Systems

Survey of Load Balancing Techniques in Cloud Computing

Abstract. 1. Introduction

Improved Hybrid Dynamic Load Balancing Algorithm for Distributed Environment

Load Balancing Scheduling with Shortest Load First

Scheduling Allowance Adaptability in Load Balancing technique for Distributed Systems

Performance Improvement of Association Rule Mining Algorithms through Load Balancing in Distributed Computing Platform

Load Balancing for Improved Quality of Service in the Cloud

A Comparative Survey on Various Load Balancing Techniques in Cloud Computing

A Review on Load Balancing In Cloud Computing 1

Implementing Parameterized Dynamic Load Balancing Algorithm Using CPU and Memory

Load Balancing In Cloud Computing

Efficient Scheduling Of On-line Services in Cloud Computing Based on Task Migration

Keywords: Dynamic Load Balancing, Process Migration, Load Indices, Threshold Level, Response Time, Process Age.

An Empirical Study and Analysis of the Dynamic Load Balancing Techniques Used in Parallel Computing Systems

Study of Various Load Balancing Techniques in Cloud Environment- A Review

International Journal of Scientific & Engineering Research, Volume 6, Issue 4, April ISSN

@IJMTER-2015, All rights Reserved 355

An Effective Dynamic Load Balancing Algorithm for Grid System

Load Balancing in Distributed System. Prof. Ananthanarayana V.S. Dept. Of Information Technology N.I.T.K., Surathkal

A Survey on Load Balancing and Scheduling in Cloud Computing

MANAGING OF IMMENSE CLOUD DATA BY LOAD BALANCING STRATEGY. Sara Anjum 1, B.Manasa 2

A Review on an Algorithm for Dynamic Load Balancing in Distributed Network with Multiple Supporting Nodes with Interrupt Service

Load Balancing of Web Server System Using Service Queue Length

A Hybrid Dynamic Load Balancing Algorithm for Heterogeneous Environments

RESEARCH PAPER International Journal of Recent Trends in Engineering, Vol 1, No. 1, May 2009

IMPROVEMENT OF RESPONSE TIME OF LOAD BALANCING ALGORITHM IN CLOUD ENVIROMENT

Improved Dynamic Load Balance Model on Gametheory for the Public Cloud

Sla Aware Load Balancing Algorithm Using Join-Idle Queue for Virtual Machines in Cloud Computing

How To Compare Load Sharing And Job Scheduling In A Network Of Workstations

A REVIEW PAPER ON LOAD BALANCING AMONG VIRTUAL SERVERS IN CLOUD COMPUTING USING CAT SWARM OPTIMIZATION

Roulette Wheel Selection Model based on Virtual Machine Weight for Load Balancing in Cloud Computing

THE STUDY ON LOAD BALANCING STRATEGIES IN DISTRIBUTED COMPUTING SYSTEM

A Survey on Load Balancing Algorithms in Cloud Environment

The International Journal Of Science & Technoledge (ISSN X)

Comparison of PBRR Scheduling Algorithm with Round Robin and Heuristic Priority Scheduling Algorithm in Virtual Cloud Environment

LOAD BALANCING ALGORITHM REVIEW s IN CLOUD ENVIRONMENT

MEASURING PERFORMANCE OF DYNAMIC LOAD BALANCING ALGORITHMS IN DISTRIBUTED COMPUTING APPLICATIONS

Classification of Load Balancing in a Distributed System

AN EFFICIENT LOAD BALANCING APPROACH IN CLOUD SERVER USING ANT COLONY OPTIMIZATION

OPERATING SYSTEMS SCHEDULING

Elastic Load Balancing in Cloud Storage

Fair Scheduling Algorithm with Dynamic Load Balancing Using In Grid Computing

An Energy Efficient Server Load Balancing Algorithm

A Survey Of Various Load Balancing Algorithms In Cloud Computing

International Journal of Scientific & Engineering Research, Volume 6, Issue 3, March ISSN

Efficient Cloud Computing Load Balancing Using Cloud Partitioning and Game Theory in Public Cloud

THE TASKS ALLOCATION BASED ON THE PRE- ESTIMATION OF THE PROCESSING TIME IN THE CLOUD ENVIRONMENT

Grid Computing Approach for Dynamic Load Balancing

Performance Analysis of Static Load Balancing in Grid

A SURVEY ON LOAD BALANCING ALGORITHMS FOR CLOUD COMPUTING

LOAD BALANCING IN CLOUD COMPUTING USING PARTITIONING METHOD

A Novel Load Balancing Algorithms in Grid Computing

Dynamic Load Balancing: Improve Efficiency in Cloud Computing Argha Roy * M.Tech CSE Netaji Subhash Engineering College West Bengal, India.

Comparative Analysis of Load Balancing Algorithms in Cloud Computing

A Novel Approach for Load Balancing in Distributed System using FIFO-Support Vector Machine (FIFOSVM)

Design and Implementation of Efficient Load Balancing Algorithm in Grid Environment

Design and Implementation of Distributed Process Execution Environment

[Laddhad, 4(8): August, 2015] ISSN: (I2OR), Publication Impact Factor: 3.785

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

A STUDY OF TASK SCHEDULING IN MULTIPROCESSOR ENVIROMENT Ranjit Rajak 1, C.P.Katti 2, Nidhi Rajak 3

Extended Round Robin Load Balancing in Cloud Computing

Load Balancing in Cloud Computing using Observer's Algorithm with Dynamic Weight Table

How To Partition Cloud For Public Cloud

Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:

IMPROVED LOAD BALANCING MODEL BASED ON PARTITIONING IN CLOUD COMPUTING

Minimize Response Time Using Distance Based Load Balancer Selection Scheme

The Load Balancing Strategy to Improve the Efficiency in the Public Cloud Environment

A Review of Load Balancing Algorithms for Cloud Computing

A Comparative Study of CPU Scheduling Algorithms

Dynamic Method for Load Balancing in Cloud Computing

An Analysis of Load Balancing in Cloud Computing

A Comparative Study of Load Balancing Algorithms in Cloud Computing

A Novel Survey on an Intelligent and Efficient Load Balancing Techniques for Cloud Computing

LOAD BALANCING STRATEGY BASED ON CLOUD PARTITIONING CONCEPT

Analysis of Job Scheduling Algorithms in Cloud Computing

A Comparison of Dynamic Load Balancing Algorithms

IMPROVED PROXIMITY AWARE LOAD BALANCING FOR HETEROGENEOUS NODES

CHAPTER 5 WLDMA: A NEW LOAD BALANCING STRATEGY FOR WAN ENVIRONMENT

How To Perform Load Balancing In Cloud Computing With An Agent

QOS Differentiation of Various Cloud Computing Load Balancing Techniques

Process Scheduling CS 241. February 24, Copyright University of Illinois CS 241 Staff

CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS

Transcription:

Advance in Electronic and Electric Engineering. ISSN 2231-1297, Volume 4, Number 1 (2014), pp. 59-66 Research India Publications http://www.ripublication.com/aeee.htm Performance Analysis of Load Balancing Algorithms in Distributed System Deepika 1, Divya Wadhwa 2 and Nitin Kumar 3 Banasthali University (M.TECH(I.T.))12,Galgotias University(M.TECH(CSE))3 E-mail: deepikasharma.seo@gmail.com, divyawadhwa1991@gmail.com, nitinsharma.meerut@gmail.com Abstract Load balancing is the process of improving the performance of a parallel and distributed system through a redistribution of load among the processors. Load balancing algorithm tries to balance the total system load by transferring the workload from heavily loaded node to lightly loaded node to ensure the good overall system performance. The basic goal of this algorithm is to maximize the total system throughput. In this paper we present the performance analysis of various load balancing algorithms based on different parameters, considering two typical load balancing approaches static and dynamic. The analysis indicates that static and dynamic both types of algorithm can have advantages as well as disadvantages over each other. The main purpose of this paper is to help in design of new algorithms in future by studying the behavior of various existing algorithms. Keywords: Load balancing, distributed system, throughput. 1. Introduction In parallel and distributed systems more than one processor process parallel programs. The amount of processing time needed to execute all processes assigned to a processor is called workload of a processor [1]. The amount of processing time needed to execute all processes assigned to processor is called load of a processor. A distributed system provides the resource sharing as one of its major advantages. One of the biggest research issues in distributed computing systems is the development of effective techniques for distributing load/processes on multiple processors. The main goal is to distribute processes among processors to maximize throughput, maintain stability,

60 Deepika et al maximize resource utilization, minimize communication delays and fault tolerant.[2].an important problem here is to decide how to achieve a balance in the load distribution between processors so that the computation is completed in the shortest possible time 2. Load Balancing Load balancing is the process of improving the performance of system through a redistribution of load among processor. 2.1 Types of Load Balancing Algorithms Load balancing algorithms can have two categories based on initiation of process as follows: 2.1.1] Sender Initiated: In this type the load balancing algorithm is initialized by the sender. In this type of algorithm the sender sends request messages till it finds a receiver that can accept the load. 2.1.2] Receiver Initiated: In this type the load balancing algorithm is initiated by the receiver. In this type of description algorithms the receiver sends request messages till it finds a sender that can get the load[1]. 3. Static Load Balancing In static load balancing, the performance of the processors is determined at the beginning of execution. Then depending upon their performance the work load is assigned by the master processor. The slave processors calculate their allocated work and submit their result to the master. A task is always executed on the processor to which it is assigned that is static load balancing methods are non preemptive. The goal of static load balancing method is to reduce the execution time, minimizing the communication delays[1]. 3.1 Round Robin Algorithm Round Robin algorithm distributes jobs evenly to all slave processors. All jobs are assigned to slave processors based on Round Robin order, meaning that processor choosing is performed in series and will be back to the first processor if the last processor has been reached. Processors choosing are performed locally on each processor, independent of allocations of other processors. 3.2 Randomized Algorithm Randomized algorithm [5] uses random numbers to choose slave processors. The slave processors are chosen randomly following random numbers generated based on a statistic distribution.

Performance Analysis of Load Balancing Algorithms in Distributed System 61 3.3 Central Manager Algorithm Central processor will choose a slave processor to be assigned a job. The chosen slave processor is the processor having the least load. The central processor is able to gather all slave processors load information, thereof the choosing based on this algorithm are possible to be performed. The load manager makes load balancing decisions based on the system load information, allowing the best decision when of the process created. 3.4 Threshold Algorithm In Threshold algorithm [6], the processes are assigned immediately upon creation to hosts. Hosts for new processes are selected locally without sending remote messages. Each processor keeps a private copy of the system s load. The load of a processor can characterize by one of the three levels: Under loaded, medium and overloaded. Two threshold parameters t_under and t_upper can be used to describe these levels. Under loaded: load < t_under, Medium : t_under load t_upper, Overloaded: load > t_upper. 4. Dynamic Load Balancing Unlike static algorithms, dynamic algorithms allocate processes dynamically when one of the processors becomes under loaded. Instead, they are buffered in the queue on the main host and allocated dynamically upon requests from remote hosts[8]. 4.1 Central Queue It stores new activities and unfulfilled requests as a cyclic FIFO queue on the main host. Each new activity arriving at the queue manager is inserted into the queue. Then, whenever a request for an activity is received by the queue manager, it removes the first activity from the queue and sends it to the requester. If there are no ready activities in the queue, the request is buffered, until a new activity is available. If a new activity arrives at the queue manager while there are unanswered requests in the queue, the first such request is removed from the queue and the new activity is assigned to it. 4.2 Local Queue The basic idea of the local queue algorithm is static allocation of all new processes with process migration initiated by a host when its load falls under threshold limit, is a user-defined parameter of the algorithm. The parameter defines the minimal number of ready processes the load manager attempts to provide on each processor. 4.3 Policies or Strategies in dynamic load balancing There are different policies in dynamic load balancing [10]: 1. Transfer Policy: The part of the dynamic load balancing algorithm which selects a job for transferring from a local node to a remote node is referred to as Transfer policy or Transfer strategy. 2. Selection Policy: It specifies the processors involved in the load exchange (processor matching).

62 Deepika et al 3. Location Policy: The part of the load balancing algorithm which selects a destination node for a transferred task is referred to as location policy or Location strategy. 4. Information Policy: The part of the dynamic load balancing algorithm responsible for collecting information about the nodes in the system is referred to as Information policy or Information strategy. 5. Load estimation policy: which determines how to estimate the workload of a particular node of the system. 6. Process transfer policy, which determines whether to execute a process locally or remotely. 7. Priority assignment policy: which determines the priority of execution of local and remote processes at a particular node. 8. Migration limiting policy: which determines the total number of times a process, can migrate from one node to another. 5. Performance Parameters The performance of various load balancing algorithms is measured by the following parameters. 1. Nature:This factor is related with determining the nature or behavior of load balancing algorithms that is whether the load balancing algorithm is of static or dynamic nature, pre-planned or no planning. 2. Overload Rejection:If Load Balancing is not possible additional overload, rejection measures are needed.static load balancing algorithms incurs lesser overhead as once tasks are assigned to processors, no redistribution of tasks takes place, so no relocation overhead. Dynamic Load Balancing algorithms incur more overhead relatively as relocation of tasks takes placearameters. 3. Reliability:This factor is related with the reliability of algorithms in case of some machine failure occurs. Static load balancing algorithms are less reliable because no task/process will be transferred to another host in case a machine fails at run-time. Dynamic load balancing algorithms are more reliable as processes can be transferred to other machine in case of failure occurs. 4. Adaptability:This factor is used to check whether the algorithm is adaptive to varying or changing situations.static load balancing algorithms are not adaptive. Dynamic load balancing algorithms are adaptive towards every situation. 5. Stability:Static load balancing algorithm considered as stable as no information regarding present workload state is passed among processors. However in case of dynamic load balancing such kind of information is exchanged among processors. 6. Predictability:This factor is related with the deterministic or nondeterministic factor that is to predict the outcome of the algorithm. Static load balancing algorithm s behavior is compile-time. Dynamic load balancing algorithm s behavior is unpredictable.

Performance Analysis of Load Balancing Algorithms in Distributed System 63 7. Forecasting Accuracy:Forecasting is the degree of conformity of calculated results to its actual value that will be generated after execution. 8. Cooperative:This parameter gives that whether processors share information between them in making the process allocation decision other are not during execution. Static algorithms are cooperative and Dynamic algorithms are non cooperative. 9. Resource Utilization :Static load balancing algorithms have lesser resource utilization as static load balancing methods just tries to assign tasks to processors in order to achieve minimize response time ignoring the fact that may be using this task assignment can result into a situation in which some processors finish their work early and sit idle due to lack of work. Dynamic load balancing algorithms have relatively better resource utilization as dynamic load balancing take care of the fact that load should be equally distributed to processors so that no processors should sit idle. 10. Process Migration: Process migration parameter provides when does a system decide to export a process. The algorithm is capable to decide that it should make changes of load distribution during execution of process or not. 11. Preemptiveness: This factor is related with checking the fact that whether load balancing algorithms are inherently non-preemptive as no tasks are relocated. Dynamic load balancing algorithms are both preemptive and non preemptive. 12. Response Time: How much time a distributed system using a particular load balancing algorithm is taking to respond? Static load balancing algorithms have shorter response time. Dynamic load balancing algorithms may have relatively higher response time. 13. Waiting Time: Waiting Time is the sum of the periods spent waiting in the ready queue. 14. Turnaround Time: The interval from the time of submission of a process to the time of completion is the turnaround time. 15. Through put: Throughput is the amount of data moved successfully from one place to another in a given time period. 16. Processor Thrashing: Processor thrashing occurs when most of the processors of the system are spending most of their time migrating processes without accomplishing any useful work in an attempt to properly schedule the processes for better performance. Static load balancing algorithms are free from Processor thrashing as no relocation of tasks place. Dynamic load balancing algorithms incurs substantial processor thrashing. 6. Result Parameter Round Random Local Central Central Threshold Robin Queue Queue Manager Nature Static Static Dynamic Dynamic Static Static Overload Rejection No No Yes Yes No No

64 Deepika et al Reliability Less Less More More Less Less Adaptability Less Less More More Less Less Stability Large Large Small Small Large Large Predictability More More Less Less More More Forecasting More More Less Less More More Cooperative No No Yes Yes Yes Yes Fault Tolerant No No Yes Yes Yes No Resource Utilization Less Less More More Less Less Process Migration No No Yes No No No Preemptiv Eness Nonpreemptive Nonpreemptive Preemtive and Nonpreemptive Preemtive and Nonpreemptive Nonpreemptive Nonpreemptive Response Time Less Less More More Less Less Waiting Time More More Less Less More More Turnaround Time Less Less More More Less Less Throughput Low Low High High Low Low Processor Thrashing No No Yes Yes No No Nature Static Static Dynamic Dynamic Static Static Overload Rejection No No Yes Yes No No Reliability Less Less More More Less Less Adaptability Less Less More More Less Less Stability Large Large Small Small Large Large Predictability More More Less Less More More Forecasting More More Less Less More More Cooperative No No Yes Yes Yes Yes Fault Tolerant No No Yes Yes Yes No Resource Utilization Less Less More More Less Less Process Migration No No Yes No No No Preemptiv Nonpreemptivpreemptive Non- Preemtive Preemtive Non- Non- Eness and Non- and Nonpreemptivpreemptive preemptive preemptive Response Time Less Less More More Less Less Waiting Time More More Less Less More More Turnaround Time Less Less More More Less Less Throughput Low Low High High Low Low Processor Thrashing No No Yes Yes No No 7. Conclusion Load balancing algorithms is totally dependent upon in which situations workload is assigned, during compile time or execution time. The above comparison shows that static load balancing algorithms are more stable than dynamic. But dynamic load balancing algorithms are always better than static as per as overload rejection, reliability, adaptability, cooperativeness, fault tolerant, resource utilization, response & waiting time and throughput is concert.

Performance Analysis of Load Balancing Algorithms in Distributed System 65 References [1] Abhijit A. Rajguru, S.S. Apt A Comparative Performance Analysis of Load Balancing Algorithms in Distributed System using Qualitative Parameters International Journal of Recent Technology and Engineering (IJRTE) ISSN: 2277-3878, Volume-1, Issue-3, August 2012. [2] Abirami M S1, Niranjana G2, Dynamic Load Balancing in Distributed Systems, International Conference on Computing and Control Engineering (ICCCE 2012), 12 & 13 April, 2012 [3] Eduardo R. Rodrigues Celso L. Mendes Philippe O. A. Navaux Jairo Panetta Alvaro Fazenda Laxmikant V. Kale, A Comparative Analysis of Load Balancing Algorithms Applied to a Weather Forecast Model, [4] Pushpendra Kumar Chandra Bibhudatta Sahoo, Performance Analysis of Load Balancing Algorithms for cluster of Video on Demand Servers, 2009 WEJEJ International Advance Conputing Conference (IACC 2009) Patialae, India, 6-7 March 2009. [5] Parveen Jain1, Daya Gupta2, An Algorithm for Dynamic Load Balancing in Distributed Systems with Multiple Supporting Nodes by Exploiting the Interrupt Service, International Journal of Recent Trends in Engineering, Vol 1, No. 1, May 2009. [6] Orly kremien and Jeff Karmer, Methodical Analysis of Adaptive Load Sharing Algorithms,IEEE Transactions on parallel and distributed system, Vol 3, No 6,nov 1992. [7] Sandeep Sharma, Sarabjit Singh, and Meenakshi Sharma, Performance Analysis of Load Balancing Algorithms, World Academy of Science, Engineering and Technology 38 2008 [8] Yongzhi Wang, Tom Z. J. Fu and Dah-Ming Chiu, Analysis of Load Balancing Algorithms in P2P Streaming, [9] William Leinberger, George Karypis, Vipin Kumar, "Load Balancing Across Near Homogeneous Multi-Resource Servers", 0-7695-0556-2/00, 2000 IEEE.

66 Deepika et al