snap -stabilizing depth-first search on arbitrary networks

21
Snap-Stabilizing Depth-First Search on Arbitrary Networks Alain Cournier, Stéphane Devismes , Franck Petit, and Vincent Villain OPODIS 2004, December 15-17 2004, Grenoble (France)

Upload: jake

Post on 05-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Snap -Stabilizing Depth-First Search on Arbitrary Networks. OPODIS 2004, December 15-17 2004, Grenoble (France). Alain Cournier, Stéphane Devismes , Franck Petit, and Vincent Villain. What is Depth-First Search?. Root. R. Applications of Depth-First Search?. Mutual Exclusion - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Snap-Stabilizing Depth-First Search on Arbitrary Networks

Alain Cournier, Stéphane Devismes, Franck Petit, and Vincent Villain

OPODIS 2004, December 15-17 2004, Grenoble (France)

Page 2: Snap -Stabilizing Depth-First Search on Arbitrary Networks

What is Depth-First Search?

Root R

Page 3: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Applications of Depth-First Search?

• Mutual Exclusion• Spanning Tree Computation• Constraint Programming• Routing• …

Page 4: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Self- and Snap- Stabilisation

A self-stabilizing system, regardless of the initial state of the processors, is guaranteed to converge to the intended behavior in finite time.

Self-Stabilisation, Dijkstra (1974)

A snap-stabilizing system, regardless of the initial state of the processors, always behaves according to its specifications.

Snap-Stabilisation Bui, Datta, Petit, and Villain (1999)

Remark: Self-Stabilisation is a general technique allowing to design systems tolerating transient failures.

Page 5: Snap -Stabilizing Depth-First Search on Arbitrary Networks

More Precisely…

Let T be a task and SPt a specification of T.

Let P be a protocol.

P is snap-stabilizing for SPt iff:

1. A particular action of P will be executed,

2. The result obtained from this particular action satisfies SPt.

Page 6: Snap -Stabilizing Depth-First Search on Arbitrary Networks

State Model

Communication: Local Shared Memory

Computation: Distributed

Fairness: Weakly fair, Unfair

Time Complexity: Step and Round

Page 7: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Related Works

Self-Stabilisation Area:

• Huang and Chen (1993)• Johnen and Beauquier (1995)• Petit and Villain (1997)• Datta, Johnen, Petit, and Villain (2000)• Petit (2001)

Page 8: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Related Works

Snap-Stabilisation Area:

• Petit and Villain (1999) for tree networks• Cournier, Datta, Petit, and Villain (2003), Transformer

Page 9: Snap -Stabilizing Depth-First Search on Arbitrary Networks

There does not exist any solution using an unfair

daemon

Page 10: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Our Solution

Page 11: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Identified Rooted Networks

8

1 2 3 4 5

6 9

11

10

12 13 14 15 16

17 18

7R

Page 12: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Data Structures

Successor pointor:

Parent pointor:

Visited Set: {1,2,3}

Idle PointingDone

Page 13: Snap -Stabilizing Depth-First Search on Arbitrary Networks

1 2 3

8

9

5

From a « good » initial configuration

{5} {5,6} {5,6,7}

{5,6,7,3,2,4,8,9,1} {5,6,7,3,2}

6 7

{5,6,7,3,2,4}

4

{5,6,7,3,2,4,8}

{5,6,7,3,2,4,8}

{5,6,7,3}{5,6,7,3,2,4,8}{5,6,7,3,2}

{5,6,7,3,2,4,8}

{5,6,7,3,2,4,8,9}

{5,6,7,3,2,4,8,9}

{5,6,7,3,2,4,8,9}{5,6,7,3,2,4,8,9}

{5,6,7,3,2,4,8,9,1}

R

Page 14: Snap -Stabilizing Depth-First Search on Arbitrary Networks

1 2 3 4

6 9 10

11 12 13 14 15

17 18

{7} {7,8}

{5,7}

{5,7,10}

{5,7,10,15}

Arbitrary Configuration

7

16

5

8

{3,4}{2,3}

{6,8}

{6,8,11}

Done Processor

Abnormal Traversals

R

Page 15: Snap -Stabilizing Depth-First Search on Arbitrary Networks

How to correct Abnormal Traversals?

Page 16: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Error Detection

75 8 9

{6} {6,7}

6

{6,7,8}

Abnormal Root

Page 17: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Error Correction

Cleaning the successive Abnormal Root of each

Abnormal Traversal

Page 18: Snap -Stabilizing Depth-First Search on Arbitrary Networks

1 2 3 4

6

11 12 13 14 15

17

{5,7}

{5,7,10}

{5,7,10,15}

7

16

5

8

{2,3}

{6,8}

{6,8,11}

{3,4}

{5,7,10,15,17}

18

{5,7,10,15,17,18}

{5,7,10,15,17,18,16}

{7}

{5,7,10,15,17,18,16}

Starting Action

{7,8}

{5,7,10,15,17,18,16}

{7,8,9}

9

{7,8,9,16}

10

The Root is now enabled to initiates the protocol

Snap?

R

Page 19: Snap -Stabilizing Depth-First Search on Arbitrary Networks

1 2 3 4

6

11 12 13 14 15

17

{5,7}

{5,7,10}

{5,7,10,15}

7

16

5

8

{3,4}

{5,7,10,15,17}

18

{5,7,10,15,17,18}{5,7,10,15,17,18,16}

{7}

{7,8}

{5,7,10,15,17,18,16}

9 10

Unfairness?

R

Page 20: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Conclusion

• Snap-Stabilizing Protocol for Arbitrary Networks

• Works under an Unfair Daemon

• Space Requirement:O(N ×log(N)) per processors

• Time Complexity:Delay: O(N²) steps , O(N) rounds DFS-Wave: O(N²) steps, O(N) rounds

Page 21: Snap -Stabilizing Depth-First Search on Arbitrary Networks

Perspectives

• Finding a solution with a lower memory requirement

• Finding a Transformer working with an unfair daemon

• Finding a solution without using ids