• Aucun résultat trouvé

Topics in Self-stabilization

N/A
N/A
Protected

Academic year: 2022

Partager "Topics in Self-stabilization"

Copied!
186
0
0

Texte intégral

(1)

Topics in

Self-stabilization

Franck Petit / Sebastien Tixeuil [email protected]

(2)

Robust Protocols

Nature

Extent

Time

(3)

Self-stabilizing Protocols

Nature

Extent

Time Faults

Stabilization

Legitimate

(4)

The Big Picture

Weaker Guarantees

Complexity Guarantees

Stronger Guarantees Self-

stabilization Pseudo stabilization Weak

stabilization

Fault- tolerant stabilization

Strong stabilization

k- stabilization

time- adaptive

k-time- adaptive

Predicate- preserving stabilization Probabilistic

stabilization

Snap- stabilization Probable

stabilization

Strict stabilization

Fault- containment

(5)

Snap-Stabilization

(6)

Snap-Stabilization

Specification

Self-stabilization: Starting from any initial configuration, the system eventually reaches a configuration from which its

behavior is correct

Snap-stabilization: Starting from any initial configuration, the system always

behaves as its specification

(7)

Self-stabilization

(8)

Self-stabilization

(9)

Self-stabilization

(10)

Self-stabilization

(11)

Self-stabilization

(12)

Self-stabilization

(13)

Self-stabilization

(14)

Self-stabilization

?

(15)

Self-stabilization

(16)

Self-stabilization

(17)

Self-stabilization

BC

(18)

Self-stabilization

BC

(19)

Self-stabilization

BC

(20)

Self-stabilization

(21)

Self-stabilization

(22)

Self-stabilization

(23)

Self-stabilization

(24)

Self-stabilization

(25)

Self-stabilization

(26)

Snap-stabilization

(27)

Snap-stabilization

(28)

Snap-stabilization

BC

(29)

Snap-stabilization

BC

(30)

Snap-stabilization

BC

(31)

Snap-stabilization

BC

(32)

Snap-stabilization

BC

(33)

Snap-stabilization

BC

(34)

Snap-stabilization

BC

(35)

Snap-stabilization

(36)

Snap-stabilization

(37)

Non Self-*

(38)

Non Self-*

Network

(39)

Non Self-*

Network

F(.)

(40)

Non Self-*

X

Network

F(.)

(41)

Non Self-*

X F(X)

Network

F(.)

(42)

Self-stabilization

(43)

Self-stabilization

1.X F(.) F(X)

(44)

Self-stabilization

(45)

Self-stabilization

2.X F(.) F(X)

(46)

Self-stabilization

(47)

Self-stabilization

3.X F(.) F(X)

(48)

Self-stabilization

(49)

Self-stabilization

4.X F(.) F(X)

(50)

Self-stabilization

5.X F(.) F(X)

(51)

Self-stabilization

6.X F(.) F(X)

(52)

Self-stabilization

7.X F(.) F(X)

(53)

Self-stabilization

8.X F(.) F(X)

(54)

Self-stabilization

... F(.) F(X)

(55)

Self-stabilization

(56)

Self-stabilization

k.X F(.) F(X)

(57)

Snap-stabilization

(58)

Snap-stabilization

1.X F(.)

(59)

Snap-stabilization

1.X F(.) F(X)

(60)

Related Works

Bui, Datta, Petit, Villain. State-optimal snap-

stabilizing PIF in tree networks. WSS 1999.

Cournier, Datta, Petit, Villain. Enabling snap- stabilization. SSS 2003.

Cournier, Devismes, Villain. From Self- to Snap- Stabilization. SSS 2006.

Bui, Datta, Petit, Villain. Snap-stabilization and PIF in tree networks. Distributed Computing 2007.

(61)

Propagation of Information with FeedbackPIF

Distributed-Control Problems

Broadcast, Routing, Synchronization,

Protocol, Leader Election, Resource Sharing and Allocation, Graph Algorithms,

Termination Detection, Deadlock

Detection, Reset, Distributed Ranking, Distributed Sorting...

(62)

Propagation of Information with FeedbackPIF

Distributed-Control Problems

Broadcast, Routing, Synchronization,

Protocol, Leader Election, Resource Sharing and Allocation, Graph Algorithms,

Termination Detection, Deadlock

Detection, Reset, Distributed Ranking, Distributed Sorting...

PIF

(63)

Propagation of Information with FeedbackPIF

r

(64)

Propagation of Information with FeedbackPIF

r

(65)

Propagation of Information with FeedbackPIF

r

1

1

1 1

(66)

Propagation of Information with FeedbackPIF

r

1

1

1 1

(67)

Propagation of Information with FeedbackPIF

r

1

1

1 1

(68)

Propagation of Information with FeedbackPIF

r

1 2

2 1

1

1

1

1 1

(69)

Propagation of Information with FeedbackPIF

r

1 2

2 1

1

1

1

1 1

(70)

Propagation of Information with FeedbackPIF

r

1 2

2 1

1

1

1

1 1

(71)

Propagation of Information with FeedbackPIF

r

1

1

3 2

