Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems

110
Self-Stabilization: An approach for Fault- Tolerance in Distributed Systems Stéphane Devismes 16/12/2013 MAROC'2013

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 Presentation

Transcript of Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems

Page 1: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

MAROC'2013

Distributed Systems

16/12/2013

Page 4: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

Distributed Systems

• Machines ≈ Processes

16/12/2013

Page 5: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

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

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

MAROC'2013

Distributed Systems

• Assumptions– Bidirectional links

16/12/2013

Page 10: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

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

MAROC'2013

Distributed Algorithm

16/12/2013

Page 14: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

Distributed Algorithm Example: Computing a Spanning Tree

16/12/2013

Page 15: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MAROC'2013

Self-Stabilization

16/12/2013

Page 36: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

MAROC'201316/12/2013

BFS Spanning Tree [Huang & Chen, 1992]

R

Page 39: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MAROC'2013

Advantages of Self-Stabilization

• Tolerate transient faults

16/12/2013

Page 56: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MAROC'2013

k-Clustering

16/12/2013

Page 74: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clustering

16/12/2013

Page 75: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clustering

• Ex. k=2

16/12/2013

≤k

Page 76: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clustering

• Ex. k=2

16/12/2013

≤k

Page 77: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 80: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 81: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 82: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 83: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 84: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 85: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 86: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 87: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 88: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 89: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 90: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 91: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 92: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

k-Clusterheads Selection: α

16/12/2013

Page 93: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

MAROC'2013

Arbitrary Networks

16/12/2013

Page 96: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

MAROC'2013

In Unit Disk Graph (UDG) ?

16/12/2013

1

Page 97: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

MAROC'2013

MIS Tree

16/12/2013

Maximal Independent Set

Page 99: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

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

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

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

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

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

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

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

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

MAROC'2013

Conclusion

Self-stabilization is funny !

16/12/2013

Page 109: Self-Stabilization: An approach for Fault-Tolerance in  Distributed Systems

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

MAROC'2013

Thank you!

16/12/2013