Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions - - PowerPoint PPT Presentation

silent self stabilizing scheme for spanning tree like
SMART_READER_LITE
LIVE PREVIEW

Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions - - PowerPoint PPT Presentation

Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions Stphane Devismes 1 Colette Johnen 2 David Ilcinkas 2 1 Univ. Grenoble Alpes, VERIMAG, 38000 Grenoble, France 2 CNRS & Univ. Bordeaux, LaBRI, UMR 5800, F-33400 Talence,


slide-1
SLIDE 1

Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions

Stéphane Devismes1 Colette Johnen2 David Ilcinkas2

1 Univ. Grenoble Alpes, VERIMAG, 38000 Grenoble, France 2 CNRS & Univ. Bordeaux, LaBRI, UMR 5800, F-33400 Talence, France

ICDCN, January 6th 2019, Bangalore (India)

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 1/35

slide-2
SLIDE 2

Self-Stabilization

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 2/35

slide-3
SLIDE 3

Self-stabilization

[Dijkstra, ACM Com., 74]

Configurations Time Legitimate Illegitimate

Transient faults

Legitimate configurations

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 3/35

slide-4
SLIDE 4

Self-stabilization

[Dijkstra, ACM Com., 74]

Configurations Time Legitimate Illegitimate

Transient faults

Legitimate configurations

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 3/35

slide-5
SLIDE 5

Self-stabilization

[Dijkstra, ACM Com., 74]

Configurations Time Legitimate Illegitimate

Transient faults

Legitimate configurations

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 3/35

slide-6
SLIDE 6

Self-stabilization

[Dijkstra, ACM Com., 74]

Configurations Time Legitimate Illegitimate Stabilization time

Transient faults

Legitimate configurations

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 3/35

slide-7
SLIDE 7

Silent Algorithm

[Dolev et al., Acta Informatica, 96] A silent self-stabilizing algorithm converges within finite time to a configuration from which the values of the registers used by the algorithm remain fixed.

3 3 3 2 2 1 1

1 1 1 1 1 1 2 2 2 2 2 3 2 2 2 3 3 3 1 1 1 1 1 2 1 2 2 2 2 3 2 3 3 3 2 2

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 4/35

slide-8
SLIDE 8

Silent Algorithm

[Dolev et al., Acta Informatica, 96] A silent self-stabilizing algorithm converges within finite time to a configuration from which the values of the registers used by the algorithm remain fixed. Advantages:

Silence implies more simplicity in the algorithm design (classically

used in compositions).

A silent algorithm may utilize less communication operations and

communication bandwidth.

Well-suited to compute distributed data structures such as

spanning trees.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 4/35

slide-9
SLIDE 9

Model

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 5/35

slide-10
SLIDE 10

Locally Shared Memory Model with Composite Atomicity

Abstraction of the message-passing model

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 6/35

slide-11
SLIDE 11

Locally Shared Memory Model with Composite Atomicity

Abstraction of the message-passing model Locally shared registers (variables) instead of communication links A process can only read its variables and that of its neighbors.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 6/35

slide-12
SLIDE 12

Locally Shared Memory Model with Composite Atomicity

Configuration

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 7/35

slide-13
SLIDE 13

Locally Shared Memory Model with Composite Atomicity

Atomic Step

Reading of the variables of the neighbors

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 7/35

slide-14
SLIDE 14

Locally Shared Memory Model with Composite Atomicity

Atomic Step

Reading of the variables of the neighbors Enabled nodes

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 7/35

slide-15
SLIDE 15

Locally Shared Memory Model with Composite Atomicity

Atomic Step

Reading of the variables of the neighbors Enabled nodes Daemon selection: models the asynchronism

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 7/35

slide-16
SLIDE 16

Locally Shared Memory Model with Composite Atomicity

Atomic Step

Reading of the variables of the neighbors Enabled nodes Daemon selection: models the asynchronism Update of the local states

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 7/35

slide-17
SLIDE 17

Daemons

Synchronous Central / Distributed Fairness : Strongly Fair, Weakly Fair, Unfair

Distributed unfair daemon: no constraint, except progress!

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 8/35

slide-18
SLIDE 18

Complexity

Space

Memory requirement in bits.

Time

