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

Post on 18-Jan-2018

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

Fabienne CarrierAjoy K. Datta

Stéphane DevismesLawrence L. Larmore

Yvan Rivierre

Co-Autors

Ajoy K. Datta & Lawrence L. Larmore

Fabienne Carrier & Yvan Rivierre

Roadmap

1. Self-stabilization

2. Safe convergence

3. The problem

4. Contribution

5. Algorithm

6. Perspectives

Self-Stabilization [Dijkstra,74]

Self-Stabilization [Dijkstra,74]

Transient Faults, e.g., memory corruption,

message lost …

Self-Stabilization [Dijkstra,74]

Self-Stabilization [Dijkstra,74]

Self-Stabilization [Dijkstra,74]

Self-Stabilization [Dijkstra,74]

Self-Stabilization [Dijkstra,74]

Self-Stabilization [Dijkstra,74]

Recover after any number of

transient faults

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

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

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.

Back to self-stabilization

Back to self-stabilization

No safety guarantee

Back to self-stabilization

Ω(D)

Back to self-stabilization

Are all illegitimate configurations

identically bad ?

Back to self-stabilization

Are all illegitimate configurations

identically bad ?Of course, NO !

Self-stabilization + Safe Convergence

No so bad

Really bad

good

Self-stabilization + Safe Convergence

Quick convergence time

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

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 ∈

Example: (f,g)-Alliance

Red nodes form a (1,0)-Alliance

Example: (f,g)-Alliance

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

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

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

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

Example: (0,1)-Alliance

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

Example: (0,1)-Alliance

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

Example: (0,1)-Alliance

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

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

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)

Locally Shared Memory Model

Locally Shared Memory Model

Locally Shared Memory Model

Locally Shared Memory Model

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

Algorithm’s main ideas

``Naïve Idea”

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

``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

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

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

• Leaving should be locally sequential

• Example: (2,2)-Alliance

p

Neighbors

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

• Leaving should be locally sequential

• Example: (2,2)-Alliance

p

Neighbors

p

Neighbors

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

• Leaving should be locally sequential

• Example: (2,2)-Alliance

p

Neighbors

p

Neighbors

Pointer: authorization to leave

Nil

p

Neighbors

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

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

Nil

Deadlock problems

Nil

(1,0)-Alliance

Nil

Deadlock problems

Nil

(1,0)-Alliance

Busy !

Deadlock problems

Nil

(1,0)-Alliance

Busy !

Nil

Deadlock problems

Nil

(1,0)-Alliance

Busy !

Tie break ! Nil

Deadlock problems

Nil

Nil(1,0)-Alliance

Busy !

Tie break ! Nil

Deadlock problems

Nil

Nil(1,0)-Alliance

Busy !

Tie break ! Nil

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 !

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

Last problem …

• (1,0)-Alliance

NilNil Nil

Last problem …

• (1,0)-Alliance

NilNil Nil

NilNil Nil

Last problem …

• (1,0)-Alliance

NilNil Nil

NilNil Nil

NilNil Nil

Last problem …

• Solution: strict alternation Nil,

NilNil Nil

Last problem …

• Solution: strict alternation Nil,

NilNil Nil

Nil NilNil Nil

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

Perspectives

• Global stabilization in O(D)?

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

Thank you!

top related