Efficient Distributed Dynamic Load Balancing

Efficient Distributed Dynamic Load Balancing

Length: 3035 words (8.7 double-spaced pages)

Rating: Excellent

Open Document

Essay Preview

More ↓
Introduction

Load balancing is the strategy of load redistribution among the computational elements(CE) of a heterogeneous network where they work cooperatively so that large loads can be distributed among them in a fair and effective manner. Load Balancing strategies ensure that the workload is distributed over all CEs according to their processing speed and availability in such a way that the overall execution time is minimized. But there are a wide variety of issues that need to be considered for heterogeneous environment. For example capacities (in terms of processor speed) differ because of processor heterogeneity and according to loads imposed on them from time to time. The underlying network connecting the computational elements are also heterogeneous. Further, network topology among resources is also not fixed due to dynamic nature of the environment. The focus of this work is to design a load balancing algorithm which considers the dynamic, scalable and heterogeneous nature of the distributed environment.

Generally there are two methods for load balancing in a distributed environment: A static load balancing approach depends on static information such as CPU capacity, memory space etc in making load balancing decisions. Dynamic load balancing policies makes load balancing decisions based on the current state of the system and therefore is able to further improve the system performance. Thus compared to static ones, dynamic load balancing policies are better able to respond to system changes and to avoid those states that result in poor performance. Dynamic load balancing algorithms are based on:

A load estimation policy to decide the load of a particular node of the system. For example CPU utilization, Length of CPU queue, resource queue length etc can be used as load estimation parameters.

A state information exchange policy to inform other nodes about the state of the system. The state information transfer policy can be 1.Periodic: Nodes inform others of their state at regular intervals.2.On demand: Nodes inform other of their state whenever there is a change of state of the system.3.Exchange by Polling: A node searches for a suitable neighbor to exchange information about state.

A process transfer policy to decide when to transfer a process. This is usually determined by some threshold value which decide whether a node is lightly loaded or heavily loaded.

A selection policy to decide which process is to be chosen for transfer.

How to Cite this Page

MLA Citation:
"Efficient Distributed Dynamic Load Balancing." 123HelpMe.com. 24 Jun 2019
    <https://www.123helpme.com/view.asp?id=272412>.

Need Writing Help?

Get feedback on grammar, clarity, concision and logic instantly.

Check your paper »

Essay about Internet Is The Largest Example Of A Distributed System

- The Internet is a heterogeneous, open, secure, scalable, fault-tolerant, concurrent and transparent system. Internet is the largest example of a distributed system. Internet in made of humongous amount of systems and devices interconnected to each other via a common medium. Following are the attributes of internet: Heterogeneity : Heterogeneous nature of internet is one of the main factors for popularity of internet. We can be connected to internet by multiple devices – mobile phones, laptop computers, PDAs, etc....   [tags: Internet, IP address, Internet Protocol]

Research Papers
1235 words (3.5 pages)

Balance the Load of Multiprocessors by Effective Distribution and Parallelization

- INTRODUCTION: Data mining can be defined as the process of discovering hidden pattern in database. The main purpose of data mining is to convert raw data into knowledge. Association rule mining is a kind of data mining process which is done to extract interesting correlations, patterns, associations among items in the transaction database or other data repositories. Association rules are widely used in various areas such as marketing telecommunication networks and inventory control etc.In this work apriori algorithm is used to extract frequent item set from a database....   [tags: data mining, data patterns]

Research Papers
1275 words (3.6 pages)

Network Load Balancing Essay

- Load balancing is a method for distributing workloads across multiple computers, such as a cluster, a Central Processing Unit, network links, or disk drives to optimize resource use, maximize throughput, minimize response time and avoid overload of any one of the resources. By using multiple components that use load balancing, it can increase reliability and speed through redundancy, instead of using a single component to achieve the desired result. The Load balancing is achieved through dedicated software or hardware like a multilayer switch or a domain name switch (DNS) server process....   [tags: computers, routing paths, servers]