(mainly stabilization time) Rounds: execution time according to the slowest process. Essentially similar to the notion of (asynchronous) rounds in message-passing models. Moves: local state updates. Rather unusual.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 9/35

slide-19
SLIDE 19

Rounds

1st round 2nd round Processes Time

Key: Enabled Activated Neutralized

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 10/35

slide-20
SLIDE 20

Complexity in moves: “a measure of energy”

The stabilization time in moves

captures the amount of computations an algorithm needs to recover

a correct behavior.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 11/35

slide-21
SLIDE 21

Complexity in moves: “a measure of energy”

The stabilization time in moves

captures the amount of computations an algorithm needs to recover

a correct behavior.

can be bounded only if the algorithm is self-stabilizing under the

unfair daemon.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 11/35

slide-22
SLIDE 22

Complexity in moves: “a measure of energy”

The stabilization time in moves

captures the amount of computations an algorithm needs to recover

a correct behavior.

can be bounded only if the algorithm is self-stabilizing under the

unfair daemon. Contraposition: If an algorithm is self-stabilizing, for example, under a weakly fair daemon, but not under an unfair one, then its stabilization time in moves cannot be bounded.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 11/35

slide-23
SLIDE 23

Complexity in moves: “a measure of energy”

The stabilization time in moves

captures the amount of computations an algorithm needs to recover

a correct behavior.

can be bounded only if the algorithm is self-stabilizing under the

unfair daemon. Contraposition: If an algorithm is self-stabilizing, for example, under a weakly fair daemon, but not under an unfair one, then its stabilization time in moves cannot be bounded. This means that there are processes whose moves do not make the system progress in the convergence: these processes waste computation power and so energy.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 11/35

slide-24
SLIDE 24

Complexity in moves: unusual

Several a posteriori analyses show that (classical) self-stabilizing algorithms that work under a distributed unfair daemon have an exponential stabilization time in moves in the worst case.

BFS spanning tree construction of Huang and Chen [Devismes and Johnen, JPDC 2016] Leader election of Datta, Larmore, Vemula [Durand et al., Inf. & Comp. 2017] . . .

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 12/35

slide-25
SLIDE 25

General Schemes for Self-Stabilization

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 13/35

slide-26
SLIDE 26

Related Work

The general transformer of [Katz & Perry, Dist. Comp. 93]: not

efficient, the purpose is only to demonstrate the feasability of the transformation (characterization).

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 14/35

slide-27
SLIDE 27

Related Work

The general transformer of [Katz & Perry, Dist. Comp. 93]: not

efficient, the purpose is only to demonstrate the feasability of the transformation (characterization).

Proof labeling scheme [Korman et al., Dist. Comp. 2010]:

restricted class of self-stabilizing algorithms (silent algorithms), stabilization time linear in n. No move complexity analysis.

[Devismes et al., TAAS 2009]: restricted class of self-stabilizing

algorithms (wave algorithms), stabilization time linear in n and polynomial in moves.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 14/35

slide-28
SLIDE 28

Related Work

The general transformer of [Katz & Perry, Dist. Comp. 93]: not

efficient, the purpose is only to demonstrate the feasability of the transformation (characterization).

Proof labeling scheme [Korman et al., Dist. Comp. 2010]:

restricted class of self-stabilizing algorithms (silent algorithms), stabilization time linear in n. No move complexity analysis.

[Devismes et al., TAAS 2009]: restricted class of self-stabilizing

algorithms (wave algorithms), stabilization time linear in n and polynomial in moves. Here, we restrict our study to silent spanning-tree-like data structure (i.e., trees or forests).

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 14/35

slide-29
SLIDE 29

Our contribution

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 15/35

slide-30
SLIDE 30

Algorithm Scheme: a general scheme to compute spanning-tree-like data structures

Theorem 1

Scheme is silent and self-stabilizing under the distributed unfair daemon in any bidirectional weighted networks of arbitrary topology.∗

∗n.b., the topologies are not necessarily connected. Disconnection may be due to

a transient fault.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 16/35

slide-31
SLIDE 31

Algorithm Scheme: a general scheme to compute spanning-tree-like data structures

Theorem 1

