Key Words: Dynamic Load Balancing, and Distributed System



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

DECENTRALIZED LOAD BALANCING IN HETEROGENEOUS SYSTEMS USING DIFFUSION APPROACH

Grid Computing Approach for Dynamic Load Balancing

DYNAMIC GRAPH ANALYSIS FOR LOAD BALANCING APPLICATIONS

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

A Comparison of General Approaches to Multiprocessor Scheduling

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

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

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

Load Balancing in cloud computing

A Survey on Load Balancing and Scheduling in Cloud Computing

Load Balancing In Concurrent Parallel Applications

Various Schemes of Load Balancing in Distributed Systems- A Review

A Review of Customized Dynamic Load Balancing for a Network of Workstations

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

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

Modeling and Performance Analysis of Telephony Gateway REgistration Protocol

A Novel Workload Allocation Strategy for Batch Jobs

Routing in packet-switching networks

LOAD BALANCING TECHNIQUES

Energy Efficient Load Balancing among Heterogeneous Nodes of Wireless Sensor Network

Intelligent Agents Serving Based On The Society Information

Efficient Data Replication Scheme based on Hadoop Distributed File System

Fair Scheduling Algorithm with Dynamic Load Balancing Using In Grid Computing

A Load Balancing Algorithm based on the Variation Trend of Entropy in Homogeneous Cluster

Performance of networks containing both MaxNet and SumNet links

An Effective Dynamic Load Balancing Algorithm for Grid System

EFFICIENT SCHEDULING STRATEGY USING COMMUNICATION AWARE SCHEDULING FOR PARALLEL JOBS IN CLUSTERS

MEASURING PERFORMANCE OF DYNAMIC LOAD BALANCING ALGORITHMS IN DISTRIBUTED COMPUTING APPLICATIONS

A Performance Study of Load Balancing Strategies for Approximate String Matching on an MPI Heterogeneous System Environment

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

Resource Allocation Schemes for Gang Scheduling

Performance Analysis of Load Balancing Algorithms in Distributed System

Comparative Study of Load Balancing Algorithms

Stochastic Processes and Queueing Theory used in Cloud Computer Performance Simulations

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

Network Model. University of Tsukuba. of the system. Load balancing policies are often. used for balancing the workload of distributed systems.

DYNAMIC LOAD BALANCING IN A DECENTRALISED DISTRIBUTED SYSTEM

CURRENT wireless personal communication systems are

Load Balancing on a Grid Using Data Characteristics

An Approach to Load Balancing In Cloud Computing

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

A Hybrid Load Balancing Policy underlying Cloud Computing Environment

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

Dynamic Multi-User Load Balancing in Distributed Systems

Improved Hybrid Dynamic Load Balancing Algorithm for Distributed Environment

Analyzing Distribution of Traffic Capacity

Real Time Network Server Monitoring using Smartphone with Dynamic Load Balancing

THE DESIGN OF AN EFFICIENT LOAD BALANCING ALGORITHM EMPLOYING BLOCK DESIGN. Ilyong Chung and Yongeun Bae. 1. Introduction

Towards a Load Balancing in a Three-level Cloud Computing Network

Performance Modeling and Analysis of a Database Server with Write-Heavy Workload

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

A REVIEW ON LOAD BALANCING TECHNIQUE IN THE PUBLIC CLOUD USING PARTITIONING METHOD

A Dynamic Load Balancing Algorithm For Web Applications

Load Balancing in Computer Networks

An Overview of CORBA-Based Load Balancing

DYNAMIC LOAD BALANCING SCHEME FOR ITERATIVE APPLICATIONS

@IJMTER-2015, All rights Reserved 355

Cloud Computing for Agent-based Traffic Management Systems

AN IMPROVED PERFORMANCE ANALYSIS OF PRIORITY SCHEDULING ALGORITHM IN MODIFIED AD HOC GRID LAYER

LOAD BALANCING STRATEGY BASED ON CLOUD PARTITIONING CONCEPT

Load Balancing to Save Energy in Cloud Computing

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

Global Load Balancing and Primary Backup Approach for Fault Tolerant Scheduling in Computational Grid

ADAPTIVE LOAD BALANCING FOR CLUSTER USING CONTENT AWARENESS WITH TRAFFIC MONITORING Archana Nigam, Tejprakash Singh, Anuj Tiwari, Ankita Singhal

How To Balance In Cloud Computing

Infrastructure for Load Balancing on Mosix Cluster