Research Papers
659 words (1.9 pages)

Power Balancing Strategy Stalled Near The Load Side, Reducing Line Losses And Large

- Abstract—This paper proposes a power balancing strategy stalled near the load side, reducing line losses and large for dispatchable and/or non-dispatchable sources in an islanded investment to build a transmission and distributed network. microgrids. This control method enables energy storage system Majority of distributed generators, encompasses wind power, that employs an constant voltage bandwidth in a dc busbar voltage to maintain voltage steady stage position for a short solar power, fuel cell, small scale gas turbine and so on, period disturbance in a network....   [tags: Wind power, Renewable energy, Battery]

Research Papers
1039 words (3 pages)

Advantages of Distributed Operating System Essay example

- ... The connected devices can to join back the repaired system smoothly which had failed earlier. Failure of one system in the combined system will not be affecting the other systems in the group Resource sharing: The network operating system was the earliest form of distributed system where the software and hardware resources were shared by distant users. Resource sharing improves the resource utilization across boundaries of all the individual computer systems connected together. For the distributed operating system, sharing the resources is the traditional motivation....   [tags: independent computers, reliability]

Research Papers
1027 words (2.9 pages)

Risk and Return Analysis for Efficient Portfolio Selection Essay

- ... Holding period return (HPR) or holding period yield (HPY) may be used to measure Historical returns 2. PROBLEM STATEMENT Investors desire an effective portfolio to invest on, with preferable high returns and low risk. Potential returns rises with an increase in risk. Low levels of risk (uncertainty) are associated with low potential returns, whereas high levels of risk (uncertainty) are associated with low potential returns. When choosing investments portfolio you must be aware of your risk tolerance....   [tags: efficient allocation, risk, return, investment]

Research Papers
901 words (2.6 pages)

Components Of Distributed Software Engineering Essay

- Distributed Software Engineering Distributed systems are grouping of computers linked through a network that uses software to coordinate their resources to complete a given task. The majority of computer systems in use today are distributed systems. There are limited uses for a singular software application running on an unconnected individual hardware device. A perfect distributed system would appear to be a single unit. However, this ideal system is not practical in real world application due to many environmental components....   [tags: Client-server, Server, Peer-to-peer, Computer]

Research Papers
1942 words (5.5 pages)

Balancing Your Life and Studies Essay

- Deciding to go back to school may leave you worrisome, or scared. You might wonder how you are going to handle another responsibility because you have so many already. As a single mother, an employee, and a homeowner, I have taken steps I would like to share with you to reduce the stress of adding schoolwork to your load. To get through this course, balancing your studies with the other aspects of your life will guide you to stress free success. Take each day as it comes, and do the best you can....   [tags: personal reflections]

Research Papers
839 words (2.4 pages)

Distributed Denial of Service Attacks Essay

- Within the last decade, the internet has proven to be the most efficient way to complete tasks in today’s society. Every major business in today’s society relies on the internet to conduct business. Though the internet is a useful tool, our reliability on it opens up the door for cyber-attacks that can be detrimental to business as a whole. One example of a cyber-attacks that have recently started becoming more prevalent are DDoS attacks. Recently, DDoS attacks have been a rising issue for businesses owners who run their own servers, such as video game companies and other high profile web servers, including banks and other credit card payment gateways....   [tags: DDoS Attacks, Cyber Terrorism]

Research Papers
627 words (1.8 pages)

Essay about Distributed File Sytsem

- Distributed File Sytsem Intro CODA is an experimental distributed file system being developed at Carnegie Mellon University. Dr. M. Satyanarayanan heads this group whose purpose is to design and implement a distributed file system that allows for transparent mobile computing in a client server environment. The goals set forth for CODA include disconnected operation for mobile clients, failure resistance, performance, scalability and security. Architecture Most of the aspects of CODA’s basic architecture are inherited from its predecessor AFS (Andrew File System)....   [tags: Essays Papers]