Scheme is silent and self-stabilizing under the distributed unfair daemon in any bidirectional weighted networks of arbitrary topology.∗

Theorem 2

The stabilization time in rounds of Scheme is at most 4nmaxCC, where nmaxCC is the maximum number of processes in a connected component.

∗n.b., the topologies are not necessarily connected. Disconnection may be due to

a transient fault.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 16/35

slide-32
SLIDE 32

Algorithm Scheme: a general scheme to compute spanning-tree-like data structures

Theorem 1

Scheme is silent and self-stabilizing under the distributed unfair daemon in any bidirectional weighted networks of arbitrary topology.∗

Theorem 2

The stabilization time in rounds of Scheme is at most 4nmaxCC, where nmaxCC is the maximum number of processes in a connected component.

Theorem 3

When all weights are strictly positive integers bounded by Wmax, the stabilization time of Scheme in moves is at most (Wmax(nmaxCC − 1)2 + 5)(nmaxCC + 1)n.

∗n.b., the topologies are not necessarily connected. Disconnection may be due to

a transient fault.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 16/35

slide-33
SLIDE 33

Results on particular instances of Algorithm Scheme

In an identified network, leader election in each connected component

(+ a spanning tree rooted at each leader): O(nmaxCC2n) moves ≈ the best known move complexity [Durand et al., Inf & Comp 2017]

†Every process in a connected component that does not contain the root should

eventually take a special state notifying that it detects the absence of a root.

‡With explicit parent pointers. Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 17/35

slide-34
SLIDE 34

Results on particular instances of Algorithm Scheme

In an identified network, leader election in each connected component

(+ a spanning tree rooted at each leader): O(nmaxCC2n) moves ≈ the best known move complexity [Durand et al., Inf & Comp 2017]

Given an input, spanning forest with non-rooted components

detection†: O(nmaxCCn) moves ≈ the best known move complexity for spanning tree construction

[Cournier, SIROCCO 2009] ‡

†Every process in a connected component that does not contain the root should

eventually take a special state notifying that it detects the absence of a root.

‡With explicit parent pointers. Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 17/35

slide-35
SLIDE 35

Results on particular instances of Algorithm Scheme

In an identified network, leader election in each connected component

(+ a spanning tree rooted at each leader): O(nmaxCC2n) moves ≈ the best known move complexity [Durand et al., Inf & Comp 2017]

Given an input, spanning forest with non-rooted components

detection†: O(nmaxCCn) moves ≈ the best known move complexity for spanning tree construction

[Cournier, SIROCCO 2009] ‡ In assuming a rooted network, shortest-path spanning tree with

non-rooted components detection: O(WmaxnmaxCC3n) moves (Wmax is the maximum weight of an edge) ≈ the best known move complexity

[Devismes et al., OPODIS 2016]

†Every process in a connected component that does not contain the root should

eventually take a special state notifying that it detects the absence of a root.

‡With explicit parent pointers. Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 17/35

slide-36
SLIDE 36

The problem

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 18/35

slide-37
SLIDE 37

Inputs (constants)

canBeRootu: true if u is candidate to be root.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 19/35

slide-38
SLIDE 38

Inputs (constants)

canBeRootu: true if u is candidate to be root. In a terminal configuration, every tree root satisfies canBeRoot, but the converse is not necessarily true.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 19/35

slide-39
SLIDE 39

Inputs (constants)

canBeRootu: true if u is candidate to be root. For every connected component GC, if there is at least

  • ne candidate u ∈ GC, then at least one process of GC

should be a tree root in a terminal configuration.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 19/35

slide-40
SLIDE 40

Inputs (constants)

canBeRootu: true if u is candidate to be root. If there is no candidate in a connected component, all processes of the component should converge to a particular terminal state notifying that it detects the absence of candidate. (non-rooted components detection)

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 19/35

slide-41
SLIDE 41

Inputs (constants)

canBeRootu: true if u is candidate to be root. pnameu: the name of u.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 19/35

slide-42
SLIDE 42

Inputs (constants)

canBeRootu: true if u is candidate to be root. pnameu: the name of u. pnameu ∈ IDs, where IDs = N ∪ {⊥} is totally ordered by < and min<(IDs) = ⊥.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 19/35

slide-43
SLIDE 43

