Analysis of Link Reversal Routing Algorithms
-
Upload
kelsey-lamb -
Category
Documents
-
view
39 -
download
2
description
Transcript of Analysis of Link Reversal Routing Algorithms
1
Analysis of Link Reversal Routing Algorithms
Srikanta Tirthapura (Iowa State University)
andCostas Busch
(Renssaeler Polytechnic Institute)
2
Wireless Ad Hoc and Sensor Networks
Nodes mightmove
Nodes mightgo to sleep
Node Failures
Underlying Communication Graph is Changing
3
Algorithms for Wireless Ad Hoc and Sensor Networks
• Algorithms should be simple and distributed
• Self-stabilizing (or self-healing) in the face of failures
4
Research Goal
• Design Algorithms for which we can – Prove convergence– Analyze performance– Predict behavior on large scale networks
• Complementary to evaluation through simulation and experiments
5
Link Reversal Algorithms
• Very simple• Been around for 20 years
• Gafni-Bertsekas– Full Reversal Algorithm– Partial Reversal Algorithm
• Our Contribution:First formal performance analysis of link reversal
6
• Link Reversal Routing
• Previous Work & Contributions
• Our Analysis• Basic Properties of Link Reversal• Full Reversal Algorithm• Partial Reversal Algorithm• Lower Bounds
•Conclusions
Talk Outline
7
Distributed Dynamic Graph Problem
• Communication Graph:– Vertices = Computers (perhaps mobile)– Edges = Wireless communication links
• Task: Maintain a distributed structure on this graph– Routing– Leader Election
• Issues:– Deal with node and link failures– Acyclicity
8
Connection graphof a wireless network
Destination oriented,directed acyclic graph
Destination
Aim of Link Reversal
10
Bad node: no path to destination
Good node: at least one path to destination
A bad state A good state
11
sink
Full Link Reversal Algorithm
sink
sinksink
sink
sinksink
Sinks reverse all their links#reversals = 7 time = 5
12
sink
Partial Link Reversal Algorithm
sink
sink
sink
sink
Sinks reverse some of their links#reversals = 5 time = 5
13
)3,4,5(
Heights and Acyclicity
),,,( 21 naaa
)7,9,4(
General height:
higher lower
Heights are ordered in lexicographic order
Observation: Directed Graph is always acyclic
14
)1,4()2,3(
)3,2(
)4,5()5,2(
)6,1(
)Dest,0(
Full Link Reversal Algorithm
),( iaiNode :i
Node IDReal height (breaks ties)
15
)Dest,0(
Full Link Reversal Algorithm
),( iai
Sink :i
)Dest,0(
before reversal after reversal),( iai
1)}(:max{ iNjaa ji
)1,4()2,3(
)3,2(
)4,5()5,2(
)6,1(
)1,4()2,3(
)3,2(
)4,5()5,2(
)6,3(sink
16
)Dest,0( )Dest,0( )Dest,0(
)Dest,0( )Dest,0(
Full Link Reversal Algorithm)1,4(
)2,3(
)3,2(
)4,5()5,2(
)6,1(
)1,4()2,3(
)3,2(
)4,5()5,2(
)6,3(
)1,4()2,3(
)3,4(
)4,5()5,6(
)6,3(
)1,4()2,7(
)3,4(
)4,5()5,6(
)6,7(
)1,8()2,7(
)3,8(
)4,5()5,6(
)6,7(
17
Partial Link Reversal Algorithm
),,( iba iiNode :i
Node IDRealheight (breaks ties)
)1,4,0()2,3,0(
)3,2,0(
)4,5,0()5,2,0(
)6,1,0(
)Dest,0,0(
memory
18
Partial Link Reversal Algorithm
),,( iba ii
Sink :i
before reversal after reversal
),,( iba ii
1)}(:min{ iNjaa ji
)1,4,0()2,3,0(
)3,2,0(
)4,5,0()5,2,0(
)6,1,0(
)Dest,0,0(
)1,4,0()2,3,0(
)3,2,0(
)4,5,0()5,2,0(
)6,1,1(
)Dest,0,0(
1}and)(:min{ jiji baiNjbb
sink
19
)1,4,0()2,3,0(
)3,2,0(
)4,5,0()5,2,0(
)6,1,0(
)Dest,0,0(
)1,4,0()2,3,0(
)3,2,0(
)4,5,0()5,2,0(
)6,1,1(
)Dest,0,0(
)1,4,0()2,3,0(
)3,0,1(
)4,5,0()5,0,1(
)6,1,1(
)Dest,0,0(
)1,4,0()2,1,1(
)3,0,1(
)4,5,0()5,0,1(
)6,1,1(
)Dest,0,0(
)1,2,1( )2,1,1( )3,0,1(
)4,5,0()5,0,1(
)6,1,1(
)Dest,0,0(
Partial Link Reversal Algorithm
20
Deterministic Link Reversal Algorithms
h1h
2h
3h
4h5h
h
Sink :i
before reversal after reversal
h1h
2h
3h
4h5h
),,,,( 21 khhhhgh
Deterministic function
21
Merits of Link Reversal
• Simple
• Distributed, Acyclic
• Self-stabilizes from a bad state to a good state
22
Talk Outline
• Link Reversal Routing
• Previous Work & Contributions
• Our Analysis• Basic Properties of Link Reversal• Full Reversal Algorithm• Partial Reversal Algorithm• Lower Bounds
•Conclusions
23
Previous Work
Gafni and Bertsekas: 1981
•Designed First Reversal Algorithms•Proof of stability (eventual convergence)
Park and Corson: INFOCOM 1997
•TORA – Temporally Ordered Routing Alg. - Variation of partial reversal
- Deals with partitions
Corson and Ephremides: Wireless Net. Jour. 1995
•LMR – Lightweight Mobile Routing Alg.
24
Previous WorkMalpani, Welch and Vaidya.: DIAL-M 2000
• Distributed Leader election based on TORA•(partial) proof of stability
Experimental work and surveys:
Broch et al.: MOBICOM 1998
Samir et al.: IC3N 1998
Perkins: “Ad Hoc Networking”,
Rajamaran: SIGACT news 2002
Intanagonwiwat, Govindan, Estrin: MOBICOM 00
• “Directed Diffusion” – Sensor network routing• Similar to the TORA algorithm
25
Our Contribution
First formal performance analysisof link reversal routing algorithmsin terms of #reversals and time
26
# reversals: total number of node reversalstill stabilization (work)
Time: number of parallel time steps till stabilization
Metrics
27
The Good News
• The work and time taken depend only on the number of nodes which have lost their paths to destination
• Algorithm is Local
28
Further News
Full reversal algorithm:
#reversals and time: )( 2nO
n “bad” nodes
There are worst-cases with: )( 2n
Partial reversal algorithm:)( 2nanO
#reversals and time: There are worst-cases with: )( 2nan
a depends on the network state
29
More News – Lower Bound
Any deterministic algorithm:
#reversals and time:
n bad nodes
)( 2nThere are states such that
Full reversal alg. is worst-case optimal
Partial reversal alg. is not
)( 2nO
)( 2nan
30
Talk Outline
• Link Reversal Routing
• Previous Work & Contributions
• Our Analysis• Basic Properties of Link Reversal• Full Reversal Algorithm• Partial Reversal Algorithm• Lower Bounds
•Conclusions
35
Schedule of Reversals is NOT important
• Lemma:
For all executions of any deterministic reversal algorithm starting from the same initial state
– # of reversals is the same– Final state is the same
• For upper bounds and lower bounds, we can choose a “convenient” execution schedule
36
Talk Outline
• Link Reversal Routing
• Previous Work & Contributions
• Our Analysis• Basic Properties of Link Reversal• Full Reversal Algorithm• Partial Reversal Algorithm• Lower Bounds
•Conclusions
40
1L 2L 3L 4L
There is an execution segment such that:Every bad node reverses exactly once
1E
dest.
41
dest.
1L 2L 3L 4Lr
r
r
There is an execution segment such that:Every bad node reverses exactly once
1E
42
dest.
1L 2L 3L 4Lr
r
r
r
r
There is an execution segment such that:Every bad node reverses exactly once
1E
43
dest.
1L 2L 3L 4Lr
r
r
r
r
r
r
r
There is an execution segment such that:Every bad node reverses exactly once
1E
44
dest.
1L 2L 3L 4L
•The remaining bad nodes return to the same state as before the execution
At the end of execution :•All nodes of layer become good nodes 1L
r
r
r
r
r
r
r
r
r
r
r
r
1E
45
dest.
2L 3L 4L
At the end of execution :1E
•The remaining bad nodes return to the same state as before the execution
•All nodes of layer become good nodes 1L
46
dest.
2L 3L 4L
There is an execution such that:
Every (remaining) bad node reverses exactly once
2E
47
dest.
2L 3L 4L
At the end of execution :2E
•The remaining bad nodes return to the same state as before the execution
•All nodes of layer become good nodes 2L
48
dest.
3L 4L
At the end of execution :2E
•The remaining bad nodes return to the same state as before the execution
•All nodes of layer become good nodes 2L
57
Reversals per node:1 2 3 m
Nodes per layer: 1n 2n 3n mn
#reversals: 11 n 22 n 33 n mnm
1L 2L 3L mL
dest.
58
For bad nodes, trivial upper bound: n )( 2nO
#reversals: 11 n 22 n 33 n mnm
(#reversals and time)
1L 2L 3L mL
dest.
nn
59
#reversals bound is tight
1L 2L 3L nL
dest.
Reversals per node:
1 2 3 n
#reversals: )(321 2nn
)( 2nO
60
None of these reversals are performed in parallel
time bound is tight
1L 2L 12/ nLdest.
)( 2nO2/nL
12n#nodes =
#reversals in layer :2/nL
)(122
2nnn
)( 2nTime needed
61
Complete Solution to Full Reversal
• Given any initial state of the Full Reversal algorithm, our analysis canpredict
– the number of reversals of each node exactly
– the time taken to convergence
62
Talk Outline
• Link Reversal Routing
• Previous Work & Contributions
• Our Analysis• Basic Properties of Link Reversal• Full Reversal Algorithm• Partial Reversal Algorithm• Lower Bounds
•Conclusions
63
Partial Link Reversal Algorithm
),,( iba ii
Sink :i
before reversal after reversal
),,( iba ii
1)}(:min{ iNjaa ji
)1,4,0()2,3,0(
)3,2,0(
)4,5,0()5,2,0(
)6,1,0(
)Dest,0,0(
)1,4,0()2,3,0(
)3,2,0(
)4,5,0()5,2,0(
)6,1,1(
)Dest,0,0(
1}and)(:min{ jiji baiNjbb
sink
65
Layers of bad nodes
dest.
Good nodes Bad nodes
1L 2L 3L 4L 5L
Nodes at layer are at distance from good nodes
iLi
66
Layers of bad nodes
1L 2L 3L mL
dest.
),,( iba ii ),,( max iba i ),,( min iba i
alpha value Max alpha Min alpha
67
when the network reaches a good state:
upper bound on alpha value
1L 2L 3L mL
dest.
1max a 2 3
maxa
m
68
when the network reaches a good state:
upper bound on #reversals
1L 2L 3L mL
dest.
1a 2 3 m
minmax aaa
maxa mina mina
Reason: Each partial reversal increases alpha value by at least 1.
69
when the network reaches a good state:
1L 2L 3L mL
dest.
1a 2 3
maxa
m
For bad nodes: n a bad node reverses atmost timesna
mina mina
#reversals and time: )( 2nanO
70
#reversals bound is tight
1L 2L 3L nL
dest.
Reversals per node: 2
12
a
22
23
2n
#reversals: )( 2nan
)( 2nanO
71
None of these reversals are performed in parallel
time bound is tight
1L 2L 12/ nLdest.
2/nL
2n
#nodes =
#reversals in layer :2/nL
)( 2nan
)( 2nan Time needed
)( 2nanO
12/ nL
222
na
n
72
Lower Bound for any Deterministic Algorithm
• For any deterministic reversal algorithm, there is an initial assignment of heights such that:
Nodes at a distance of d from a good node have to reverse d times
73
Layers of bad nodes
dest.
Good nodes Bad nodes
1L 2L 3L 4L 5L
Nodes at layer are at distance from good nodes
iLi
74
1L 2L 3L nL
dest.
Reversals per node:
0 1 2 1n
#reversals: )(321 2nn
Lower Bound on #reversals on worst case graphs
75
None of these reversals are performed in parallel
1L 2L 12/ nLdest.
2/nL
2n
#nodes =
#reversals in layer :2/nL
)( 2n
)( 2nTime needed
12/ nL
122nn
Lower Bound on time
76
Conclusions
• We gave the first formal performance analysis of deterministic link reversal algorithms
• Worst case performance-wise– Full Link Reversal is optimal (surprisingly)– Partial Link Reversal is not
• Good News: The time and work to stabilization depend only on the number of bad nodes
• Bad News: There is an inherent lower bound on efficiency of link reversal algorithms
77
Open Problems
• Improve worst-case performance of partial link reversal algorithm
• Analyze randomized algorithms
• Analyze average-case performance
A Preliminary version of this work appeared in SPAA 2003 (Symposium on Parallelism in Algorithms and Architectures)Full version available at: http://www.eng.iastate.edu/~snt/