Around Self-Stabilization

65
Around Self- Stabilization Part 2: Strengthened Forms of Self-Stabilization Stéphane Devismes Post-Doc CNRS at the LRI (Paris VII)

description

Around Self-Stabilization. Part 2 : Strengthened Forms of Self-Stabilization Stéphane Devismes Post-Doc CNRS at the LRI (Paris VII). Roadmap. Self-Stabilization (recall) Motivation Tolerating more types of fault FTSS Enhance the convergence Snap-Stabilization Conclusion. - PowerPoint PPT Presentation

Transcript of Around Self-Stabilization

Page 1: Around Self-Stabilization

Around Self-StabilizationAround Self-Stabilization

Part 2:   Strengthened Forms of Self-Stabilization

Stéphane Devismes

Post-Doc CNRS at the LRI (Paris VII)

Page 2: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 2

RoadmapRoadmap

1. Self-Stabilization (recall)

2. Motivation

3. Tolerating more types of fault

4. FTSS

5. Enhance the convergence

6. Snap-Stabilization

7. Conclusion

Page 3: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 3

Self-Stabilization (recall)Self-Stabilization (recall)

• [Dijkstra 1974]

• General approach for recovering from the effect of

any transient faults

Page 4: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 4

MotivationMotivation

• Self-Stabilization includes several advantages:

1. Tolerance to any transient fault:• No hypothesis on the nature of extent of transient faults

• Recovers from the effects of those faults in a unified manner

2. No initialization:• Large scale systems

3. Dynamicity:• Self-organization in sensor and ad hoc networks

Page 5: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 5

MotivationMotivation

• But also several drawbacks:

1. Impossibility results

• Some fundamental problems have no self-stabilizing solution

2. Overhead• Self-stabilizing protocols can make use of a large amount of resources

3. Usually not tolerant for other kinds of fault

4. Eventual safety

• During the convergence, almost nothing is guaranteed

Weakened Forms

Strengthened Forms

Page 6: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 6

MotivationMotivation

• Strengthened Forms for:

Tolerating more types of faults

Enhance the convergence property

• Converging quickly in some (frequent) cases

• Ensure some weak safety property when there are faults

Page 7: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 7

Tolerating more types of faultsTolerating more types of faults

• Types of faults:

Transient

Intermittent

Crash

Byzantine

Page 8: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 8

Tolerating more types of faultTolerating more types of fault

• Transient Faults:

Usually treated by the Self-Stabilization

Duration: finite

Periodicity: rare

Effect: alter the contain of some component(s) of the

network (processes and/or links)

E.g., memory/message corruption, crash-recover, lose

of messages…

Page 9: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 9

Tolerating more types of faultTolerating more types of fault

• Intermittent Faults:

Duration: finite

Periodicity: frequent

Effect: alter the contain of some component(s) of the network

(processes and/or links)

E.g., memory/message corruption, crash-recover, lose of

messages…

Some paper deals with both self-stabilization and certain types

of intermittent fault, e.g., [Delaët and Tixeuil, JPDC’02]

• Fair lose of message + finite number of message corruption

Page 10: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 10

Tolerating more types of faultTolerating more types of fault

• Crash Failures:

Duration: definitive

Effect: some component(s) of the network (processes and/or links)

definitively stops working

E.g., process crash, link removal

Fault-Tolerant Self-Stabilization (FTSS) [Gopal and Perry, PODC’93]

• Usually consider process crash only.

Page 11: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 11

Tolerating more types of faultTolerating more types of fault

• Byzantine Failures:

Duration: unlimited

Effect: some component(s) of the network (usually processes) work in an

arbitrary manner

E.g., processes hit by an attack

Byzantine-Tolerant Self-Stabilization [Dolev and Welch, PODC’95]

• Restriction on the number of Byzantine processes and/or

• Some synchrony assumptions

Page 12: Around Self-Stabilization

Robust Stabilizing Leader ElectionRobust Stabilizing Leader Election

Carole Delporte-Gallet (LIAFA)

Stéphane Devismes (CNRS, LRI)

Hugues Fauconnier (LIAFA)

LIAFA

Page 13: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 13

TopicsTopics

• Designing Leader Election protocols in message-

passing model that are

1. Crash tolerant

2. Self-Stabilizing

3. Communication-Efficient

4. With weak synchrony assumption

Page 14: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 14

ModelModel

• Fully-connected network• Communications using messages• Link :

Unidirectional No order on the delivers May be synchronous

• Process : Synchronous or crashed With identifier State initially arbitrary