1 2

2 1

1 2

2

1

(72)

Propagation of Information with FeedbackPIF

r

1

1

3 2

1 2

2 1

1 2

2

1

(73)

Propagation of Information with FeedbackPIF

r

1

1

3 2

1 2

2 1

1 2

2

1

(74)

Propagation of Information with FeedbackPIF

r

1

1

3 2

2 2

2 3

2 2

2

1

1 1

(75)

Propagation of Information with FeedbackPIF

r

1

1

3 2

2 2

2 3

2 2

2

1

1 1

(76)

Propagation of Information with FeedbackPIF

r

1

1

3 2

2 2

2 3

2 2

2

1

1 1

(77)

Propagation of Information with FeedbackPIF

r

4

1

3 2

2 2

2 3

2 2

2

1

2 1

(78)

Propagation of Information with FeedbackPIF

r

4

1

3 2

2 2

2 3

2 2

2

1

2 1

(79)

Propagation of Information with FeedbackPIF

r

4

1

4 2

2 2

2 3

2 2

2

2

2 2

(80)

Propagation of Information with FeedbackPIF

r

4

1

4 2

2 2

2 3

2 2

2

2

2 2

(81)

Propagation of Information with FeedbackPIF

r

4

1

4 2

2 3

2 3

2 2

2

1

2 3

(82)

Propagation of Information with FeedbackPIF

r

4

1

4 2

2 3

2 3

2 2

2

1

2 3

(83)

Propagation of Information with FeedbackPIF

r

4

2

4 2

2 3

2 3

2 2

2

1

2 3

(84)

Propagation of Information with FeedbackPIF

r

4

2

4 2

2 3

2 3

2 2

2

1

2 3

(85)

Propagation of Information with FeedbackPIF

r

4

2

4 2

2 3

2 3

2 2

2

1

2 4

(86)

Self-Stabilizing Compiler

GOAL

«Universal» Tool to Transform (Compile)

any non self-stabilizing distributed algorithm into a self-stabilizing one

[Katz and Perry 1993]

(87)

Self-Stabilizing Compiler

GOAL

«Universal» Tool to Transform (Compile)

any non self-stabilizing distributed algorithm into a self-stabilizing one

[Katz and Perry 1993]

T Self-Stabilizing T

(88)

Snap-Stabilizing Compiler

GOAL

«Universal» Tool to Transform (Compile)

any non self-stabilizing distributed algorithm into a snap-stabilizing one

[Cournier, Datta, Petit, Villain 2003]

T Snap-Stabilizing T

(89)

Snap-Stabilizing Compiler

IDEA

Snap-stabilizing leader test

Snap-stabilizing reset

Snap-stabilizing snapshot

Snap-stabilizing termination detection

(90)

Snap-Stabilizing Compiler

IDEA

Snap-stabilizing leader test

Snap-stabilizing reset

Snap-stabilizing snapshot

Snap-stabilizing termination detection

Sna p-sta bilizi ng

PIF

(91)

Snap-Stabilizing Compiler

With a Single Initiator

(92)

Snap-Stabilizing Compiler

Network

With a Single Initiator

(93)

Snap-Stabilizing Compiler

Network

Initiator

With a Single Initiator

(94)

Snap-Stabilizing Compiler

Network

Initiator

T

With a Single Initiator

(95)

Snap-Stabilizing Compiler

Network

Initiator

T T T

T

With a Single Initiator

(96)

Snap-Stabilizing Compiler

Network

Initiator

With a Single Initiator

T T

T

(97)

Snap-Stabilizing Compiler

Network

Initiator

Snapshot

With a Single Initiator

T T

T

(98)

Snap-Stabilizing Compiler

Network

Initiator

With a Single Initiator

T T

T

(99)

Snap-Stabilizing Compiler

Network

Initiator

If not OK then Reset

With a Single Initiator

T T

T

(100)

Snap-Stabilizing Compiler

Network

Initiator

With a Single Initiator

(101)

Snap-Stabilizing Compiler

Network

Initiator

With a Single Initiator

T

(102)

Snap-Stabilizing Compiler

With a Multiple Initiators

Same principle

Snap-stabilizing leader test

Snap-stabilizing leader election

Snap-stabilizing reset

Snap-stabilizing snapshot

Snap-stabilizing termination detection

(103)

Data Links

(104)

State Model

1 3

5 5

(105)

State Model

1 3

7 5

(106)

Message Passing Model

(107)

Bootstrapping ?

1 3

5 5

(108)

Bootstrapping ?

1 3

5 5

(109)

Bootstrapping ?

1 3

5 5

(110)

Bootstrapping ?

1 3

5 5

(111)

Bootstrapping ?

1 3

5 5

(112)

Bootstrapping ?

1 3

7 5

(113)

Results

Safety-distributed specifications admit no snap-stabilizing solution when the bound on channel capacity is unknown

Known bounded capacity channels

enables snap-stabilization in message passing networks

(114)

Algorithms

Complete (i.e. 1-hop) networks

Fair lossy links of fixed capacity (e.g. 1)

Protocols

Reliable Communication

