Date post: | 03-Jan-2016 |
Category: |
Documents |
Upload: | sydney-munoz |
View: | 54 times |
Download: | 0 times |
A Node-Centric Load Balancing Algorithm for Wireless Sensor Networks
Hui Dai, Richar HanDepartment of Computer ScienceUniversity of Colorado at Boulder
IEEE GLOBECOMWireless Communications 2003
Outline
Introduction LOAD BALANCING IN SENSOR NETWORKS Load Balancing Metric Algorithms Simulation and Performance Evaluation Conclusion
Introduction
Wireless sensor networks
By spreading the workload across the sensor network, load balancing averages the energy consumption.
Load balancing extends the expected lifespan of the whole sensor network by extending the time until the first node is out of energy.
Load balancing is also useful for reducing congestion hot spots, thereby reducing wireless collisions.
Feature of this paper
This paper focus on WSNs with an asymmetric architecture, i.e. a powerful base station collects data through a multi-hop routing framework of distributed wireless sensor nodes.
In this paper, it also assumes the common case of static sensor networks in which the position of the sensor nodes are fixed.
The algorithm of this paper presents a complete solution that forms the initial tree, and rebalances this tree using topological knowledge rather than random selection.
LOAD BALANCING IN SENSOR NETWORKS
The Drawback of Shortest Path First
Tree Topology
LOAD BALANCING IN SENSOR NETWORKS
A node-centric load balancing strategy considers the cumulative load of data traffic from child nodes in a routing tree on their parent nodes.
The load of child sensor nodes adds to the load of each up stream parent in the tree. Hence, the sensor nodes nearest the base station will be the most heavily loaded.
The goal of node-centric load balancing is to evenly distribute packet traffic generated by sensor nodes across the different branches of the routing tree.
The Drawback of Shortest Path First
The shortest path routing algorithm selecting the shortest path doesn't account for the effect of load aggregation on upstream links.
A shortest path routing algorithm executed on a sensor grid rooted in a base station doesn't guarantee that the resulting shortest path tree is load balanced.
Unbalanced shortest path tree vs. Top-level Balanced tree
The Top Balanced , Hierarchy Balanced , and Fully Balanced tree topology
level : the distance from the node to the base station.
Fully Balanced tree is a in which the branches on the same level carry the same amount of load.
Top-level Balanced tree is such that each branch at top level closest to the base station carries the same amount of load.
Both Fully Balanced trees and Top-level Balanced trees are extreme cases of Hierarchy Balanced trees.
The Top Balanced , Hierarchy Balanced , and Fully Balanced tree topology (cont.)
Load Balancing Metric
Chebyshev Sum Inequality
Fairness Index
Chebyshev Sum Inequality
for all a CN, b CN
a = {a1 , a2 , a3 , … , an } b = { b1 , b2 , b3 , … , bn }
if
a1 ≧ a2 ≧ a3 ≧ … ≧ an b1 ≧ b2 ≧ b3 ≧ … ≧ bn
then
Chebyshev Sum Inequality (cont.)
Since
let a = b = w , we can derive :
or
Algorithms
Basic Algorithm
Adjustment Algorithm
Variables Definition
T : the current tree B[i] : the array of branches B : the selected branch N[] : lists of the border nodes for each branch M : the set of unmarked nodes
growth space : a measure of the freedom to grow the tree towards this node The growth space of a node is the sum of the number of unmarked neighbors of all
the node’s unmarked neighbors minus common links.
Number of unmarked neighbors and growth spaces of each node
The growth space of z equals 3 + 3 – 2 (common links) = 4
Basic Algorithm
M ( Allnodes;
while(M is not empty) do
step 0: Select the lightest most restricted branch
B = B[0]
for each B[i] do
if (Weight(B) 6= Weight(B[i]))
/* select lightest branch */
B lighter (B[i],B);
else
/* if same load, select most restricted branch */
B minFreedom (B[i],B);
↓ ↓ ↓
Figure for explaining the Algorithm
Basic Algorithm (cont.)
step 1: Select the heaviest border node with most growth spacen0 = n0 N, N is B´s border node listfor each ni N if Weight(n´) 6= Weight(ni)
/* Select heaviest border node */n0 heavier(n0, ni);
else/* Select border node with max growth space */n0 maxFreedom(n0, ni);
step 2: graft node and update metricsT = T + {n0} N = N − {n0} M = M − {n0};for each unmarked border node i of n0 N = N + {i};
done
The time complexity of this algorithm
With appropriate data structures supported, the time complexity could be :
O(nlog4n + nlog3n + n)= O(nlogn)
Hence, the time complexity of this algorithm is better than Dijkstra algorithm.
Adjustment Algorithm
Avr − the average number of the nodes on a brunchB − Heaviest Brunch that has maximum neighbors
While (Not meet the stop criteria) doif Weight(B) is bigger than average δ = |B| − Avr;
if there is node m that has load close to Push m to B0s unmarked neighborelse
connect all leaf nodes to neighboring branches that can improve the balance factorif Weight(B) is smaller than average Pull the leave nodes from the neighborB = the next connected unmarked neighbor
Example : 4 x 4 grid (0)
Example : 4 x 4 grid (1)
Example : 4 x 4 grid (2)
Example : 4 x 4 grid (3)
Example : 4 x 4 grid (4)
Example : 4 x 4 grid (5)
Example : 4 x 4 grid (6)
Example : 4 x 4 grid (7)
Example : 4 x 4 grid (8)
Example : 4 x 4 grid (9)
Example : 4 x 4 grid (10)
Example : 4 x 4 grid (11)
Simulation and Performance Evaluation
Average Performance Comparison
Worst Performance Comparison
Average Performance Comparison in uneven sensor network
Worst Performance Comparison in uneven sensor network
Performance Comparison between the Random adjustment and spiral adjustment
Conclusion
Key contributions of this paper
Key contributions of this paper
First, it identify the importance of the node-centric approach.
Second, it formulate a node-centric load-balancing problem that helps construct the routing and monitoring structures for an asymmetric sensor network.
Third, it present the construction algorithms for load balancing.
The End
Thanks for your listening !