1 2

3 4

Page 15: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 15

Communication-EfficiencyCommunication-Efficiency

[Larrea, Fernandez, and Arevalo, 2000]:

« An algorithm is communication-efficient if it

eventually only uses n - 1 unidirectional links »

1 2

3 4

Page 16: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 16

Related WorksRelated Works

• [Gopal and Perry, PODC’93]

• [Anagnostou and Hadzilacos, WDAG’93]

• [Beauquier and Kekkonen-Moneta, JSS’97]

Communication-Efficiency never considered

Page 17: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 17

Self-Stabilizing Leader Election in a full timely network?

Self-Stabilizing Leader Election in a full timely network?

Yes + communication-efficiency

Page 18: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 18

Algorithm (1/4)Algorithm (1/4)

• Each process p periodically sends ALIVE,p to each other if Leader = p

4

3 2

1Leader=1

Leader=2 Leader=2

ALIVE,2

ALIV

E,2

ALIVE,2

ALIVE,1

ALIVE,1

ALIV

E,1

Page 19: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 19

Algorithm (2/4)Algorithm (2/4)

• When an alive process p such that Leader = p receives ALIVE from process q,

Leader := q if q < p

4

3 2

1Leader=1

Leader=2 Leader=2

ALIVE,2

ALIV

E,2

ALIVE,2

ALIVE,1

ALIVE,1

ALIV

E,1

Leader=1

4

Page 20: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 20

Algorithm (3/4)Algorithm (3/4)

• Each alive process q such that Leader ≠ q always chooses as leader the

process from which it receives ALIVE the most recently

4

3 2

1Leader=1

Leader=2 Leader=1

ALIVE,1

ALIVE,1

ALIV

E,1

Leader=1

4

Page 21: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 21

Algorithm (4/4)Algorithm (4/4)

• On Time out, each alive process p sets Leader to p

4

3 2

1Leader=3

Leader=2 Leader=4

ALIVE,2

ALIV

E,2

ALIVE,2

ALIVE,1

ALIVE,1

ALIV

E,1

Leader=1

Leader=2

4

Page 22: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 22

Communication-Efficient Self-Stabilizing Leader Election in a system where at most one link is asynchronous?

Communication-Efficient Self-Stabilizing Leader Election in a system where at most one link is asynchronous?

No

Page 23: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 23

Impossibility of Communication-Efficiency in a system with at most one asynchronous link

Impossibility of Communication-Efficiency in a system with at most one asynchronous link

• Claim: Any process p such that Leader ≠ p must periodically receive messages

within a bounded time otherwise it chooses another leader

The process chooses another leader

Page 24: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 24

Self-Stabilizing (non communication-efficient) Leader Election in a system where some links are asynchronous?

Self-Stabilizing (non communication-efficient) Leader Election in a system where some links are asynchronous?

Yes

Page 25: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 25

Self-Stabilizing Leader Election in a system with a timely routing overlaySelf-Stabilizing Leader Election in a system with a timely routing overlay

• For each pair of alive processes (p,q), there exists at least two

paths of timely links:

From p to q

From q to p

Page 26: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 26

AlgorithmAlgorithm

• Each process computes the set of alive processes and chooses as leader the

smallest process of this set

• To compute the set:

– Each process p periodically sends ALIVE,p to every other process

– Any ALIVE,p message is repeated n - 1 times

(any other process periodically receives such a message)

Page 27: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 27

Self-Stabilizing Leader Election in a system without timely routing overlay ?

Self-Stabilizing Leader Election in a system without timely routing overlay ?

No

Page 28: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 28

ConclusionConclusion

• Obtaining algorithms that are both self-stabilizing and crash tolerant is

highly desirable

• But designing communication-efficient solution requires strong

synchrony assumption even if the network is fully-connected

• Solution: FTPS (Fault-Tolerant Pseudo-Stabilization)

Page 29: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 29

Enhance The ConvergenceEnhance The Convergence

• Fault-containing Self-Stabilization

• Time-Adaptive Self-Stabilization

• Safe-Converging Self-Stabilization

• Superstabilization

• Snap-Stabilization

Page 30: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 30

Fault-Containing Self-StabilizationFault-Containing Self-Stabilization

• [Ghosh et al, PODC’96]

• Self-stabilizing + if there is a few number of faults:

Spatial containment: a few number of processes can be

contaminated by the faults

Fast convergence time

Page 31: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 31

Time-Adaptive Self-StabilizationTime-Adaptive Self-Stabilization