Load Balancing of Web Server System Using Service Queue Length

A Method Based on the Combination of Dynamic and Static Load Balancing Strategy in Distributed Rendering Systems

Contributions to Gang Scheduling

A Dynamic Approach for Load Balancing using Clusters

Dynamic Adaptive Feedback of Load Balancing Strategy

Load Balancing in Structured Peer to Peer Systems

An Efficient load balancing using Genetic algorithm in Hierarchical structured distributed system

A Taxonomy and Survey of Energy-Efficient Data Centers and Cloud Computing Systems

Load Balancing in Structured Peer to Peer Systems

Proposal of Dynamic Load Balancing Algorithm in Grid System

Kappa: A system for Linux P2P Load Balancing and Transparent Process Migration

Efficient DNS based Load Balancing for Bursty Web Application Traffic

Comparative Analysis of Congestion Control Algorithms Using ns-2

Survey of Load Balancing Techniques in Cloud Computing

A Clustered Approach for Load Balancing in Distributed Systems

Task Scheduling in Hadoop

Abstract. 1. Introduction

Scheduling Allowance Adaptability in Load Balancing technique for Distributed Systems

A Load Balancing Model Based on Cloud Partitioning for the Public Cloud

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

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

PERFORMANCE EVALUATION OF THREE DYNAMIC LOAD BALANCING ALGORITHMS ON SPMD MODEL

Load Distribution on a Linux Cluster using Load Balancing

APPENDIX 1 USER LEVEL IMPLEMENTATION OF PPATPAN IN LINUX SYSTEM

International journal of Engineering Research-Online A Peer Reviewed International Journal Articles available online

Group Based Load Balancing Algorithm in Cloud Computing Virtualization

The Optimistic Total Order Protocol

Experiments on the local load balancing algorithms; part 1

Figure 1. The cloud scales: Amazon EC2 growth [2].

Adaptive MAP Selection with Load Balancing Mechanism for the Hierarchical Mobile IPv6

Load balancing in a heterogeneous computer system by self-organizing Kohonen network

A NOVEL RESOURCE EFFICIENT DMMS APPROACH

Transcription:

DYNAMIC ROTATING LOAD BALANCING ALGORITHM IN DISTRIBUTED SYSTEMS ROSE SULEIMAN AL DAHOUD ALI ISSA OTOUM Al-Zaytoonah University Al-Zaytoonah University Neelain University rosesuleiman@yahoo.com aldahoud@alzaytoonah.edu.jo issaotoum2k@yahoo.com ABSTRACT Load Balancing in a distributed system is an important process to reduce delays and improve response times in order to speed up applications and results. Different approaches to Load Balancing have different advantages and disadvantages. Classical approaches to load balancing are quite good and mostly efficient, but in many circumstances, the overheads incurred from load balancing are too high and therefore become ineffective. Dynamic Rotating Load Balancing Algorithm in Distributed Systems is proposed in this paper. This new algorithm has much lower overheads and faster response times when compared to the classical approaches, as shown in the data obtained from the simulations done to test this approach. It is also scalable and efficient regardless of the size of the network used. INTRODUCTION This paper is a study about dynamic load balancing in a distributed system. It compares the various approaches to Load Balancing in distributed system, with focus on dynamic approaches in general; some processes are discussed in detail to clarify issues concerning factors contributing to load and the mechanisms used in any balancing process. The paper explains the new algorithm and how it is applied, with discussion of the simulation process used to compare the classical approach to the new- proposed- approach. Also it gives the results and conclusions drawn from the study and further proposals. The tables and diagrams at the end of the study give comparisons between the various approaches and the results of the simulations done as part of the study, with references outlined after that. Key Words: Dynamic Load Balancing, and Distributed System 1- DYNAMIC LOAD DISTRIBUTION 1-1.Load distribution Load distribution seeks to improve the performance of a distributed system, usually in terms of response time or resource availability, by allocating workload amongst a set of cooperating hosts. This division of system load can take place statically or dynamically: 1-2. Dynamic load distribution Dynamic load distribution is designed to overcome the problems of unknown or un-characterizable workloads, non-pervasive scheduling and runtime variation (any situation where the availability of hosts, the composition of the workload or the interaction of human beings can alter resource requirements or availability). Dynamic load distribution systems typically monitor the workload and hosts for any factors that may affect the choice of the most appropriate assignment and distribute jobs accordingly. This very difference between static and dynamic forms of load distribution is the source of the power and interest in dynamic load distribution. The objectives of this thesis lie entirely within the domain of dynamic load balancing. For brevity, I will take the more general term of load distribution to stipulate only the dynamic form. [1, 2, 7, 11] The Degree of Load Distribution Load Sharing: This is the coarsest form of load distribution. Load may only be placed on idle hosts, and can be viewed as binary, where a host is either idle or busy.