Free Essays
2095 words (6 pages)

The chosen process can be a new process or a process which is already running.

A location policy to decide a receiver node for the process . The receiver node should be lightly loaded and should have suitable environment to run a process.

Load balancing can be classified as centralized or distributed. In the centralized approach [6,7] a single master node acts as decision maker. All nodes communicate with this master node. In the distributed approach [7] nodes communicate with each other to make a balancing decision.

In the traditional model each node can act as a sender or a receiver depending on its workload. A node acts as a sender if its prevailing workload level is greater than its capacity. It will then try to balance its load by distributing its present load with its neighbours . In order that such a system works efficiently, each such node needs to have the knowledge of all other nodes in the network. This is the biggest disadvantage of such a system. The sender/receiver has to discover a node by sending a broadcast message to all other nodes and expecting a response. This creates a considerable communication overhead when all the nodes are involved.


To reduce the complexity of the load balancing process and to take care of heterogeneity and scalability the network is grouped into domains consisting of a subset of nodes in the system such that load balancing can be applied to them in a single step. The control of a domain can be centralized or distributed:
In a centralized domain all nodes of the subgroup interact with a master node. The master node is responsible for allocation of resources to the nodes. There is no interaction between 2 nodes. The master node is responsible for collecting information from the nodes at regular interval, processes it and sends the decisions to the nodes.
In a distributed domain a node can connect directly to any other nodes of the domain. There is no master node. Each node acts as a local controller. The nodes are responsible for making load balancing decisions based on the information collected from other nodes.

Global balancing is then achieved by balancing each domain by distributing excess load throughout the domains of the system.

Another important attribute in load balancing is the metric used in load balancing algorithm. The metric has to be feasible to be implemented in conjecture with a dynamic load balancing algorithm. In addition the metric should take into account the processor and memory utilization of a node, the number of jobs queued at that node and the processing capacity of that node to make decisions regarding load on that node.

As in the centralized domain the load information is then sent to the domain manager who processes the information and calculates parameters which are then used to decide whether the domain is in load balanced state or not. Load balanced state is achieved when the load on each node is approximately equal to the average load of the domain. If load on any node exceeds the average load then the domain manager finds a suitable receiver node for receiving the excess load of the overloaded node.

A domain can be balanced while being saturated. Saturation is achieved when the domain manager cannot find a suitable receiver node as load on every node of the domain is greater than or equal to the average load. The domain manager then decides to start the inter cluster load balancing phase which balances load between domains.

The work is organized as follows: Section 2 describes the notations and assumptions to be used in this paper. Section 3 describes the system model……











Related Work:

Load balancing for distributed computing system has been deeply studied for a long time. Generally there are two methods for load balancing in a distributed environment: A static load balancing approach[1,2,3] depends on static information such as CPU capacity, memory space etc in making load balancing decisions. Dynamic load balancing policies [2,4,5] makes load balancing decisions based on the current state of the system and therefore is able to further improve the system performance.
Load balancing can be classified as centralized or distributed. In the centralized approach[6,7] a single master node acts as decision maker. All nodes communicate with this master node. In the distributed approach [7] nodes communicate with each other to make a balancing decision.
Popular nearest neighbour algorithms are dimension-exchange [12] and the diffusion methods. Dimension-exchange method is performed in an iterative fashion and is described in terms of a hypercube architecture. A processor performs load balancing with its neighbor in each dimension of the hypercube. Diffusion based load balancing algorithms[13] suffers from slow convergence to the balanced state.

Some of the algorithms have been developed by using genetic algorithm through which the selection of the nodes are done by genetic operators which include three operators of reproduction, exchange and mutation [8,9]. There are also a number of algorithms that use the tree method for load balancing which the most important idea of these methods is the use of hierarchical method [10,11]. Different form of linear programming formulation[ ] of the load balancing problem has been discussed along with greedy, randomized and approximation algorithm to produce sub-optimal solutions to the problem. Optimal load balancing strategy modeling using queuing theory also have been discussed [ ].