• [Kutten & Patt-Shamir, PODC’97]

• Self-stabilizing and if f<k processes are faulty:

The output of the algorithm stabilizes in O(f)

Faults hit f processes The output is stabilized The state is stabilized

Page 32: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 32

Safe-Converging Self-StabilizationSafe-Converging Self-Stabilization

• [Kakugawa & Masuzawa, IPDPS’06]

• Self-stabilizing and fast convergence to a weaker (useful)

predicate

• E.g. Minimal Dominating Set (MDS):Arbitrary initial configuration DS MDS

Page 33: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 33

SuperstabilizationSuperstabilization

• [Dolev & Herman, CJTCS’97]

• A Superstabilizing Algorithm

Must be self-stabilizing

Must preserve a “passage predicate”

Passage Predicate - Defined with respect to a class of topology changes (A

topology change falsifies legitimacy and therefore the passage predicate must

be weaker than legitimacy but strong enough to be useful).

Topological change Passage Predicate

Page 34: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 34

Passage Predicate - ExamplePassage Predicate - Example

In a token ring:

A processor crash can lose the token but still not falsify

the passage predicate

Passage Predicate Legitimate State

At most one token exists

in the system. (e.g. the

existence of 2 tokens

isn’t legal)

Exactly one token exists

in the system.

Page 35: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 35

Snap-StabilizationSnap-Stabilization

• [Bui et al, WSS’99]

• A snap-stabilizing algorithm immediately operates

correctly after the end of the faults

• Request-based algorithm and user-centric point

of view:

Each time a user initiates a request, it obtain a correct

result for its request

Page 36: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 36

Snap-StabilizationSnap-Stabilization

Page 37: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 37

Self vs. SnapSelf vs. Snap

1.X2.XN.X

Page 38: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 38

Self vs. SnapSelf vs. Snap

1.X

Page 39: Around Self-Stabilization

Snap-Stabilization in Message-Passing Systems

Snap-Stabilization in Message-Passing Systems

Sylvie Delaët (LRI)

Stéphane Devismes (CNRS, LRI)

Mikhail Nesterenko (Kent State University)

Sébastien Tixeuil (LIP6)

Page 40: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 40

Message-Passing ModelMessage-Passing Model

• Network bidirectional and fully-connected

• Communications by messages

• Links asynchronous, fair, and FIFO

• Ids on processes

• Transient faults

m1m2m3 m3mamb mamb

1 2

3 4m

Page 41: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 41

Related Works in message-passing(reliable communication in self-stabilization)

Related Works in message-passing(reliable communication in self-stabilization)

• [Gouda & Multari, 1991] Deterministic + Unbounded Capacity => Unbounded Counter

Deterministic + Bounded Capacity => Bounded Counter

• [Afek & Brown, 1993] Probabilistic + Unbounded Capacity + Bounded Counter

?

?<I’m 12>

<How old are you, Captain?>

<I’m 21><I’m 60>

Page 42: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 42

Related Works in message-passing (self-stabilization)

Related Works in message-passing (self-stabilization)

• [Varghese, 1993] Deterministic + Bounded Capacity

• [Katz & Perry, 1993] Unbounded Capacity, deterministic, infinite counter

• [Delaët et al] Unbounded Capacity, deterministic, finite memory Silent tasks

Page 43: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 43

Related Works (snap-stabilization)

Related Works (snap-stabilization)

• Nothing in the Message-Passing Model

• Only in State Model:

Locally Shared Memory

Composite Atomicity

• [Cournier et al, 2003]

Page 44: Around Self-Stabilization

Snap-Stabilization in Message-Passing Systems

Snap-Stabilization in Message-Passing Systems

Page 45: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 45

Case 1: unbounded capacity linksCase 1: unbounded capacity links

• Impossible for safety-distributed specifications

Page 46: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 46

B

A

Safety-distributed specificationSafety-distributed specification

p

q

Example : Mutual Exclusion

Page 47: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 47

A

Safety-distributed specificationSafety-distributed specification

p

sp

m1 m2 m3 m4 m5

Bq

sq

m’1 m’2 m’3 m’4

Page 48: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 48

A

Safety-distributed specificationSafety-distributed specification

p

sp

m1m2m3m4m5

Bq

sq

m’1m’2m’3m’4

Page 49: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 49

Case 2: bounded capacity linksCase 2: bounded capacity links

• Problem to solve: Reliable Communication

• Starting from any configuration, if Tintin sends a question to Captain

Haddock, then:• Tintin eventually receives good answers

• Tintin only delivers the good answers