Inputs (constants)

canBeRootu: true if u is candidate to be root. pnameu: the name of u. Two considered cases:

∀v ∈ V , pnamev = ⊥. ∀u, v ∈ V , pnameu = ⊥∧(u = v ⇒ pnameu = pnamev)

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 19/35

slide-44
SLIDE 44

Weights

ωu(v) ∈ DistSet denotes the weight of the arc (u, v) (DistSet, ⊕, ≺) is an ordered magma: ◮ ⊕ is a closed binary operation on DistSet ◮ ≺ is a total order on this set ◮ ∀(u, v), ∀d ∈ DistSet, d ≺ d ⊕ ωu(v) distRoot(u): the distance value of u is u is a root P_nodeImp(u) is a local predicate which is true is u should move to

improve the solution

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 20/35

slide-45
SLIDE 45

Variables

stu ∈ {I, C, EB, EF} parentu ∈ {⊥} ∪ Lbl: parent in the tree du ∈ DistSet: distance to the root

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 21/35

slide-46
SLIDE 46

Variables

stu ∈ {I, C, EB, EF} Normal behavior I : Isolated C : Correct (belong to a tree) parentu ∈ {⊥} ∪ Lbl: parent in the tree du ∈ DistSet: distance to the root

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 21/35

slide-47
SLIDE 47

Variables

stu ∈ {I, C, EB, EF} In a terminal configuration, if Vu contains a candidate, then stu = C, otherwise stu = I. parentu ∈ {⊥} ∪ Lbl: parent in the tree du ∈ DistSet: distance to the root

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 21/35

slide-48
SLIDE 48

Variables

stu ∈ {I, C, EB, EF} Correction mechanism EB: Error Broadcast EF: Error Feedback parentu ∈ {⊥} ∪ Lbl: parent in the tree du ∈ DistSet: distance to the root

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 21/35

slide-49
SLIDE 49

Instances

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 22/35

slide-50
SLIDE 50

Shortest-Path Spanning Tree

Inputs:

canBeRootu is false for any process except for u = r, pnameu is ⊥, and ωu(v) = ωv(u) ∈ N∗, for every v ∈ Γ(u).

Ordered Magma:

DistSet = N, i1 ⊕ i2 = i1 + i2, i1 ≺ i2 ≡ i1 < i2, and distRoot(u) = 0.

Predicate:

P_nodeImp(u) ≡

(∃v ∈ Γ(u) | stv = C ∧ dv ⊕ ωu(v) ≺ du) ∨ canBeRootu ∧ distRoot(u) ≺ du

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 23/35

slide-51
SLIDE 51

Leader Election

Inputs:

canBeRootu is true for any process, pnameu is the identifier of u (n.b., pnameu ∈ N) ωu(v) = (⊥, 1) for every v ∈ Γ(u)

Ordered Magma:

DistSet = IDs × N

for every d = (a, b) ∈ DistSet, we let d.id = a and d.h = b.

(id1, i1) ⊕ (id2, i2) = (id1, i1 + i2); (id1, i1) ≺ (id2, i2) ≡

(id1 < id2) ∨ [(id1 = id2) ∧ (i1 < i2)]

distRoot(u) = (pnameu, 0)

Predicate:

P_nodeImp(u) ≡ (∃v ∈ Γ(u) | stv = C ∧

dv.id < du.id) ∨ distRoot(u) ≺ du

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 24/35

slide-52
SLIDE 52

Our solution in a nutshell

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 25/35

slide-53
SLIDE 53

Typical Execution

I I

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 26/35

slide-54
SLIDE 54

Typical Execution

I I

C C C

Any candidate u executes RR: either u becomes a root (stu ← C, du ← distRoot(u), parentu ←⊥) or join an existing tree rooted to another candidate, if it is “better” (u selects a neighbor v in that tree as parent, and du ← dv ⊕ ωu(v))

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 26/35

slide-55
SLIDE 55

Typical Execution

I I

C C C C C C C

Any non-candidate v executes RR when it finds a neighbor with status C: stu ← C, select a parent v among its neighbors of status C, and du ← dv ⊕ ωu(v)

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 26/35

slide-56
SLIDE 56

Typical Execution

I I

C C C C C C C

