self-stabilizing algorithm with safe convergence building an (f,g)-alliance fabienne carrier ajoy k....

62
Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Upload: alison-crawford

Post on 18-Jan-2018

215 views

Category:

Documents


0 download

DESCRIPTION

Roadmap 1.Self-stabilization 2.Safe convergence 3.The problem 4.Contribution 5.Algorithm 6.Perspectives

TRANSCRIPT

Page 1: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance

Fabienne CarrierAjoy K. Datta

Stéphane DevismesLawrence L. Larmore

Yvan Rivierre

Page 2: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Co-Autors

Ajoy K. Datta & Lawrence L. Larmore

Fabienne Carrier & Yvan Rivierre

Page 3: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Roadmap

1. Self-stabilization

2. Safe convergence

3. The problem

4. Contribution

5. Algorithm

6. Perspectives

Page 4: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilization [Dijkstra,74]

Page 5: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilization [Dijkstra,74]

Transient Faults, e.g., memory corruption,

message lost …

Page 6: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilization [Dijkstra,74]

Page 7: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilization [Dijkstra,74]

Page 8: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilization [Dijkstra,74]

Page 9: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilization [Dijkstra,74]

Page 10: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilization [Dijkstra,74]

Page 11: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-Stabilization [Dijkstra,74]

Recover after any number of

transient faults

Page 12: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Pros and Cons

• Tolerate any finite number of transient faults

• No initialization– Large-scale network– Self-organization in

sensor network

• Dynamicity– Topological change ≈

Transient fault

• Tolerate only transient faults

• Eventual safety

• No stabilization detection

Page 13: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Pros and Cons

• Tolerate any finite number of transient faults

• No initialization– Large-scale network– Self-organization in

sensor network

• Dynamicity– Topological change ≈

Transient fault

• Tolerate only transient faults

• Eventual safety

• No stabilization detection

Page 14: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Related Work

• Enhancing safety:– Fault-containment [Ghosh et al, PODC’96]

– Superstabilization [Dolev & Herman, CJTCS’97]

– Time-adaptive Self-stabilization [Kutten & Patt-Shamir, PODC’97]

– Self-Stab + safe convergence [Kakugawa & Masuzawa, IPDPS’06]

– Etc.

Page 15: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Back to self-stabilization

Page 16: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Back to self-stabilization

No safety guarantee

Page 17: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Back to self-stabilization

Ω(D)

Page 18: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Back to self-stabilization

Are all illegitimate configurations

identically bad ?

Page 19: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Back to self-stabilization

Are all illegitimate configurations

identically bad ?Of course, NO !

Page 20: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-stabilization + Safe Convergence

No so bad

Really bad

good

Page 21: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-stabilization + Safe Convergence

Quick convergence time

Page 22: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Self-stabilization + Safe Convergence

• Optimal LC ⊆ feasable LC

• Set of feasable LC: CLOSED• Set of optimal LC: CLOSED

• Quick convergence to a feasable LC– (O(1) expected)

• Convergence to an optimal LC

Page 23: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

The problem: (f,g)-Alliance[Dourado et al, SSS’11]

• Alliance: subset of nodes• f, g: 2 functions mapping nodes to natural

integers

• For every process p:– p Alliance at least∉ ⇒ f(p) neighbors Alliance ∈– p Alliance at least ∈ ⇒ g(p) neighbors Alliance ∈

Page 24: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Example: (f,g)-Alliance

Red nodes form a (1,0)-Alliance

Page 25: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Example: (f,g)-Alliance

Red nodes DO NOT form a (1,0)-Alliance

Page 26: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

(f,g)-Alliance: generalization of several problems

• Dominating sets• K-dominating sets• K-tuple dominating sets• Global defensive alliance• Global offensive alliance

Page 27: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Minimality & 1-Minimality

• Let A be a set of nodes

• A is a minimal (f,g)-Alliance iff every proper subset of A is not an (f,g)-Alliance

• A is a 1-minimal (f,g)-Alliance iff ∀p ∈ A, A-{p} is not an (f,g)-Alliance

Page 28: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Example: (0,1)-Alliance

Red nodes form NEITHER a minimal NOR a 1-minimal (0,1)-Alliance

Page 29: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Example: (0,1)-Alliance

Red nodes form a 1-minimal (0,1)-Alliance but not a minimal one

Page 30: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Example: (0,1)-Alliance

Red nodes (empty set) both form a minimal AND a 1-minimal (0,1)-Alliance

Page 31: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Property[Dourado et al, SSS’11]