?

?

Page 50: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 50

Case 2: bounded capacity linksCase 2: bounded capacity links

• Case Study: Single-Message Capacity

0 or 1 message

0 or 1 message

Page 51: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 51

Case 2: bounded capacity linksCase 2: bounded capacity links

• Sequence number State {0,1,2,3,4}

p q

Statep Stateq0

NeigStatep NeigStateq

?

??

<0,NeigStatep,Qp,Ap>

0

<Stateq,0,Qq,Aq>

1

<1,NeigStatep,Qp,Ap>

Until Statep = 4?

Page 52: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 52

Case 2: bounded capacity linksCase 2: bounded capacity links

• Pathological Case:

p q

Statep Stateq0

NeigStatep NeigStateq

?

1?

<2,?,?,?>

<?,0,?,?>

1

<?,1,?,?>

2

2

<?,2,?,?>

3

<3,NeigStatep,Qp,Ap>

3

<Stateq,3,Qq,Aq>

4

Page 53: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 53

GeneralizationsGeneralizations

• Arbitrary Bounded Capacity

2xCmax+3 values

p q

Cmax values

Cmax values

1 value 1 value

Page 54: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 54

GeneralizationsGeneralizations

• PIF in fully-connected network

mm

m

AmAm

Am

Page 55: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 55

ApplicationApplication

Mutual Exclusion

in a fully-connected & identified network

using the PIF

Page 56: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 56

Mutual ExclusionMutual Exclusion

• Specification:

Any process that requests the CS enters in the CS in finite time (Liveness)

If a requesting process enters in the CS, then it executes the CS alone (Safety)

N.b. Some non-requesting processes may be initially in the CS

Page 57: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 57

Principles (1/6)Principles (1/6)

• Let L be the process with the smallest ID

• L decides using ValueL which is authorized to access the CS§ if ValueL = 0, then L is authorized§ if ValueL = i, then the ith neighbour of L is authorized

• When a process learns that it is authorized by L to access the CS:1. It ensures that no other process can execute the CS

2. It executes the CS, if it requests it 3. It notifies L when it terminates Step 2 (so that L increments ValueL)

Page 58: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 58

Principles (2/6)Principles (2/6)

• Each process sequentially executes 4 phases infinitely often

• A requesting process p can enter in the CS only after executing

Phases 1 to 4 consecutively

The CS is in Phase 4

Page 59: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 59

Principles (3/6)Principles (3/6)

• Process p evaluates the IDs

5

2

Id?

Id?

Id?

8 2

33

8

Leader=2Phase=1

Page 60: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 60

Principles (4/6)Principles (4/6)

• Process p asks if Valueq = p to each other process q

5

2

Ok?Ok?

Ok?

No Yes

No3

8

Leader=2Value=0

1

2 3

3

2

Value=2Value=3

112

3

Ok=true

Phase=2

Page 61: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 61

Principles (5/6)Principles (5/6)

• If Winner(p) then p broadcasts EXIT to every other process

5

2

Exit

Exit

Exit

Ok Ok

Ok3

8

Leader=2

Value=0

1

2 3

3

2

Value=2Value=3

112

3

Ok=true

Phase=3

Winner(5)=true

Winner(2)=?

Winner(3)=?

Winner(8)=?

Phase=?Leader=?Ok=?

Phase=?Leader=?Ok=?

Phase=?Leader=?Ok=?

Phase=1 Phase=1

Phase=1

Page 62: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 62

Principles (6/6)Principles (6/6)

• If Winner(p) then CS; If p≠L, then p broadcasts ExitCS, else p increments

Valuep

5

2

ExitCS

ExitCS

ExitCS

Ok Ok

Ok3

8

Leader=2

Value=0

1

2 3

3

2

Value=2Value=3

112

3

Ok=true

Phase=4

Winner(5)=true

Winner(2)=?

Winner(3)=?

Winner(8)=?

Leader=?Ok=?

Leader=?Ok=?

Leader=?Ok=?

Phase=1 Phase=1

Phase=1

Value=3

<CS>

Page 63: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 63

ConclusionConclusion

Snap-Stabilization in message-passing is no more an

open question

Page 64: Around Self-Stabilization

06/08/2008 Computer Science Department, University of Osaka 64

ExtensionsExtensions

• Apply snap-stabilization in message-passing to:

Other topologies (tree, arbitrary topology)

Other problems

Other failure patterns

• Space requirement

Page 65: Around Self-Stabilization

まいど おおきに  ! まいど おおきに  !