L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts...

33
L. Blin, M. Potop‐Butucaru, S. Rovedakis 1

Transcript of L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts...

Page 1: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

L. Blin, M. Potop‐Butucaru, S. Rovedakis

1

Page 2: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Motivations

High degree nodes yield undesirable effects In general networks

High congestion High attack probability

In Ad‐hoc networks  More collisions  => low bandwidth

Theoretical insterst

2

Page 3: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

State of the artsSelf‐stabilizing tree constructions Breadth First Search trees (BFS):

[Y. Afek, S. Kutten and M. Yung, WDAG, 1991] [S. Dolev, A. Israeli and S. Moran, PODC, 1990]

Depth First Search trees (DFS): [Z. Collin and S. Dolev, IPL, 1994] [T. Herman, PhD thesis, 1991]

Minimum Diameter Spanning trees: [J. Burman and S. Kutten, DISC, 2007] [F. Butelle, C. Lavault and M. Bui, WDAG, 1995]

Minimum weight Spanning Trees (MST): [L. Higham and Z. Liang, DISC, 2001] [G. Antonoiu and P.K. Srimani, Euro‐par, 1997]

Shortest Paths trees: [S. Delaët, B. Ducourthial and S. Tixeuil, SSS, 2005]

3

Page 4: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

MDST problem

Minimum Degree Spanning Tree (MDST): G=(V,E) is a unweighted undirected graph Δ(T) is the maximum degree of subgraph T 

The goal is1. to construct a tree T spanning V,2. minimizing Δ(T).

4

Page 5: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

NP‐Hard problem

5

Hamiltonian path (NP‐Hard)

Page 6: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Outline

Sequential algorithm for MDST problem[M. Fürer and B. Raghavachari, SODA, 1992]

Introduction to Self‐Stabilization paradigm Our Self‐Stabilizing algorithm for MDST problem

6

Page 7: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Sequential Algorithm for the MDST problem

7

Page 8: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Problem approximation

NP‐hard problem (Hamiltonian path) We seek an approximation

Δ*: maximum degree of an optimal solution Best approximation:  Δ(T) ≤ Δ*+1 

[M. Fürer and B. Raghavachari, SODA, 1992]

Algorithm [FR92] : Initial state:  an arbitrary spanning tree,  Perform every possible improvement (edge swap).

8

Page 9: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Definitions: Fundamental cycle

Fundamental cycle: cycle in T created by the add of the non tree edge (u,v) to T, noted C(u,v).

T

9

Page 10: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Definitions: Improving edge

Improving edge:  edge (u,v) not in T, such thatmax{deg(u),deg(v)} < Δ(T)‐1  and node w in C(u,v) with deg(w)=Δ(T).

T

10

Degree=3

Improving edge

Page 11: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Definitions: Improvement

Improvement:  swap between an improving edge and an edge adjacent to a maximum degree node(i.e.  a node with a degree equal to Δ(T)).

Decrease by  1  the degree of a maximum degree node.

T

11

Page 12: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Sequential algorithm

Initially, we start with an arbitrary spanning tree Until there is no improvement, run a new phase A phase of algorithm:

Compute the maximum degree of the current tree T (i.e. computation of  ∆(T))

Perform an improvement

12

Page 13: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Example

Δ(T)=4 Δ(T)‐1=3

13

Page 14: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Example

Δ(T)=4 Δ(T)‐1=3Δ(T)=4

Δ(T)=3

14

Page 15: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Example

Δ(T)=4 Δ(T)‐1=3Δ(T)=2

Distributed algorithm: [ L. Blin and F. Butelle, IPDPS, 2003 ]15

Page 16: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Self‐Stabilization paradigm

16

Page 17: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Self‐Stabilizing Systems

Fault:  event which corrupts memory (variables), program counter, Communication channels of nodes in the network.

Goal:  A self‐stabilizing system handle transient faults(Dijkstra, 74)

Legitimate configuration:  system configuration (composition of local states) in which each node state satisifies P (a desired property).

17

Page 18: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

a Self‐Stabilizing Algorithm for the MDST problem

18

Page 19: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Model Distinct identifiers Asynchronous protocol (fine grained atomicity)

Message passing Distributed system

Network = set of interconnected computers (nodes)  FIFO and bidirectional channels State of a node = its variables System configuration = Local states of all nodes Local vision of the system (no global information)

19

Page 20: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Self‐Stabilizing algorithm

Composition of 3 self‐stabilizing layers:1. Construction of a spanning tree2. Maximum degree computation of the current tree3. Reduction of  the maximum degree

