Title: Analysis of Link Reversal Routing Algorithms
1Analysis of Link Reversal Routing Algorithms
Srikanta Tirthapura (Iowa State University)
and Costas Busch (Renssaeler Polytechnic
Institute)
2Wireless Ad Hoc and Sensor Networks
Node Failures
Nodes might go to sleep
Nodes might move
Underlying Communication Graph is Changing
3Algorithms for Wireless Ad Hoc and Sensor Networks
- Algorithms should be simple and distributed
- Self-stabilizing (or self-healing) in the face of
failures
4Research Goal
- Design Algorithms for which we can
- Prove convergence
- Analyze performance
- Predict behavior on large scale networks
- Complementary to evaluation through simulation
and experiments
5Link Reversal Algorithms
- Very simple
- Been around for 20 years
- Gafni-Bertsekas
- Full Reversal Algorithm
- Partial Reversal Algorithm
- Our ContributionFirst formal performance
analysis of link reversal
6Talk Outline
- Link Reversal Routing
- Previous Work Contributions
- Our Analysis
- Basic Properties of Link Reversal
- Full Reversal Algorithm
- Partial Reversal Algorithm
- Lower Bounds
- Conclusions
7Distributed 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
8Aim of Link Reversal
Connection graph of a wireless network
9Link Failure
node moves
10A bad state
A good state
Bad node no path to destination
Good node at least one path to destination
11Full Link Reversal Algorithm
sink
Sinks reverse all their links
reversals 7
time 5
12Partial Link Reversal Algorithm
sink
Sinks reverse some of their links
time 5
reversals 5
13Heights and Acyclicity
General height
higher
lower
Heights are ordered in lexicographic
order Observation Directed Graph is always
acyclic
14Full Link Reversal Algorithm
Node
Node ID
Real height
(breaks ties)
15Full Link Reversal Algorithm
sink
Sink
before reversal
after reversal
16Full Link Reversal Algorithm
17Partial Link Reversal Algorithm
Node
Node ID
memory
Real height
(breaks ties)
18Partial Link Reversal Algorithm
sink
Sink
before reversal
after reversal
19Partial Link Reversal Algorithm
20Deterministic Link Reversal Algorithms
Sink
before reversal
after reversal
Deterministic function
21Merits of Link Reversal
- Simple
- Distributed, Acyclic
- Self-stabilizes from a bad state to a good state
22Talk Outline
- Link Reversal Routing
- Previous Work Contributions
- Our Analysis
- Basic Properties of Link Reversal
- Full Reversal Algorithm
- Partial Reversal Algorithm
- Lower Bounds
- Conclusions
23Previous Work
Gafni and Bertsekas 1981
- Designed First Reversal Algorithms
- Proof of stability (eventual convergence)
Corson and Ephremides Wireless Net. Jour. 1995
- LMR Lightweight Mobile Routing Alg.
Park and Corson INFOCOM 1997
- TORA Temporally Ordered Routing Alg.
- - Variation of partial reversal
- - Deals with partitions
24Previous Work
Malpani, Welch and Vaidya. DIAL-M 2000
- Distributed Leader election based on TORA
- (partial) proof of stability
- Intanagonwiwat, Govindan, Estrin MOBICOM 00
- Directed Diffusion Sensor network routing
- Similar to the TORA algorithm
Experimental work and surveys
Broch et al. MOBICOM 1998 Samir et al. IC3N
1998 Perkins Ad Hoc Networking, Rajamaran
SIGACT news 2002
25Our Contribution
First formal performance analysis of link
reversal routing algorithms in terms of
reversals and time
26Metrics
reversals total number of node reversals till
stabilization (work)
Time number of parallel time steps till
stabilization
27The Good News
- The work and time taken depend only on the number
of nodes which have lost their paths to
destination - Algorithm is Local
28Further News
bad nodes
Full reversal algorithm
reversals and time
There are worst-cases with
Partial reversal algorithm
reversals and time
There are worst-cases with
depends on the network state
29More News Lower Bound
bad nodes
Any deterministic algorithm
There are states such that
reversals and time
Full reversal alg. is worst-case optimal Partial
reversal alg. is not
30Talk Outline
- Link Reversal Routing
- Previous Work Contributions
- Our Analysis
- Basic Properties of Link Reversal
- Full Reversal Algorithm
- Partial Reversal Algorithm
- Lower Bounds
- Conclusions
31Definitions
dest.
Good nodes
Bad nodes
Bad state
32Resulting Good state
dest.
33Good Nodes Never Reverse
dest.
Good nodes
Proof by a simple induction on distance from dest.
34Many possible reversal schedules
A
B
C
35Schedule 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
36Talk Outline
- Link Reversal Routing
- Previous Work Contributions
- Our Analysis
- Basic Properties of Link Reversal
- Full Reversal Algorithm
- Partial Reversal Algorithm
- Lower Bounds
- Conclusions
37Bad state
dest.
Good nodes
Bad nodes
38Layers of bad nodes
dest.
Good nodes
Bad nodes
39Layers of bad nodes
dest.
A layer
40dest.
41r
r
dest.
r
42r
r
dest.
r
r
r
43r
r
dest.
r
r
r
r
r
r
44At the end of execution
- All nodes of layer become good nodes
- The remaining bad nodes return to the
- same state as before the execution
r
r
r
r
r
dest.
r
r
r
r
r
r
r
45At the end of execution
- All nodes of layer become good nodes
- The remaining bad nodes return to the
- same state as before the execution
dest.
46There is an execution such that
Every (remaining) bad node reverses exactly once
dest.
47At the end of execution
- All nodes of layer become good nodes
- The remaining bad nodes return to the
- same state as before the execution
dest.
48At the end of execution
- All nodes of layer become good nodes
- The remaining bad nodes return to the
- same state as before the execution
dest.
49At the end of execution
All nodes of layer become good nodes
dest.
50At the end of execution
All nodes of layer become good nodes
dest.
51dest.
Reversals per node
52dest.
Reversals per node
End of execution
53dest.
Reversals per node
End of execution
54dest.
Reversals per node
End of execution
55dest.
Reversals per node
End of execution
56dest.
Reversals per node
Each node in layer reverses times
57dest.
Reversals per node
Nodes per layer
reversals
58dest.
For bad nodes, trivial upper bound
(reversals and time)
reversals
59 reversals bound is tight
dest.
Reversals per node
reversals
60 time bound is tight
nodes
dest.
reversals in layer
Time needed
None of these reversals are performed in
parallel
61Complete 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
62Talk Outline
- Link Reversal Routing
- Previous Work Contributions
- Our Analysis
- Basic Properties of Link Reversal
- Full Reversal Algorithm
- Partial Reversal Algorithm
- Lower Bounds
- Conclusions
63Partial Link Reversal Algorithm
sink
Sink
before reversal
after reversal
64Bad state
dest.
Good nodes
Bad nodes
65Layers of bad nodes
dest.
Good nodes
Bad nodes
Nodes at layer are at distance from
good nodes
66Layers of bad nodes
dest.
alpha value
Max alpha
Min alpha
67when the network reaches a good state
dest.
upper bound on alpha value
68when the network reaches a good state
dest.
upper bound on reversals
Reason Each partial reversal increases alpha
value by at least 1.
69when the network reaches a good state
dest.
a bad node reverses at most times
For bad nodes
reversals and time
70 reversals bound is
tight
dest.
Reversals per node
reversals
71 time bound is tight
dest.
reversals in layer
nodes
Time needed
None of these reversals are performed in
parallel
72Lower 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
73Layers of bad nodes
dest.
Good nodes
Bad nodes
Nodes at layer are at distance from
good nodes
74Lower Bound on reversals on worst case graphs
dest.
Reversals per node
reversals
75Lower Bound on time
dest.
reversals in layer
nodes
Time needed
None of these reversals are performed in
parallel
76Conclusions
- 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
77Open 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/