self-stabilization: an approach for fault-tolerance in distributed systems
DESCRIPTION
Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems. Stéphane Devismes. Roadmap. Distributed Systems Self-Stabilization Competitive Self-Stabilizing k -Clustering. Distributed Systems. Distributed Systems. Machines ≈ Processes. Distributed Systems. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/1.jpg)
MAROC'2013
Self-Stabilization:An approach for Fault-Tolerance in
Distributed Systems
Stéphane Devismes
16/12/2013
![Page 2: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/2.jpg)
MAROC'2013
Roadmap
• Distributed Systems
• Self-Stabilization
• Competitive Self-Stabilizing k-Clustering
16/12/2013
![Page 3: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/3.jpg)
MAROC'2013
Distributed Systems
16/12/2013
![Page 4: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/4.jpg)
MAROC'2013
Distributed Systems
• Machines ≈ Processes
16/12/2013
![Page 5: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/5.jpg)
MAROC'2013
Distributed Systems
• Machines ≈ Processes• Characteristics:– No central control• Local programs• Local memories
16/12/2013
![Page 6: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/6.jpg)
MAROC'2013
Distributed Systems
• Machines ≈ Processes• Characteristics:– No central control• Local programs• Local memories
– Asynchronous– No global time
16/12/2013
![Page 7: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/7.jpg)
MAROC'2013
Distributed Systems
• Machines ≈ Processes• Characteristics:– No central control• Local programs• Local memories
– Asynchronous– No global time– Interconnected
16/12/2013
![Page 8: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/8.jpg)
MAROC'2013
Distributed Systems
• Machines ≈ Processes• Characteristics:– No central control• Local programs• Local memories
– Asynchronous– No global time– Interconnected• Asynchronous & FIFO message-
passing
16/12/2013
![Page 9: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/9.jpg)
MAROC'2013
Distributed Systems
• Assumptions– Bidirectional links
16/12/2013
![Page 10: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/10.jpg)
MAROC'2013
Distributed Systems
• Assumptions– Bidirectional links– Unique Ids
16/12/2013
12
4078
42
167
23
![Page 11: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/11.jpg)
MAROC'2013
Distributed Systems
• Assumptions– Bidirectional links– Unique Ids– Static connected
topology (≈graph)
16/12/2013
1674078
12
2342
![Page 12: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/12.jpg)
MAROC'2013
Distributed Systems
• Assumptions– Bidirectional links– Unique Ids– Static connected
topology (≈graph) – Deterministic machines
16/12/2013
1674078
12
2342
![Page 13: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/13.jpg)
MAROC'2013
Distributed Algorithm
16/12/2013
![Page 14: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/14.jpg)
MAROC'2013
Distributed Algorithm Example: Computing a Spanning Tree
16/12/2013
![Page 15: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/15.jpg)
MAROC'2013
• Distributed Inputs
Distributed Algorithm Example: Computing a Spanning Tree
16/12/2013
Root= falseRoot= true
Root= false
Root= falseRoot= false
![Page 16: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/16.jpg)
MAROC'2013
• Distributed Inputs
Distributed Algorithm Example: Computing a Spanning Tree
16/12/2013
R
![Page 17: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/17.jpg)
MAROC'2013
Distributed Algorithm Example: Computing a Spanning Tree
• Distributed Inputs• Distributed
Computations– Local memories– Local programs– Message-passing– Local decision
16/12/2013
R
![Page 18: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/18.jpg)
MAROC'2013
Distributed Algorithm Example: Computing a Spanning Tree
• Distributed Inputs• Distributed
Computations– Local memories– Local programs– Message-passing– Local decision
• Distributed Outputs
16/12/2013
R
![Page 19: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/19.jpg)
MAROC'2013
Distributed Algorithm Example: Computing a Spanning Tree
• Distributed Inputs• Distributed
Computations– Local memories– Local programs– Message-passing– Local decision
• Distributed Outputs• Global Task
16/12/2013
R
![Page 20: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/20.jpg)
MAROC'2013
Classical problems
• Data Exchanges: Routing, Broadcast, PIF, …
• Agreement: Consensus, Leader Election, Atomic Register, …
• Self-Organization: Spanning Tree, Clustering
• Resource Allocation: Mutual Exclusion, L-Exclusion, K-out-of-L-Exclusion…
16/12/2013
![Page 21: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/21.jpg)
MAROC'2013
Performance Evaluation
• #Messages– O(#Processes)
• Volume (in bits)– Polynomial in #Processes
• Time Complexity (in rounds) – O(Diameter)
• Local Space(in bits)– O(Degree)
16/12/2013
There are efficient solutions for most of the
classical problems!
… assuming the system is fault-free
![Page 22: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/22.jpg)
MAROC'2013
Challenges
• Modern distributed systems are large-scale and made of cheap heterogeneous units, e.g.– Internet
• (10 billions of connected machines in 2016)• Internet of things
– Wireless Sensor Networks• Message losses due to the radio medium• Process crashes due to limited batteries
⇒ High probability of faults⇒ Human intervention impossible⇒ Need of Fault-Tolerant Distributed Algorithms
16/12/2013
![Page 23: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/23.jpg)
MAROC'2013
Fisher, Lynch, and Paterson, 1985
16/12/2013
• “The deterministic consensus cannot be solved in a asynchronous distributed system in spite of at most one faulty process”
• (no information about the fault)• Even if – the communications are reliable– The network is fully connected
![Page 24: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/24.jpg)
MAROC'2013
Consensus
16/12/2013
0
0
• Input in {0,1}
1
1
1
![Page 25: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/25.jpg)
MAROC'2013
Consensus
16/12/2013
0
0
• Input in {0,1}• Output in {0,1}
1
1
1
![Page 26: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/26.jpg)
MAROC'2013
Consensus
16/12/2013
00
0
00
0
0
• Input in {0,1}• Output in {0,1}– Agreement
1
1
1
![Page 27: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/27.jpg)
MAROC'2013
Consensus
16/12/2013
00
0
00
0
0
• Input in {0,1}• Output in {0,1}– Agreement– Termination• (for all corrects)1
1
1
![Page 28: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/28.jpg)
MAROC'2013
Consensus
16/12/2013
00
0
00
0
0
• Input in {0,1}• Output in {0,1}– Agreement– Termination• (for all corrects)
– Integrity • (1 write)
1
1
1
![Page 29: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/29.jpg)
MAROC'2013
Consensus
16/12/2013
0
0
• Input in {0,1}• Output in {0,1}– Agreement– Termination• (for all corrects)
– Integrity • (1 write)
– Validity
0
0
0
![Page 30: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/30.jpg)
MAROC'2013
Consensus
16/12/2013
00
0
00
0
0
• Input in {0,1}• Output in {0,1}– Agreement– Termination• (for all corrects)
– Integrity • (1 write)
– Validity
0
0
0
![Page 31: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/31.jpg)
MAROC'2013
Consensus
16/12/2013
1
1
• Input in {0,1}• Output in {0,1}– Agreement– Termination• (for all corrects)
– Integrity • (1 write)
– Validity
1
1
1
![Page 32: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/32.jpg)
MAROC'2013
Consensus
16/12/2013
11
1
11
1
1
• Input in {0,1}• Output in {0,1}– Agreement– Termination• (for all corrects)
– Integrity • (1 write)
– Validity
1
1
1
![Page 33: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/33.jpg)
MAROC'2013
Strenght of the result
• Most of the distributed problem can be reduced to the consensus, e.g.– Atomic broadcast– Atomic register– Replicated state machine– …
16/12/2013
![Page 34: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/34.jpg)
MAROC'2013
Circumvent the impossibility
• Relax the hypothesis, e.g.,– Initial crash– Partial Synchronous Assumptions– Add information about the failures (failure
detectors)• Relax the solved problem– Probabilistic consensus– Self-stabilization
16/12/2013
![Page 35: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/35.jpg)
MAROC'2013
Self-Stabilization
16/12/2013
![Page 36: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/36.jpg)
MAROC'2013
Self-Stabilization
• Dijkstra, 1974
• Versatile technique to tolerate arbitrary transient failures
16/12/2013
![Page 37: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/37.jpg)
MAROC'2013
Transient Failures
• Location: node or link• Duration: finite• Frequency: low
e.g.• Node: memory corruption• Link: message losses, message corruption,
message duplication, message creation, reordering
16/12/2013
![Page 38: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/38.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
R
![Page 39: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/39.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
00
0
00
0
0
R
![Page 40: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/40.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
00
0
00
0
0
R 00
0
0
0 0
0
0
00
00
0
![Page 41: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/41.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
00
0
00
0
0
R 00
0
0
0 0
0
0
00
00
0
![Page 42: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/42.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
00
0
00
0
0
R 00
0
0
0 0
0
0
00
00
0
0000
0
0
0 00
0
0
00
0
0
0
![Page 43: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/43.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
00
0
00
0
0
R 00
0
0
0 0
0
0
00
00
0
0000
0
0
0 00
0
0
00
0
0
0
![Page 44: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/44.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
00
0
10
0
0
R 00
0
0
0 0
0
0
00
00
0
0000
0
0,1
1,0 00,1
0
0
00
0
0
0
![Page 45: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/45.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
10
1
11
1
1
R 00
0
0
0 0
0
0
00
00
0
1110
1
1
1 11
1
1
11
0
0
1
![Page 46: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/46.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
10
1
21
2
2
R 11
1
1
1 1
0
1
11
10
0
2110
1
2
2 22
1
1
11
0
0
1
![Page 47: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/47.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
10
1
21
2
3
R 12
2
1
2 2
0
1
21
10
0
2110
1
2
2 32
1
1
11
0
0
1
![Page 48: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/48.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]
10
1
21
2
3
R 12
2
1
3 2
0
1
21
10
0
2110
1
2
2 32
1
1
11
0
0
1
![Page 49: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/49.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]In case of transient faults ?
10
1
21
2
0
R 12
2
1
3 0
0
1
21
10
0
2110
1
2
2 02
1
1
11
0
0
1
![Page 50: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/50.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]In case of transient faults ?
10
1
11
2
3
R 12
2
1
0 2
0
1
21
10
0
2110
1
1
1 31
1
1
11
0
0
1
![Page 51: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/51.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]In case of transient faults ?
10
1
21
2
2
R 12
1
1
3 1
0
1
11
10
0
2110
1
2
2 22
1
1
11
0
0
1
![Page 52: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/52.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]In case of transient faults ?
10
1
21
2
3
R 12
2
1
2 2
0
1
21
10
0
2110
1
2
2 32
1
1
11
0
0
1
![Page 53: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/53.jpg)
MAROC'201316/12/2013
BFS Spanning Tree [Huang & Chen, 1992]In case of transient faults ?
10
1
21
2
3
R 12
2
1
3 2
0
1
21
10
0
2110
1
2
2 32
1
1
11
0
0
1
![Page 54: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/54.jpg)
MAROC'201316/12/2013
Definition: Closure + Convergence + Correctness
States of the System
Illegitimate States Legitimate States
Convergence
Closure+Correctness
![Page 55: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/55.jpg)
MAROC'2013
Advantages of Self-Stabilization
• Tolerate transient faults
16/12/2013
![Page 56: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/56.jpg)
MAROC'2013
Advantages of Self-Stabilization
• Lightweight– Low overhead
• No initialization– Large-scale network
– Self-organization in wireless sensor network
• Tolerate (detectable) topological changes
16/12/2013
![Page 57: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/57.jpg)
MAROC'2013
Advantages of Self-Stabilization
• Easy to compose:– Collateral Composition A B• A and B runs in parallel• B does not write into A variables
• Example– Compose• Spanning tree construction and• Node-Counting along a tree
16/12/2013
![Page 58: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/58.jpg)
MAROC'2013
Composition
• Node-Counting
16/12/2013
0,2R
2,13,4
5,2 0,2 3,8
![Page 59: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/59.jpg)
MAROC'2013
Composition
• Node-Counting
16/12/2013
6,6R
4,26,2
1,4 1,4 1,1
![Page 60: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/60.jpg)
MAROC'2013
Composition
• Node-Counting
16/12/2013
11,11
R
2,63,6
1,2 1,2 1,2
![Page 61: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/61.jpg)
MAROC'2013
Composition
• Node-Counting
16/12/2013
6,6R
2,11
3, 11
1,6 1,6 1,6
![Page 62: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/62.jpg)
MAROC'2013
Composition
• Node-Counting
16/12/2013
6,6R
2,63,6
1, 11
1, 11
1, 11
![Page 63: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/63.jpg)
MAROC'2013
Composition
• Node-Counting
16/12/2013
6,6R
2,63,6
1,6 1,6 1,6
![Page 64: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/64.jpg)
MAROC'201316/12/2013
Composition: Spanning Tree + Node Counting
3,12,2
4,1
3,11,1
1,1
1,1
R
![Page 65: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/65.jpg)
MAROC'201316/12/2013
Composition: Spanning Tree + Node Counting
1,11,1
4,1
2,11,1
1,1
1,1
R
![Page 66: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/66.jpg)
MAROC'201316/12/2013
Composition: Spanning Tree + Node Counting
4,17,7
1,1
2,11,1
1,1
1,1
R
![Page 67: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/67.jpg)
MAROC'201316/12/2013
Composition: Spanning Tree + Node Counting
4,77,7
1,7
2,11,7
1,1
1,1
R
![Page 68: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/68.jpg)
MAROC'201316/12/2013
Composition: Spanning Tree + Node Counting
4,77,7
1,7
2,71,7
1,7
1,1
R
![Page 69: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/69.jpg)
MAROC'201316/12/2013
Composition: Spanning Tree + Node Counting
4,77,7
1,7
2,71,7
1,7
1,7
R
![Page 70: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/70.jpg)
MAROC'2013
Drawbacks of Self-Stabilization
• Temporary Loss of Safety– Goal: Minimize the stabilization time– Stronger forms of Self-Stabilization
• Fault-Containment [Ghosh & al, 1996], • Superstabilization [Dolev & al, 1997], • Safe Convergence [Kakugawa & al, 2002], • …
• No local detection of stabilization– Permanent local checks
• Overhead
16/12/2013
![Page 71: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/71.jpg)
MAROC'2013
Performance Evaluation
• Time Complexity– Mainly, the Stabilization Time
• Memory Requirement• Overhead (AlgoSelf/OptAlgoSafe)
• Necessary knowledges (Local vs Global)
16/12/2013
![Page 72: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/72.jpg)
MAROC'2013
Competitive Self-Stabilizing k-Clustering
[Datta, Devismes, Heurtefeux, Larmore, Rivierre, ICDCS’2012]
16/12/2013
![Page 73: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/73.jpg)
MAROC'2013
k-Clustering
16/12/2013
![Page 74: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/74.jpg)
MAROC'2013
k-Clustering
16/12/2013
![Page 75: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/75.jpg)
MAROC'2013
k-Clustering
• Ex. k=2
16/12/2013
≤k
![Page 76: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/76.jpg)
MAROC'2013
k-Clustering
• Ex. k=2
16/12/2013
≤k
![Page 77: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/77.jpg)
MAROC'2013
k-Clustering
• Goal: Minimize the number of clusters
• Find the optimal k-Clustering of an arbitrary graph is NP-Hard [Garey & Johnson, 1979]
• Contribution: Self-stabilizing k-Clustering of bounded size
16/12/2013
![Page 78: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/78.jpg)
MAROC'2013
Roadmap
• Solution for tree networks
• Generalization for arbitrary connect networks
• Study of special cases:– Unit Disk Graphs (UDG)
– Approximate Disk Graphs (ADG)
16/12/2013
![Page 79: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/79.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 80: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/80.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 81: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/81.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 82: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/82.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 83: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/83.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 84: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/84.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 85: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/85.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 86: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/86.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 87: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/87.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 88: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/88.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 89: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/89.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 90: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/90.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 91: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/91.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 92: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/92.jpg)
MAROC'2013
k-Clusterheads Selection: α
16/12/2013
![Page 93: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/93.jpg)
MAROC'2013
Sum Up
• In trees :– O(log n + log k) space– O(n) rounds– #clusterheads: Optimal
• In arbitrary networks ?
16/12/2013
![Page 94: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/94.jpg)
MAROC'2013
Arbitrary Networks
16/12/2013
• O(log n + log k) space• O(n) rounds• #clusterheads: Not optimal, but bounded
Any Spanning Tree Tree k-Clustering
e.g., [Huand & Chen, 1992]
![Page 95: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/95.jpg)
MAROC'2013
Arbitrary Networks
16/12/2013
![Page 96: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/96.jpg)
MAROC'2013
In Unit Disk Graph (UDG) ?
16/12/2013
1
![Page 97: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/97.jpg)
MAROC'2013
Result in UDG
• 7.2552k+0(1)-competitive if
• An algorithm is X-competitive if it builds a k-clustering of size at most X times the smallest possible number of k-clusters.
|Clr| ≤ X.|Min|
16/12/2013
MIS Tree Tree k-Clustering
![Page 98: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/98.jpg)
MAROC'2013
MIS Tree
16/12/2013
Maximal Independent Set
![Page 99: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/99.jpg)
MAROC'2013
k-clustering vs MIS
16/12/2013
(|Clr| - 1) k/2 ≤ |MIS| - 1
![Page 100: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/100.jpg)
MAROC'2013
MIS vs CLRopt
• Let C be any cluster of CLRopt
16/12/2013
![Page 101: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/101.jpg)
MAROC'2013
MIS vs CLRopt
• Let C be any cluster of CLRopt
• Let I be any independent set of C
16/12/2013
![Page 102: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/102.jpg)
MAROC'2013
MIS vs CLRopt
• Let C be any cluster of CLRopt
• Let I be any independent set of C• UDG: p,q ∀ ∊ I, d(p,q) > 1
16/12/2013
![Page 103: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/103.jpg)
MAROC'2013
[Folkman & Graham,1969]X: compact convex regionI X, p,q ⊆ ∀ ∊ I, d(p,q) ≥ 1|I| ≤ 2A(X)/√3+P(X)/2+1⎣ ⎦
MIS vs CLRopt
• Let C be any cluster of CLRopt
• Let I be any independent set of C• UDG: p,q ∀ ∊ I, d(p,q) > 1
16/12/2013
![Page 104: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/104.jpg)
MAROC'2013
MIS vs CLRopt
• Let C be any cluster of CLRopt
• Let I be any independent set of C• UDG: p,q ∀ ∊ I, d(p,q) > 1
16/12/2013
k
[Folkman & Graham,1969]X: compact convex regionI X, p,q ⊆ ∀ ∊ I, d(p,q) ≥ 1|I| ≤ 2A(X)/√3+P(X)/2+1⎣ ⎦
![Page 105: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/105.jpg)
MAROC'2013
[Folkman & Graham,1969]X: compact convex regionI X, p,q ⊆ ∀ ∊ I, d(p,q) ≥ 1|I| ≤ 2A(X)/√3+P(X)/2+1⎣ ⎦
MIS vs CLRopt
• Let C be any cluster of CLRopt
• Let I be any independent set of C• UDG: p,q ∀ ∊ I, d(p,q) > 1
16/12/2013
K|I| ≤ 2⎣ 𝛑k2/√3+𝛑k+1⎦
Let IS any independent set of CLRopt
|IS| ≤ 2⎣ 𝛑k2/√3+𝛑k+1 .|CLR⎦ opt|
![Page 106: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/106.jpg)
MAROC'2013
Result
|MIS| ≤ 2⎣ 𝛑k2/√3+𝛑k+1 .|CLR⎦ opt|(|Clr| - 1) k/2 ≤ |MIS| - 1
⇒|Clr| ≤ 1-2/k+(4𝛑k/√3+2 +2/𝛑 k). |CLRopt|
⇒ 7,2552k+O(1)-competivity
16/12/2013
![Page 107: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/107.jpg)
MAROC'2013
In Approximate Disk Graphs
16/12/2013
7,2552λ2k+O(1)-competivity
![Page 108: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/108.jpg)
MAROC'2013
Conclusion
Self-stabilization is funny !
16/12/2013
![Page 109: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/109.jpg)
MAROC'2013
Bibliography• Stéphane Devismes, Franck Petit, and Vincent Villain. Autour de l'Auto-stabilisation. Partie I : Techniques
généralisant l'approche. Technique et Science Informatiques (TSI), Vol 30(7), pages 873-894. 2010.
• Stéphane Devismes, Franck Petit, and Vincent Villain. Autour de l'Auto-stabilisation. Partie II : Techniques spécialisant l'approche. Technique et Science Informatiques (TSI), Vol 30(7), pages 895-922. 2010.
• Ajoy K. Datta, Lawrence L. Larmore, Stéphane Devismes, Karel Heurtefeux, and Yvan Rivierre. Self-Stabilizing Small k-Dominating Sets. International Journal of Networking and Computing, Volume 3, Issue 1, pages 116-136. 2013.
• Ajoy K. Datta, Stéphane Devismes, Karel Heurtefeux, Lawrence L. Larmore, and Yvan Rivierre. Competitive Self-Stabilizing k-Clustering. In Proceedings of The 32nd International Conference on Distributed Computing Systems (ICDCS'12). Pages 476-485, June 18-21, 2012, Macau, China.
• Ajoy K. Datta, Stéphane Devismes, and Lawrence L. Larmore. A Self-Stabilizing O(n)-Round k-Clustering Algorithm. In Proceedings of SRDS'2009, 28th International Symposium on Reliable Distributed Systems. Pages 147-155, September 27-30, 2009, Niagara Falls, New York, USA.
16/12/2013
![Page 110: Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems](https://reader036.vdocuments.mx/reader036/viewer/2022062410/5681637e550346895dd45ee1/html5/thumbnails/110.jpg)
MAROC'2013
Thank you!
16/12/2013