20

Page 21: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Construction and maintaining of a spanning tree Root of the tree = node of minimum id Variables for node u:  rootu, parentu

Rules:  [Afek, Kutten and Yung, WDAG, 1991] Coherent(u) : parentu Є N(u)u{u}  and  rootu = rootparentu BetterRoot(u) :  v Є N(u), rootv < rootu

Update:If  Coherent(u)  and  BetterRoot(u)   =>  u changes root

Init. State: If  ¬Coherent(u)  =>  u becomes a new root21

Page 22: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Construction and maintaining of a spanning tree

Root=9 Root=6 Root=7

Root=5 Root=5

3 5 7

9 6

No rule can be executed

Update  Rule

Init. State  Rule

Root=3 Root=5Root=3

Root=9

Root=7

Root=3

Root=3

Root=6Root=3

(Update)   If  Coherent(u)  and  BetterRoot(u)   =>  u changes root(Init. State)   If  ¬Coherent(u)  =>  u becomes a new root

22

Page 23: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Construction and maintaining of a spanning tree Need of cycle deletion:

each node maintains its distance to the root(root:  dist=0,  others:  parent dist+1)

23

Root=3 Root=3 Root=3

Root=3 Root=3

3 5 7

9 6

Root=3Dist=5

Root=3Dist=4

Root=3Dist=3

Root=3  Dist=1

Root=3Dist=2 

3 5 7

9 6

Page 24: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Computation of max degree max_degreeu :  maximum degree of the current tree If  ¬Coherent(u)

max_degreeu =  degree of u in the tree Otherwise

Use of PIF protocol (Propagation of Information withFeedback) [Blin, Cournier, Villain, SSS, 2003], [Cournier, Datta, Petit, Villain, J. High Speed Networks, 2005]

24

Feedback phase : Selection of  maximum 

nodedegree

Propagation phase : Dissemination of  maximum 

nodedegree

Page 25: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Reduction of max degree

Works like [FR92], but for all fundamental cycles Let a tree T, for each edge (u,v) T :

Find its fundamental cycle (DFS search), Check if  (u,v) is an improving edge, Perform an improvement (if improving edge).

Each edge is managed by the node with minimum id

25

Page 26: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Reduction of max degree

a

bc

d

e

u

v

x

y [e,2],[d,2],[c,3][a,4],[b,3]

Δ(T)=4T

(x,y) is not an improving edge

Δ(T)=3

: Search: Remove: Back

26

Page 27: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Module Composition

An upper layer must not destabilize a lower one

Max. degree layer: does not change parentu and distu

Degree reduction layer: reduces the degree (higher degree =>  no improvement) changes parentu (update distance to maintain treecoherency)

27

Page 28: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Conclusion and perspectives

We propose a self‐stabilizing algorithm resolving the MDST problem Best approximation (unless P=NP):   Δ(T) ≤ Δ*+1

Extension:  Steiner tree [FR92] Oriented Graphs 

Approximation:   Δ(T) ≤ Δ*+log n[R. Krishnan and B. Raghavachari, FST TCS, 2001]

28

Page 29: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Thank you

29

Page 30: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Approximation proof (1/2)Theorem [FR92]: If G contains no edge between trees in F, then Δ(T) ≤ Δ*+1.

30

S B

F

T

Page 31: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Approximation proof (2/2) Lemma [FR92]: 

When algorithm completes, Δ(T) ≤ Δ*+1. Proof:

The algorithm stops only if there is no edge betweentrees in F.

T satisfies the conditions of the previous theorem and thus we have Δ(T) ≤ Δ*+1.

Remark: The set SuB is a witness set which allows to check that Δ(T) ≤ Δ*+1.

31

Page 32: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Sequential algorithm

Blocking node:  node u with degree deg(u)=Δ(T)‐1, such that edge (u,v) not in T and node w in C(u,v) withdegree deg(w)=Δ(T).

Δ(T)=4 Δ(T)=4 Δ(T)=3

32

Page 33: L. Blin, M. Potop‐Butucaru, S. Rovedakistixeuil/m2r/uploads/Main/... · State of the arts Self‐stabilizing treeconstructions Breadth First Search trees(BFS): [Y. Afek, S. Kuttenand

Reduction of max degree

a

b

c

d

e

x

y [e,2],[d,2],[c,3]

[a,4],[b,3]

Δ(T)=4T

(x,y) is not an improving edge

(c,v) is not an improving edgebecause (c is a blocking node)

Δ(T)=3

: Search: Remove: Back

v

: Deblock 33