Notations and Assumptions:

N = Number of nodes
CM = Cluster Manager
Pi = Worker Node
Te = Estimation Period.
CPUIT = idle processor time in percentage of node i.
FRP=free RAM percentage of node i.
TRFINT = Traffic intensity at node i
MQL = Mean queue length.
Ts =Status exchange interval.
λi =inter process arrival time.
µi=Inter process service time.
ART= Average Response Time.
δ =stable level of a cluster.
¥ = Saturation level of a cluster.

The following assumptions are made in this paper:

The tasks arrive at node i according to Poisson rate λ. The task may be processed at that node or transferred to any other node of the network.
Each processor is modeled as an M/M/1 Markov chain, with the number of jobs queued up for processing at each processor representing the state of the system.
The jobs are assumed to be non preemptive and follow FCFS scheduling policy.
Job size is assumed to have a normal distribution with a given mean and variance. This job size includes both the program and data sizes.




Hierarchical Cluster Load Balancing Policy(HCLB):




System Model:

We consider a network consisting of N nodes whose connections can be described by an undirected connected graph G=(V,E) where V is the set of nodes and E is the set of arcs. The algorithm starts by building and maintaining a hierarchical cluster on top of the network overlay or the network graph. A heterogeneous environment is assumed. The individual nodes are processors having a single CPU and their own memory. Specific processors at different levels of hierarchy, designated as the cluster manager(CM), is responsible for managing the cluster workload. The cluster manager(CM) in charge of balancing process at level li receive load information from both the lower levels and li-1 clusters. The hierarchical load balancing procedure functions in an asynchronous manner. Local load balancing is invoked by a cluster manager whenever an imbalance is detected by that manager. Global balancing is achieved by ascending the tree and balancing loads between adjacent clusters at each level of the hierarchy. The tree structure decentralizes the load balancing process and minimize communication overhead and so it can be scaled to large systems.
Each node is responsible for :
maintaining its own workload information.
send this workload information to its cluster manager.
perform load balancing as decided by its cluster manager.
In addition to its basic functions a cluster manager(CM) is responsible for-
estimating workload information of each of the worker nodes.
decide when to start local load balancing.
sending load balancing decision to each of the worker nodes.
decide to initiate global load balancing.
In order to perform load balancing each worker node holds and maintains information about
itself in the cluster as its workload table. In particular, the table contains an entry for each parameter including its identity (ID), its load information status ,queue length, response time, node utilization U

Node id Status
interval Load Aggregate load Node Utilization NAVL Queue length
MQL Response Time Weight
Aggregate load is equal to load in case of worker node.









The load balancing process at different levels of the hierarchy starts on the receipt of load update messages from the lower levels. At each periodic time interval of time Te called the estimation interval, each processor Pi in the system calculates its load information parameters. This information is then sent to the cluster manager. The local load balancing strategy consists of the following stages:

Step 1: Work Load estimation of worker node:

At each periodic time interval of time Te called the estimation interval, each processor Pi in the system calculates its workload. CPU Utilization, Memory Utilization, Response Time and Traffic intensity of a node are considered as load information parameters to measure load of a node.
The workload estimation consists of the following steps:

For every worker node Pi of Cluster C and according to specific period Te called the estimation period do
1.1 To determine CPU and memory Utilization the metrics used is idle processor time and free RAM at time Te











1.2 To compute the Response Time at time Te:


















1.3 Traffic intensity of a node at time Te:














The worker node sent its load estimation LODi to the cluster manager CM at each status exchange interval Ts in the form of 3 tuple .

Step 2: Decision Making of the Cluster Manager:

