Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance
description
Transcript of Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance
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!