• Every minimal (f,g)-Alliance is a 1-minimal (f,g)-Alliance

• If for every node p, f(p) ≥ g(p), then– A is a minimal (f,g)-Alliance iff A is a 1-minimal

(f,g)-Alliance

Page 32: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Contribution• Self-Stabilizing Safe Converging Algorithm for computing the

minimal (f,g)-Alliance in identified networks: – Safe Convergence

• Stabilization in 4 rounds to a configuration, where an (f,g)-Alliance is defined

• Stabilization in 4n+4 additional rounds to a configuration, where minimal (f,g)-Alliance is defined

– Assumptions:• If for every node p, f(p) ≥ g(p) and δ(p) ≥ g(p)• Locally shared memory model, unfair daemon

– Other complexities• Memory requirement: O(log n) bits per process• Step complexity: O(Δ3n) (number of state changes)

Page 33: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Locally Shared Memory Model

Page 34: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Locally Shared Memory Model

Page 35: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Locally Shared Memory Model

Page 36: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Locally Shared Memory Model

Choices of the scheduler (daemon)Unfair daemon: no fairness assumption

Page 37: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Algorithm’s main ideas

Page 38: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

``Naïve Idea”

One boolean• Red: A∈• Green: A∉Two actions:• Join• Leave

Page 39: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

``Naïve Idea”

One boolean• Red: A∈• Green: A∉Two actions:• Join• Leave

To obtain safe convergence, it should be harder to leave than

to join

Page 40: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Leave the alliance

• p can leaves if :

1. At least f(p) neighbors A after ∈ p leaves AND

2. Each neighbor still have enough neighbors A ∈after p leaves

Page 41: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

At least f(p) neighbors A after ∈ p leaves

• Leaving should be locally sequential

• Example: (2,2)-Alliance

p

Neighbors

Page 42: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

At least f(p) neighbors A after ∈ p leaves

• Leaving should be locally sequential

• Example: (2,2)-Alliance

p

Neighbors

p

Neighbors

Page 43: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

At least f(p) neighbors A after ∈ p leaves

• Leaving should be locally sequential

• Example: (2,2)-Alliance

p

Neighbors

p

Neighbors

Page 44: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Pointer: authorization to leave

Nil

p

Neighbors

Page 45: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Each neighbor still have enough neighbor A after ∈ p leaves

• A neighbor q gives an authorization only if q still have enough neighbors A without ∈ p

p

q

(1,0)-Alliance

Page 46: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Each neighbor still have enough neighbor A after ∈ p leaves

• A neighbor q gives an authorization only if q still have enough neighbors A without ∈ p

p

q

(1,0)-AllianceIf q has several choicesID breaks ties

Page 47: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Nil

Deadlock problems

Nil

(1,0)-Alliance

Page 48: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Nil

Deadlock problems

Nil

(1,0)-Alliance

Busy !

Page 49: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Deadlock problems

Nil

(1,0)-Alliance

Busy !

Nil

Page 50: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Deadlock problems

Nil

(1,0)-Alliance

Busy !

Tie break ! Nil

Page 51: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Deadlock problems

Nil

Nil(1,0)-Alliance

Busy !

Tie break ! Nil

Page 52: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Deadlock problems

Nil

Nil(1,0)-Alliance

Busy !

Tie break ! Nil

Page 53: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

How evaluating Busy

• NP∩ A < f(p) (EASY)

• A neighbor q of p needs that p stays in the alliance, e.g.

(2,0)-Alliance

p qBusy !

Page 54: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

0

How evaluating Busy

• NP∩ A < f(p) (EASY)

• A neighbor q of p needs that p stays in the alliance, e.g.

03

(2,0)-Alliance

2p q

Busy !1

1 Nb

Page 55: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Last problem …

• (1,0)-Alliance

NilNil Nil

Page 56: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Last problem …

• (1,0)-Alliance

NilNil Nil

NilNil Nil

Page 57: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Last problem …

• (1,0)-Alliance

NilNil Nil

NilNil Nil

NilNil Nil

Page 58: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Last problem …

• Solution: strict alternation Nil,

NilNil Nil

Page 59: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Last problem …

• Solution: strict alternation Nil,

NilNil Nil

Nil NilNil Nil

Page 60: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Join the Alliance

• p A and N∉ P∩ A < f(p) (EASY)

• A neighbor q needs that p joins the alliance:– Evaluated by reading the status of q and q.Nb

• No neighbor points p

Page 61: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Perspectives

• Global stabilization in O(D)?

• Self-stabilization with safe convergence without any assumption on f and g?

Page 62: Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre

Thank you!