Propagation of Information with Feedback (PIF)

Mutual Exclusion

(115)

Reliable

Communications

(116)

Reliable

Communications

(117)

Reliable

Communications

BC

(118)

Reliable

Communications

BC

(119)

Reliable

Communications

BC

(120)

Reliable

Communications

BC

(121)

Reliable

Communications

BC

(122)

Reliable

Communications

BC

(123)

Reliable

Communications

(124)

Reliable

Communications

(125)

Reliable

Communications

(126)

Ensuring Safety

BC 1 BC 2

(127)

Ensuring Safety

BC 1 BC 2

(128)

Ensuring Safety

0

BC 1 BC 2

(129)

Ensuring Safety

0

0

BC 1 BC 2

(130)

Ensuring Safety

0

0

BC 1 BC 2

(131)

Ensuring Safety

0

BC 1 BC 2

(132)

Ensuring Safety

1

BC 1 BC 2

(133)

Ensuring Safety

1

1

BC 2

(134)

Ensuring Safety

1

1

BC 2

(135)

Ensuring Safety

1

BC 2

(136)

Ensuring Safety

2

BC 2

(137)

Ensuring Safety

2

BC 2

(138)

Ensuring Safety

2

2

(139)

Ensuring Safety

2

2

(140)

Ensuring Safety

2

(141)

Ensuring Safety

3

(142)

Ensuring Safety

3

(143)

Ensuring Safety

BC

3

(144)

Ensuring Safety

BC

3

(145)

Ensuring Safety

3

3

(146)

Ensuring Safety

3

3

(147)

Ensuring Safety

3

3

(148)

The Price of Safety

(149)

The Price of Safety

0

(150)

The Price of Safety

BC

0

(151)

The Price of Safety

BC

0

(152)

The Price of Safety

0

0

(153)

The Price of Safety

0

0

(154)

The Price of Safety

1

(155)

The Price of Safety

BC

1

(156)

The Price of Safety

BC

1

(157)

The Price of Safety

1

1

(158)

The Price of Safety

1

1

(159)

The Price of Safety

2

(160)

The Price of Safety

BC

2

(161)

The Price of Safety

BC

2

(162)

The Price of Safety

2

2

(163)

The Price of Safety

2

2

(164)

The Price of Safety

3

(165)

The Price of Safety

BC

3

(166)

The Price of Safety

BC

3

(167)

The Price of Safety

3

3

(168)

The Price of Safety

3

3

(169)

The Price of Safety

3

3

(170)

Conclusion

Bootstrapping Snap-stabilization in realistic networks

Enabling conditions are more restrictive than those of self-stabilization

Safety can be ensured, yet induces some overhead

(171)

Multitolerance

(172)

Stronger Stabilization

(173)

Stronger Stabilization

(174)

Stronger Stabilization

(175)

Stronger Stabilization

(176)

Stronger Stabilization

(177)

Stronger Stabilization

(178)

Stronger Stabilization

(179)

Stronger Stabilization

(180)

Strict Stabilization

(181)

Strict Stabilization

non (c,f)-contained configurations

(c,f)-contained configurations transient fault

(182)

Strict Stabilization

Impossibility result (known)

r-restrictive specifications do not allow containment radius less than r

many useful tasks are D-restrictive

spanning tree, etc.

(183)

Strong Stabilization

non (c,f)-contained configurations

(c,f)-contained configurations transient fault

(184)

Strong Stabilization

Our results

It is possible to solve global tasks and maintain strong stabilization

Spanning tree (arbitrary)

Tree orientation

Impossible to manage maximizing tree metrics

(185)

Conclusion

(186)

The Big Picture

Weaker Guarantees

Complexity Guarantees

Stronger Guarantees Self-

stabilization Pseudo stabilization Weak

stabilization

Fault- tolerant stabilization

Strong stabilization

k- stabilization

time- adaptive

k-time- adaptive

Predicate- preserving stabilization Probabilistic

stabilization

Snap- stabilization Probable

stabilization

Strict stabilization

Fault- containment

Références

Documents relatifs

Le Comité demande dans ce contexte aux États de réviser leurs lois, réglementations et politiques nationales qui limitent le droit des enfants à la liberté d’expression, leur

Two kinds of message can be received: (i) upon receiving a binding request message, the configurator binds the local component to the remote one (❽), (ii) upon receiving a

After read- ing a message from the input buffer, the configurator must check all its local components, and start those with mandatory client interfaces bound to started

Sim ulation resultsforboth frequency response and im aging werepre- sented.E xperim entalresultswere given supporting the sim ulations and dem onstrating the com petence ofthem

This discrepancy comes from multiple circumstances, such as (i) considering multiple binding sites per protein chain with the same ligand generating specific instances

We show that any algorithm of this class is (1) silent and self-stabilizing under the distributed unfair daemon, and (2) has a stabilization time polynomial in moves and

Definition (Self-stabilizing System) Starting from any initial configuration, the system eventually reaches a configuration from with its behavior is correct. I

The rationale for the non-leader nodes is as follows: (i) when the leader is not present on the same node, the non-leader node simply follows the edge left by the leader, trying