l. blin, m. potop‐butucaru, s. rovedakistixeuil/m2r/uploads/main/... · state of the arts...
TRANSCRIPT
![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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/1.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/2.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/3.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/4.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/5.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/6.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/7.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/8.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/9.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/10.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/11.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/12.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/13.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/14.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/15.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/16.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/17.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/18.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/19.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/20.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/21.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/22.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/23.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/24.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/25.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/26.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/27.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/28.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/29.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/30.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/31.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/32.jpg)
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](https://reader034.vdocument.in/reader034/viewer/2022052001/6013b281acb4ab4ae2790ad5/html5/thumbnails/33.jpg)
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