In parallel, rules RU are executed to reduce the weight of the trees: when a process u with status C satisfies P_nodeImp(u), this means that u can reduce du by selecting another neighbor with status C as parent.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 26/35

slide-57
SLIDE 57

Typical Execution

I I

C C C C C C C C C

A candidate can lose its tree root condition using RU, if it finds a sufficiently good parent in its neighborhood.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 26/35

slide-58
SLIDE 58

Typical Execution

I

C C C C C C C C C C C C C

Overall, within at most nmaxCC rounds, a terminal configuration is reached.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 26/35

slide-59
SLIDE 59

Abnormal Roots

Inconsistencies are detected by some processes called Abnormal Roots A process u is an abnormal root if u is not a normal root§, stu = I, and satisfies one of the following three conditions:

its parent pointer does not designate a neighbor, its distance du is inconsistent with the distance of its parent, or its status is inconsistent with the status of its parent.

§A normal root is any process v such that canBeRootv ∧ stv = C ∧ parentv =

⊥ ∧ dv = distRoot(v).

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 27/35

slide-60
SLIDE 60

Abnormal Roots

Inconsistencies are detected by some processes called Abnormal Roots A process u is an abnormal root if u is not a normal root§, stu = I, and satisfies one of the following three conditions:

its parent pointer does not designate a neighbor, its distance du is inconsistent with the distance of its parent, or its status is inconsistent with the status of its parent.

An abnormal root u is alive if stu = EF An abnormal tree is a tree rooted at an abnormal root. An abnormal tree is alive if it contains a node v such that stv = EF

§A normal root is any process v such that canBeRootv ∧ stv = C ∧ parentv =

⊥ ∧ dv = distRoot(v).

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 27/35

slide-61
SLIDE 61

Abnormal Roots

Inconsistencies are detected by some processes called Abnormal Roots A process u is an abnormal root if u is not a normal root§, stu = I, and satisfies one of the following three conditions:

its parent pointer does not designate a neighbor, its distance du is inconsistent with the distance of its parent, or its status is inconsistent with the status of its parent.

An abnormal root u is alive if stu = EF An abnormal tree is a tree rooted at an abnormal root. An abnormal tree is alive if it contains a node v such that stv = EF Main result: No abnormal alive root (resp. tree) is created during the execution.

§A normal root is any process v such that canBeRootv ∧ stv = C ∧ parentv =

⊥ ∧ dv = distRoot(v).

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 27/35

slide-62
SLIDE 62

Abnormal trees removal

Freeze before Remove Variable stu ∈ {I, C, EB, EF}

I means Isolated ◮ a process of status I can

  • join a tree only by choosing a neighbor of status C as parent, or
  • becoming a root

C means correct ◮ only processes of status C in a tree can modify their parent pointers and ◮ only by choosing a neighbor of status C as parent EB: Error Broadcast EF: Error Feedback

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 28/35

slide-63
SLIDE 63

Freeze before remove

C

I C EB EF

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 29/35

slide-64
SLIDE 64

Freeze before remove

C REB

I C EB EF

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 29/35

slide-65
SLIDE 65

Freeze before remove

EB

I C EB EF

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 29/35

slide-66
SLIDE 66

Freeze before remove

EB REF

I C EB EF

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 29/35

slide-67
SLIDE 67

Freeze before remove

EF

I C EB EF

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 29/35

slide-68
SLIDE 68

Freeze before remove

EF RR or RI

I C EB EF

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 29/35

slide-69
SLIDE 69

Freeze before remove

RR or RI EF EF

I C EB EF

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 29/35

slide-70
SLIDE 70

Freeze before remove

I C EB EF

The definition of abnormal root should take to possible inconsistencies

  • f variables st into account!

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 29/35

slide-71
SLIDE 71

Stabilization Time in Rounds

No alive abnormal tree created Height of an abnormal tree: at most nmaxCC

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 30/35

slide-72
SLIDE 72

Stabilization Time in Rounds

No alive abnormal tree created Height of an abnormal tree: at most nmaxCC Cleaning: ◮ EB-wave : nmaxCC ◮ EF-wave : nmaxCC ◮ R-wave : nmaxCC

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 30/35

slide-73
SLIDE 73