Load Balancing: Where load sharing is the coarsest form of load distribution, load balancing is the finest. Load balancing attempts to ensure that the workload on each host is within a small degree (or balance criterion) of the workload present on every other host in the system. Load Leveling: Load leveling occupies the ground between the two extremes of load sharing and load balancing. Rather than trying to obtain a strictly even distribution of load across all hosts, or simply utilizing idle hosts, load leveling seeks to avoid congestion on any one host. Other schemes such as, MOSIX, which could be considered load balancing systems, are in fact load leveling, as the balancing phase occurs periodically. 1-3. Previous Load Distribution Taxonomies There are numerous existing taxonomies available for the classification of load distribution, including Wang and Morris, Casavant and Kuhl and Jacqmot and Milgrom. 2- THE PROPOSED NEW ALGORITHM: A network is made up of nodes connected together in a certain configuration; the configuration will not matter for our purposes here. The nodes are arranged logically from 1 to n; where n is the total number of nodes. We can view the network, regardless of its size, as consisting of adjacent pairs of nodes or triplets, the nodes that are nearest each other are considered as the pair. This breaks up the large network into a number of small networks, the Load Balancing can then be done within the small networks (consisting of only two or three nodes). This grouping has the effect of both reducing the number of messages exchanged and also the physical distances between nodes as they are chosen to be adjacent. This has the effect of reducing the overhead when Load Balancing is done and thus makes for a more efficient process with faster response times and quicker task achievement. To do the Load Balancing in a dynamic manner, we need to set the criteria for the start of Load Balancing Process, and also to have a mechanism for changing the configuration of the network each time load balancing is done. 2-1. Criteria for Load Balancing: 1) When a certain number of tasks (queue length) at the node is reached- i.e. a threshold. 2) Periodically. 2-2. Selection of nodes: Any number of nodes can make up a group, but limiting the size to only 2 or 3 gives us the advantages of low overhead, reduction of job thrashing as well as other advantages; like scalability, robustness, stability and efficiency. The selection of nodes, for 3 nodes per cluster, or for 2 nodes per cluster can be done using the code: The code for the process, shown here in C++: Cycle =1 While (true) For (i=0;i< groups ; i++) For (j=0;j< clustersize ; j++) X=i*clustersize+j+cycle; If (x>nodes) C[i+1][j+1] = x % Nodes Else C[i+1][j+1] = x; The Load Balancing Code is placed in this area If (++cycle>nodes) cycle=1; In this configuration, the load over the groups consisting of nodes I;j;k : NetLoad = int ((load I+ load j)/2), for 2 node groups NetLoad = int ((load I+ load j+ load k)/3), for 3 node groups

2-3.Load Balancing steps: Step 1: Calculation of local load: We need to calculate local load ( i.e. load at each node): Factors of load: Load (L) is directly proportional to : Average queue length(q( avg )). Response time(t resp ( avg )) Average waiting time(t w ( avg )) Load (L) is inversely proportional to : Number of nodes, n. Mathematically: L α (Q( avg )) * (t resp ( avg ))* (t w ( avg )) / n Multiplying by a constant (c) makes this an equation: L = (Q( a )) * (t resp ( a ))* (t w ( a ))*c / n (t resp )= t release t arrival (t w )= t seize t arrival (t resp ( avg ))=the sum of (t resp )/ number of jobs= sum( t release t arrival )/ n j (t w ( avg ))=sum((t w )/number of jobs=sum(t seize t arrival )/ n j (Q( avg )) of node n= the sum of jobs at time (m) The constants, obtained from experimental values as shown in previous studies (Zhou, Kara; 1994): * tasks arrive at nodes in a Poisson distribution manner. * task size follows exponential distribution. time to send message time to receive message time for job sending time for job receiving time to send result time to receive result 0.00001 s (10 ms) 0.00001 s (10 ms) 0.00005 s (50 ms) 0.00005 s (50 ms) 0.00001 s (10 ms) 0.00001 s (10 ms) Step 2: Calculation of total load: 1.For central load balancing approach: Check load of all nodes and distribute load accordingly. 2.For Distributed load balancing approach: Check tables of loads and distribute load accordingly. 3.For rotating algorithm: Loads are calculated locally and the total load for each cluster is added and averaged; if threshold is exceeded then load is distributed by transfer of jobs to neighboring nodes in each cluster then the rotation of nodes is done. Step 3: Trigger of load balancing: 2 mechanisms: 1) Threshold. 2) Periodically. Step 4: Response Times Response times were calculated for different number of nodes by the simulation code for the various approaches of balancing Diagram illustrating concept of Rotational approach

