analysis of link reversal routing algorithms

77
1 Analysis of Link Reversal Routing Algorithms Srikanta Tirthapura (Iowa State University) and Costas Busch (Renssaeler Polytechnic Institute)

Upload: kelsey-lamb

Post on 01-Jan-2016

35 views

Category:

Documents


2 download

DESCRIPTION

Analysis of Link Reversal Routing Algorithms. Srikanta Tirthapura (Iowa State University) and Costas Busch (Renssaeler Polytechnic Institute). Wireless Ad Hoc and Sensor Networks. Node Failures. Nodes might go to sleep. Nodes might move. Underlying Communication - PowerPoint PPT Presentation

TRANSCRIPT

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

9

Link Failure

node moves

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

31Bad state

dest.

Good nodes Bad nodes

Definitions

32

Resulting Good state

dest.

33

dest.

Good nodes

Good Nodes Never Reverse

Proof by a simple induction on distance from dest.

34

Many possible reversal schedules

A

B

C

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

37

Bad state

dest.

Good nodes Bad nodes

38

Layers of bad nodes

dest.

Good nodes Bad nodes

1L 2L 3L 4L

39

Layers of bad nodes

1L 2L 3L mL

dest.

A layer:

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

49

dest.

4L

At the end of execution :

All nodes of layer become good nodes 3L3E

50

dest.

At the end of execution :

All nodes of layer become good nodes 4L4E

51

1L 2L 3L mL

dest.

Reversals per node:0 0 0 0

52

1L 2L 3L mL

dest.

Reversals per node:1 1 1 1

End of execution 1E

53

1L 2L 3L mL

dest.

Reversals per node:1 2 2 2

End of execution 2E

54

1L 2L 3L mL

dest.

Reversals per node:1 2 3 3

End of execution 3E

55

1L 2L 3L mL

dest.

Reversals per node:1 2 3 m

End of execution mE

56

Each node in layer reverses times iL i

Reversals per node:1 2 3 m

1L 2L 3L mL

dest.

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

64

Bad state

dest.

Good nodes Bad nodes

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/