In this step on receiving the workload information LODi from the worker nodes the cluster manager(CM) computes the average of the mean queue length MQLI and ART .
Then the NAVL value collected from each node is sorted in order to group the nodes into different classes based on their CPU and memory utilization. Using the value for Load(Pi) the nodes will be grouped into highly loaded, medium loaded, balanced or idle .
Now the cluster manager(CM) decides whether the cluster is in stable state or not. For this purpose it has to execute two steps:

Define Stable state of a cluster: A stability threshold δ is defined and the distance between the between Lavg(ART) and δ is calculated by using the following formula:

D(Lavg(ART),δ) = (δ-Lavg(ART))/δ
If D <0 then cluster is unstable.
Else It is stable.
Define Saturation state of the cluster: A cluster can be in a stable state while being saturated. If it is in saturated state intra cluster load balancing will not be useful since nodes of that cluster will remain overloaded. To measure saturation a saturation index ¥ is used.

¥ is defined as= ∏_(i=1 to n)▒〖Load(Pi)〗

If ¥ < 1% then cluster is saturated.






































Step 3: Intra-Cluster Load Balancing

In this step the CM decides whether the cluster is in stable state or not. It then checks the saturation index ¥ to check whether the cluster is in saturation state.
Then depending on the decision criteria’s the cluster is partitioned into overloaded, under loaded and balanced nodes.

















































Step 4: Intra Cluster Task Transfer

The HCLB policy maintains 2 priority queues at each cluster manager. For the overloaded set the queue is arranged in descending order of their ART and Load. For under loaded set the queue is arranged in ascending order of their ART and Load.

For each node Pi in the set O the excess load is calculated using the formula:
If MQLI>Lavg(MQL) then
Excessload(EL) = MQLI - Lavg(MQL)

CM assigns weight Ek to each node k in U according to the formula

Ek = MQLI - MQLk if MQLk = 0 otherwise

CM polls each node with a positive Ek to determine whether receiving a task by that node will place its MQL <=Lavg(MQL). A node k accepts a load transfer if Ek < 1/2 MQLk .

CM finds the portion of Pi’s excess load that is transferred to k by using the formula
Sk=(MQLI – MQLk).Ek/EL


To transfer tasks from the overloaded nodes to the underloaded nodes a selection policy is used which selects a task for transfer. A selection policy must consider several factors in selecting a task:

The overhead of transferring a task should be minimal. For all the processes in node Pi the cost of transferring a process is computed using the formula:

COSTj = COMMCOST + COMPCOST

Where COMMCOST = COMMSTARTUP + (PROCESS_SIZE)/BANDWIDTH

And COMPCOST = computation cost for Pi to compute a process.

COMMCOST = communication cost of transfer from node Pi to receiver node.

COMMSTARTUP =Communication start up needed for processor Pi to reach receiver.

PROCESS_SIZE = size of process

BANDWIDTH = data transmission rate of the channel between node Pi and receiver node.


The selection process must select a process j which satisfies the following criteria:


Min┬(0≤j≤n)⁡〖COST_J 〗

At this level communication cost are negligible as the worker nodes of same cluster are interconnected by LAN network whose communication cost is constant.

The selected task should make a limited number of location dependent system call as location dependent calls must be executed on the node where the task originated.









































Source Initiated Demand Driven:

Between status interval Ts(t) and Ts(t+1) a node Pi can be imbalanced again due to excess load .In this case Pi does the following:

Inform CM of the load imbalance by sending its load information as 3 tuple .
CM bids (polls) to find a receiver node k with MQLk CM calculates excess load of node Pi using the formula
Excessload(EL) = MQLI - Lavg(MQL)

A node k accepts the request only if Ek < 1/2 MQLk .
CM updates the workloads of the receiver k and source i.



Step 5: Inter Cluster Load Balancing