Considerations: To Compare: 1) Centralized approach. 2) Distributed approach. 3) New algorithm. We have to consider the following issues first: The different approaches have different overheads depending on various aspects of the system. They each have advantages and disadvantages. To have a fair comparison with no bias would be quite difficult as the various aspects of the overhead and other delay factors will not be constant for each approach, but if we try to keep all the aspects of the simulations used to do the comparisons constant, apart from those that are inherently different, then the bias will be kept to a minimum. Some variables may be applicable only to some approaches and not in others. Results of the simulation: A simulation was constructed to do the following: 1) Perform as a network with multiple processors- i.e. consisting of n nodes. this n can be varied for the purpose of the study. 2) A set task was given equally to all approaches; the task was divided into smaller tasks in exponential distribution manner and then distributed to the nodes set up in the simulation. 3) The process of load balancing was done for each approach of simulation. 4) The results obtained were plotted as response times vs. number of nodes for all the simulation processes to compare the prospective response times. Mathematical Considerations: Arrival rate = (load * Number of processors) (Required number of processors *Average execution time) The Load is directly proportional to: Arrival rate Mean service time ( = Total service time / number of tasks ) The Load is inversely proportional to number of processors So, mathematical expression to describe Load: Load = Arrival rate * mean service time * (1/number of processors) * constant

The tasks were split into jobs by the exponential distribution method. The results obtained are given in the following graphs : Graph1: Rotational-2nodes, Central, Distributed & No Balancing Graph2: Rotational-3nodes, Central, Distributed & No Balancing

Graph3: Rotational-2nodes, Rotational-3nodes & No Balancing Graph4: Rotational-2nodes, Rotational-3nodes,Central, Distributed& No Balancing ANALYSIS OF RESULTS: The results show the following observations: 1) Plotting the results taken from the simulation for the average response times vs. the number of nodes for No Load Balancing, Central approach, Distributed approach, Rotational approach for 2 nodes per cluster we see that : The response times are better for Rotational 2 which is better than central approach which is better than distributed approach, all better than no Load Balancing.[Graph1] 2) Plotting the results taken from the simulation for the average response times vs. the number of nodes for No Load Balancing, Central approach, Distributed approach, Rotational approach for 3 nodes per cluster we see that : The response times are better for Rotational 3 which is better than central approach which is better than distributed approach, all better than no Load Balancing.[Graph2]

