Load Balanced Short Path Routing in Wireless Networks Jie Gao, Stanford University Li Zhang, Hewlett-Packard Labs Aravind Ranganathan University of Cincinnati February 22, 2007
Motivation Routing in wireless networks - ad-hoc, sensor, mesh networks Multi-hop communication Energy constrained nodes Shortest Path Routing Minimizes Latency Energy needed to transmit a packet depends on path length Good for overall energy efficiency Heavily loads nodes on the shortest path Holes, disconnections in the network Ideally, minimize both - latency and the maximum load
Motivation Routing in wireless networks - ad-hoc, sensor, mesh networks Multi-hop communication Energy constrained nodes Shortest Path Routing Minimizes Latency Energy needed to transmit a packet depends on path length Good for overall energy efficiency Heavily loads nodes on the shortest path Holes, disconnections in the network Ideally, minimize both - latency and the maximum load
Motivation Routing in wireless networks - ad-hoc, sensor, mesh networks Multi-hop communication Energy constrained nodes Shortest Path Routing Minimizes Latency Energy needed to transmit a packet depends on path length Good for overall energy efficiency Heavily loads nodes on the shortest path Holes, disconnections in the network Ideally, minimize both - latency and the maximum load
Motivation Routing in wireless networks - ad-hoc, sensor, mesh networks Multi-hop communication Energy constrained nodes Shortest Path Routing Minimizes Latency Energy needed to transmit a packet depends on path length Good for overall energy efficiency Heavily loads nodes on the shortest path Holes, disconnections in the network Ideally, minimize both - latency and the maximum load
Short Path Routing v.s. Load Balanced Routing Short Path Routing and Load Balanced Routing are contradictory to each other Example: Any short path from p to q has to pass o.
Contributions Contributions: Routing algorithm in a narrow strip of width utmost 3/2 Near optimum: stretch factor: 4, load balancing ratio: 3 Distributed and local Why narrow strip? Practical model for vehicles on highway, people on street Solvable!! Outline Load balanced routing on a line Load balanced routing on a narrow strip
Contributions Contributions: Routing algorithm in a narrow strip of width utmost 3/2 Near optimum: stretch factor: 4, load balancing ratio: 3 Distributed and local Why narrow strip? Practical model for vehicles on highway, people on street Solvable!! Outline Load balanced routing on a line Load balanced routing on a narrow strip
Contributions Contributions: Routing algorithm in a narrow strip of width utmost 3/2 Near optimum: stretch factor: 4, load balancing ratio: 3 Distributed and local Why narrow strip? Practical model for vehicles on highway, people on street Solvable!! Outline Load balanced routing on a line Load balanced routing on a narrow strip
Stretch Factor Unit disk graph U(S) = (S, E) Length of a path P = number of hops = P Shortest path between p and q is d(p, q), where, p, q S Stretch factor: s(p) = P /d(p, q) If s(p) α, then P is called α-short Routing request, r = (s, t, l r ) = (source, dest, pkt size) Path P r routes the request r between s and t Set of requests R, if π = {P r r R}, Path set π satisfies R s(π) = maximum stretch factor of paths in π π is called α-short if, every path in P is α-short.
Stretch Factor Unit disk graph U(S) = (S, E) Length of a path P = number of hops = P Shortest path between p and q is d(p, q), where, p, q S Stretch factor: s(p) = P /d(p, q) If s(p) α, then P is called α-short Routing request, r = (s, t, l r ) = (source, dest, pkt size) Path P r routes the request r between s and t Set of requests R, if π = {P r r R}, Path set π satisfies R s(π) = maximum stretch factor of paths in π π is called α-short if, every path in P is α-short.
Stretch Factor Unit disk graph U(S) = (S, E) Length of a path P = number of hops = P Shortest path between p and q is d(p, q), where, p, q S Stretch factor: s(p) = P /d(p, q) If s(p) α, then P is called α-short Routing request, r = (s, t, l r ) = (source, dest, pkt size) Path P r routes the request r between s and t Set of requests R, if π = {P r r R}, Path set π satisfies R s(π) = maximum stretch factor of paths in π π is called α-short if, every path in P is α-short.
Load Balancing Ratio For set of requests R satisfied by π, load on vertex v l(v) = r v P r l r Maximum load: l(π) = max v S l(v) Load of optimal balanced routing: l (R) = min π l(π) Load balancing ratio = l(π)/l (R) Algorithm is β-balanced, if load balancing ratio is utmost β Goal is to design wireless routing algorithms with: Small stretch factor, Small load-balancing ratio
Load Balancing Ratio For set of requests R satisfied by π, load on vertex v l(v) = r v P r l r Maximum load: l(π) = max v S l(v) Load of optimal balanced routing: l (R) = min π l(π) Load balancing ratio = l(π)/l (R) Algorithm is β-balanced, if load balancing ratio is utmost β Goal is to design wireless routing algorithms with: Small stretch factor, Small load-balancing ratio
Load Balancing Ratio For set of requests R satisfied by π, load on vertex v l(v) = r v P r l r Maximum load: l(π) = max v S l(v) Load of optimal balanced routing: l (R) = min π l(π) Load balancing ratio = l(π)/l (R) Algorithm is β-balanced, if load balancing ratio is utmost β Goal is to design wireless routing algorithms with: Small stretch factor, Small load-balancing ratio
Load balanced Routing on a line Consider simple case when Nodes are placed on a line Direction of routing known Case 1: All requests have unit packet size 2-short, 2-balanced algorithm Case 2: Requests have variable packet size Previous algorithm fails 2-short, 3-balanced algorithm Problem is still NP-Hard
Hardness of the problem Packets: x i y i of size l i Each node chooses either z 1 or z 2 to relay the packet Optimal load balancing achieved when packets distributed evenly over z 1, z 2 NP-hard: Variant of Subset Sum Problem In a given set of integers, does any subset sum to exactly half of the total sum?
Minimizing both Stretch Factor and LB Ratio Packets: x i y i Shortest path passes node z But, can evenly divide packets (as shown) Impossible to minimize both the stretch factor and LB ratio.
Requests with unit packet size - GREEDY1 Nodes on a line, x p is the coordinate of node p Communication range (visibility) of node p: V (p) = [x p 1, x p +1], V l (p) = [x p 1, x p ), V r (p) = (x p, x p +1] A route request r adds 1 to load l(v), v P r GREEDY1: Loads for node p: l(p), l l (p), l r (p) If destination reachable from p, forward to destination Else, forward to node j, farthest in V r (p), such that l(j) < l r (p)
Requests with unit packet size - GREEDY1 Nodes on a line, x p is the coordinate of node p Communication range (visibility) of node p: V (p) = [x p 1, x p +1], V l (p) = [x p 1, x p ), V r (p) = (x p, x p +1] A route request r adds 1 to load l(v), v P r GREEDY1: Loads for node p: l(p), l l (p), l r (p) If destination reachable from p, forward to destination Else, forward to node j, farthest in V r (p), such that l(j) < l r (p)
Requests with unit packet size - GREEDY1 GREEDY1: Send the packet to the furthest node in the communication range whose load is NOT the maximum. Claim: For 4 adjacent nodes a, b, c, d along the routing path, d is not visible to a. Since, l(c) < l(d) l r (a), node a must forward to node c
Requests with unit packet size - GREEDY2 GREEDY2: Add one look-ahead to GREEDY1 a finds next hop b by GREEDY1, asks b to find next hop c If c is visible to a, it shortcuts b. Else, sends to b GREEDY2 is 2-short Any non-adjacent nodes a and b are not visible to each other Any unit interval has at least one node in shortest path routing, utmost two nodes in GREEDY2
Requests with unit packet size - GREEDY2 GREEDY2: Add one look-ahead to GREEDY1 a finds next hop b by GREEDY1, asks b to find next hop c If c is visible to a, it shortcuts b. Else, sends to b GREEDY2 is 2-short Any non-adjacent nodes a and b are not visible to each other Any unit interval has at least one node in shortest path routing, utmost two nodes in GREEDY2
Requests with unit packet size - GREEDY2 GREEDY2 is 2-balanced Suppose after k sends packet to i, i has the max load l(i) = l(π) = l(greedy 2) The immediate right neighbor j of i is NOT visible to k All m nodes in V l (j) of j, except i, has load exactly l(i) 1. Total load in V l (j) = (m 1)(l(i) 1) + l(i) GREEDY2 uses utmost 2 nodes in V l (j) No. requests through V l (j) (m.l(i) m + 1)/2 l(opt ) (ml(i) m + 1)/(2m) l(greedy 2) 2l(OPT ) + 1
Requests with variable packet size GREEDY2 cannot guarantee good load balancing ratio 3n nodes distributed on a line n requests: First request is r n = (x n, z n, 1),, Next n 1 requests are r i = (x i, z i, 2), i = 1... n 1 Optimum load balanced routing algorithm routes r i though y i, maximum load = 2 GREEDY2 routes requests alternatively on y n and y n 1 Maximum load by GREEDY2 is (n 1)/2 x2 + 1 Load balancing ratio of GREEDY2 in this case is Ω(n)
Requests with variable packet size GREEDY2 cannot guarantee good load balancing ratio 3n nodes distributed on a line n requests: First request is r n = (x n, z n, 1),, Next n 1 requests are r i = (x i, z i, 2), i = 1... n 1 Optimum load balanced routing algorithm routes r i though y i, maximum load = 2 GREEDY2 routes requests alternatively on y n and y n 1 Maximum load by GREEDY2 is (n 1)/2 x2 + 1 Load balancing ratio of GREEDY2 in this case is Ω(n)
Requests with variable packet size - GREEDY3 For each d S, a pair of nodes b, c form a bridge over d if: b V l (d), c V r (d), b and c are visible to each other The load of a bridge L(bc) is defined as max(l(b), l(c)) GREEDY3: If destination is not reachable by a, it asks furthest node d Uses the lightest bridge φ(d) = bc to route the request Node c makes the next routing decision Add look-ahead to shortcut the path if two non-adjacent nodes can see each other in the path
Requests with variable packet size - GREEDY3 For each d S, a pair of nodes b, c form a bridge over d if: b V l (d), c V r (d), b and c are visible to each other The load of a bridge L(bc) is defined as max(l(b), l(c)) GREEDY3: If destination is not reachable by a, it asks furthest node d Uses the lightest bridge φ(d) = bc to route the request Node c makes the next routing decision Add look-ahead to shortcut the path if two non-adjacent nodes can see each other in the path
GREEDY3 - Stretch Factor Stretch factor of GREEDY3 is 2 Clearly, a cannot see the node c For any four adjacent nodes x, y, z, w on the path produced by GREEDY3: x and w are separated by a bridge Because of look ahead, any two non-adjacent nodes on the path, must be at least distance one apart Hence, stretch factor of 2
GREEDY3 - LB Ratio GREEDY3 is 3-balanced, i.e., l(π) 3l (R) (Proof by Induction) Let l(π i 1 ) 3OPT i 1. Show l(π i ) 3OPT i by contradiction Let i th packet (size l i ), through bridge bc over d, violate condition. L(bc) > 3OPT i l i Note: A node u is heavy if its load is the load of a bridge uv Total load on m heavy nodes in V (d) m.l(bc) GREEDY3 uses utmost 2 heavy nodes Size of requests through d m.l(bc)/2 OPT i algorithm uses at least 1 heavy node distributes m.l(bc)/2 over m nodes OPT i 1 L(bc) 2 OPT i 1 L(bc) 2 > (3OPT i l i ) 2 > OPT i, contradiction.
Load balanced Routing on a narrow strip Inside narrow strip with width 3/2, there is a rough linear order of the nodes For any three nodes u, v, w from left to right, if u, w are visible, then one of them is visible to v So, routing direction is obvious Question: to achieve load balancing, which node to route to?
Load balanced Routing on a narrow strip - GREEDY4 GREEDY4: p routes through the lightest bridge bc GREEDY4 guarantees delivery - cannot be stuck at p GREEDY4 has a stretch factor of 4 and load balancing factor of 3
Routing in a wide strip For routing in a strip with width more than 3/2, any routing algorithm with only local information does NOT have bounded load balancing ratio. With only local information, s doesnt know which one of P 1, P 2 is more heavily loaded.
Simulation under random traffic 1000 random nodes in [0, 100], communication radius: 5 Maximum load in GREEDY3 v.s. Shortest path routing 5
Simulation under random traffic 1000 random nodes in [0, 100], communication radius: [1, 10] Worst and average stretch factors of GREEDY3 Little sacrifice on the stretch factor, huge gain on load balancing
Limited energy, random traffic 1000 random nodes in [0, 100], energy per node: [0, 90]. Number of packets delivered in GREEDY3 v.s. Shortest path routing, before the first node dies.
References Load Balanced Short Path Routing in Wireless Networks Jie Gao and Li Zhang IEEE Transactions on Parallel and Distributed Systems, Special Issue on Localized Communication, vol. 17, no. 4, 377-388, April, 2006.