At this level load balancing is used if the cluster manager fails to balance its load among its associated worker nodes. A cluster is overloaded if the saturation threshold ¥ is less than 1%. In this case the cluster manager has to transfer tasks from its overloaded nodes to under loaded clusters. The HCLB guarantees that having reached a level i in the balancing hierarchy, all the nodes belonging to the level i+1 left sub tree and level i+1 right sub tree have equal loads.



Here we have to consider communication cost among clusters.

COMMCOST (Pi,j)= communication cost to transfer a process from originator to jth processor.
COMMCOST (Pi,j)= COMMSTARTUP + (PROCESS_SIZE)/(BANDWIDTH(i,j))

BANDWIDTH(i,j) = data transmission rate of the channel between node Pi and receiver node j.
COMMSTARTUP =Communication start up needed for processor Pi to reach receiver.

COMPCOST = computation cost for Pi to compute a process.

COST(Pi, j) = COMMCOST (Pi,j)+COMPCOST

The sum of communication cost and computation cost of a process must be less than or equal to the total cost of the process.ie
COST(Pi, j) ≤ COST(Pi)

COMPTIME = computational time for Pi to compute a process.
COMMTIME = communication time to transfer task from node Pi to receiver node.

COMMTIME +COMPTIME <=DEADLINE(Pi)












References

[1] El-Zoghdy S. F., Kameda H., and Li J. Comparison of dynamic vs. static load balancing policies in a
mainframe-personal computer network model. INFORMATION, 5(4):431–446, 2002.
[2] Kabalan K.Y., Smari W.W. and Hakimian J.Y. “Adaptive load Sharing in heterogeneous system:
Policies, Modifications and Simulation”. CiteSeerx, 2008.
[3] Lin H. C. and Raghavendra C.S. “A Dynamic Load Balancing Policy with a Central Job Dispatcher
(LBC)”. IEEE,1992
[04] Konstantinou, Ioannis; Tsoumakos, Dimitrios; Koziris, Necta/8532.rios, “Fast and Cost-Effective
Online Load-Balancing in Distributed Range-Queriable Systems” Parallel and Distributed Systems,
IEEE Transactions on Volume: 22, Issue: 8 (2011), Pages 1350 – 1364
[5] Ahmad I., Ghafoor A. and Mehrotra K. “Performance Prediction of Distributed Load Balancing on
Multicomputer Systems”. ACM, 830-839, 1991.
[6] Kameda H., Li J., Kim C., and Zhang Y. Optimal Load Balancing in Distributed Computer Systems.
Springer, Tokyo, 1997.
[7] Shirazi B. A., Hurson A. R., and Kavi K. M. Scheduling and load balancing in parallel and distributed
systems.IEEE Computer Society Press, Tokyo, 1995
[8] Junwei Caoa, P. Daniel Spoonerb, A. Stephen Jarvisb, R. Graham Nudd, “Grid load balancing using intelligent agents”, Future Generation Computer Systems, 135-149, 2005.
[9] K. Koyama, K. Shimizu, H. Ashihara, Y. Zhang, H. Kameda, “Performance evaluation of adaptive load balancing policies in distributed systems”, Proceedings of the Singapore International Conference on Networks/International Conference on Information Engineering, 606-611, 1993.
[10] Yagoubi, Slimani, “Task Load Balancing Strategy for Grid Computing”, Journal of Computer Science, 186-194, 2007.
[11] M. Mezmaz, N. Melab, E.G. Talbi, “An efficient load balancing strategy for grid-based branch and bound algorithm”, Parallel Computing, 302-313 , 2007.
[12] C. Xu, F. C. M. Lau, and R. Diekmann. Decentralized remapping of data parallel applications in distributed memory multiprocessors. Concurrency - Practice and Experience, 9(12):1351{1376, 1997}
[13] G. Cybenko. Dynamic load balancing for distributed memory multiprocessors. Journal of parallel and distributed computing, 7(2):279{301, 1989.




Return to 123HelpMe.com