3) Plotting the results taken from the simulation for the average response times vs. the number of nodes for Rotational approach for 3 nodes per cluster & Rotational approach for 2 nodes per cluster we see that : The response times are better for Rotational 3 than Rotational 2, all better than no Load Balancing.[Graph3] 4) To see the effect of increasing the number of nodes and how the behavior changes, Graph 7 shows that as the number of nodes increase, the average response times start increasing after a certain point for the distributed approach and the central approach until eventually they reach a point where no balancing is better. While the rotational approach continues to give better response times regardless of the number of nodes used.[graph4] Conclusions: 1) From the analysis of results we find that the simulations done show that the proposed new algorithm has much lower overheads and faster response times when compared to the classical approaches, as shown in the data obtained from the simulations done to test this approach. 2) It is also scalable and efficient regardless of the size of the network used: as we see that when number of nodes increases it still gives good response times, which is not found in other approaches. 3) Using this approach gives better results because there are virtually no overheads compared to classical approaches. 4) Using clusters of 3 nodes gives better performance than 2 nodes per cluster, this is related to the fact that 3 nodes are better at handling the local load than 2 nodes because of simple mathematical rules involved. References 1) Al_Dahoud Ali, Giacomo Gioffi,. Ramtha : The manager algorithm for Dynamic Load Balancing in Distributed Systems. 2) Al_Dahoud, A. Dynamic Load Balancing in Distributed Systems, Ph.D. Thesis, National Technical University of Ukraine, Kiev, Ukraine, 1996. 3) Andrews. Tanenbaum, Modern Operating Systems, Prentice _ Hall International, Inc, Newjersy, 1992. 4) Allan, R., Michael, L. and Miron, L. Condor Technical Summary, Computer Sciences Department, University of Wisconsin-Madison, 1991. 5) Anna, H. Load Balancing in Distributed Systems: A Summary, Performance Evaluation Review, Vol. 16 #2-4 February 1989, pp. 17-19. 6) Silberschatz A., Galvin. Peter B., Operating System Concepts, Fifth Edition, John Wiley & Sons, Inc., 1999. 7) SANDEEP GUPTA, Dynamic Load Balancing, project website, internet site. Page opened, April 2003. 8) Averill, L. and Kelton W. Simulation Modeling And Analysis, McGraw_HiII, New York, USA, 1991. 9) Bruce, L., Hosseini S., Vairavan K. and Gregory, W. Performance Characteristics ora Load Balancing Algorithm, Journal of Parallel and Distributed Computing, 31, 1995, pp. 159-165. 10) Chi-Chung, H. and Samuel, C. Allocating Task Interaction Graph to Processors in Heterogeneous Networks, IEEE Transactions on Parallel and Distributed Systems, vol. 8, No.9, September 1997, pp. 908-925. 11) Chi-Chung, H. And Samuel, C. Hydrodynamic Load Balancing, IEEE Transactions on Parallel and Distributed Systems, Vol. 10, No.11, November 1999, pp. 1118-1137. 12) Chi-Chung, H. And Samuel, C. Theoretical Analysis of the Heterogeneous Dynamic Load Balancing Problem Using a Hydrodynamic Approach, Department of Computer Science, The Hong Kong University of Science and Technology, Technical Report, March 5, 1996.

13) Chi-Chung, H. And Samuel, C. Theoretical Analysis of the Heterogeneous Dynamic Load Balancing Problem Using a Hydrodynamic Approach, Journal of Parallel and Distributed Computing, 43, 1997, pp. 139-146. 14) Dasgupta, P., Majumder A. and Rhattacharya, P. V_THR : An Adaptive Load Balancing Algorithm, Journal of Parallel And Distributed Computing, 42, 1997, pp. 101-108. 15) Douglas, T., Jim, B. and Miron, L. Condor, Computer sciences Department, University of Wisconsin, 2001. 16) Flavio, R. and Anurag, K. Adaptive Optimal Load Balancing in a Non-homogeneous Multiserver System with a Central Job Scheduler, IEEE Transactions on Computers, vol. 39, No.10, October 1990. 17) Herbert, K. and Andreas, W. Comparison of Dynamic Load Balancing Strategies, Lehrstuhl fur Informatik IL 1990. 18) Jerrell, W. and Stephen, T. A Practical Approach to Dynamic Load Balancing, IEEE Transactions on Parallel and Distributed Systems, Vol. 9, No.3, March 1998, pp. 235-248. 19) Jie, L. and Hisao, K. Optimal Static Load Balancing in Network Configurations With Two- Way Traffic, Journal of Parallel And Distributed Computing, 23, 1994, pp. 364-375. 20) Kai, H. and DeGroot, D. Parallel Processing for Supercomputers and Artificial Intelligence, McGraw-Hill Publishing Company, USA,1989. 21) Mohammed, Z., wei, L. and Srinivasan, P. Customized Dynamic Load Balancing for a Network of Workstations, Journalof Parallel And Distributed Computing, 43, 1997, pp. 156-162. 22) Mourad, K. A Global Plan Policy for Coherent Cooperation in Distributed Dynamic Load Balancing Algorithms, University of Leeds -School of Computer Studies, Research Report Series, Report 94.21, July 1994. 23) Mourad, K. Using Dynamic Load Balancing in Distributed Information Systems, University of Leeds -School of Computer Studies, Research Report Series, Report 94.18, May 1994. 24) Tanenbaurn, A. Distributed Operating Systems, Prentice-Hall International, New Jersey, USA, 1995. 25) Xiaotie, D., Hai-Ning, L., Junsheng, L. And Ring, X. Competitive Analysis of Network Load Balancing, Journal of Parallel And Distributed Computing, 40, 1997, pp. 162-172. 26) Chao-Ju, H. And Kang, S. Implementation of Decentralized Load Sharing in Networked Workstations Using the Condor Package, Journal of Parallel And Distributed Computing,40, 1997, pp. 173-184.