Stabilization Time in Rounds

No alive abnormal tree created Height of an abnormal tree: at most nmaxCC Cleaning: ◮ EB-wave : nmaxCC ◮ EF-wave : nmaxCC ◮ R-wave : nmaxCC Building of the spanning tree/forest: nmaxCC (like in the typical

execution)

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 30/35

slide-74
SLIDE 74

Stabilization Time in Rounds

No alive abnormal tree created Height of an abnormal tree: at most nmaxCC Cleaning: ◮ EB-wave : nmaxCC ◮ EF-wave : nmaxCC ◮ R-wave : nmaxCC Building of the spanning tree/forest: nmaxCC (like in the typical

execution)

O(4nmaxCC) rounds

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 30/35

slide-75
SLIDE 75

Stabilization Time in Moves (1/2)

Let GC be a connected component of G. Let SL(γ, GC) be the set of processes u ∈ GC such that, in the configuration γ, u is an alive abnormal root, or canBeRootu ∧ distRoot(u) ≺ du ∧ stu = C holds. Second case: u is candidate and can improve by becoming a root (RU)

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 31/35

slide-76
SLIDE 76

Stabilization Time in Moves (1/2)

Let GC be a connected component of G. Let SL(γ, GC) be the set of processes u ∈ GC such that, in the configuration γ, u is an alive abnormal root, or canBeRootu ∧ distRoot(u) ≺ du ∧ stu = C holds. Second case: u is candidate and can improve by becoming a root (RU) If a process satisfies one of these two conditions, then it does so from the beginning of the execution. Let e = γ0, · · · , γi be an execution: SL(γi+1, GC) ⊆ SL(γi, GC).

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 31/35

slide-77
SLIDE 77

Stabilization Time in Moves (1/2)

Let GC be a connected component of G. Let SL(γ, GC) be the set of processes u ∈ GC such that, in the configuration γ, u is an alive abnormal root, or canBeRootu ∧ distRoot(u) ≺ du ∧ stu = C holds. Second case: u is candidate and can improve by becoming a root (RU) If a process satisfies one of these two conditions, then it does so from the beginning of the execution. Let e = γ0, · · · , γi be an execution: SL(γi+1, GC) ⊆ SL(γi, GC).

The size of SL decreases

1st GC-segment 2nd GC-segment

− → At most nmaxCC + 1 GC-segments in GC

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 31/35

slide-78
SLIDE 78

Stabilization Time in Moves (2/2)

Let u be any process of GC. We proved that the sequence of rules executed by u during a GC-segment belongs to the following language: (RI + ε)(RR + ε)(RU)∗(REB + ε)(REF + ε).

Theorem 4

If the number of RU executions during a GC-segment by any process of GC is bounded by nb_UN, then the total number of moves in any execution is bounded by (nb_UN + 4)(nmaxCC + 1)n.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 32/35

slide-79
SLIDE 79

Stabilization Time in Moves (2/2)

Let u be any process of GC. We proved that the sequence of rules executed by u during a GC-segment belongs to the following language: (RI + ε)(RR + ε)(RU)∗(REB + ε)(REF + ε).

Theorem 4

If the number of RU executions during a GC-segment by any process of GC is bounded by nb_UN, then the total number of moves in any execution is bounded by (nb_UN + 4)(nmaxCC + 1)n. nb_UN is necessarily defined because du decreases at each RU(u) in a GC-segment.

Theorem 5

When all weights are strictly positive integers bounded by Wmax nb_UN ≤ Wmax(nmaxCC − 1)2 + 1

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 32/35

slide-80
SLIDE 80

Conclusion

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 33/35

slide-81
SLIDE 81

Conclusion

Our scheme is versatile since it can be applied to build efficient silent self-stabilizing algorithms for

leader election (+ spanning tree of type arbitrary, BFS, DFS, ...), or spanning tree or forest constructions of type: ◮ arbitrary ◮ BFS ◮ DFS ◮ Shortest-Path ◮ ...

in

identified or semi-anonymous (e.g., rooted)

networks.

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 34/35

slide-82
SLIDE 82

Thank you for your attention

Devismes et al. Silent Self-Stabilizing Scheme for Spanning-Tree-like Constructions 35/35