620 likes | 710 Views
Self-Stabilizing Algorithm with S afe C onvergence 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. Roadmap.
E N D
Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore YvanRivierre
Co-Autors Ajoy K. Datta & Lawrence L. Larmore Fabienne Carrier & YvanRivierre
Roadmap • Self-stabilization • Safe convergence • The problem • Contribution • Algorithm • Perspectives
Self-Stabilization [Dijkstra,74] Transient Faults, e.g., memory corruption, message lost …
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 onlytransient 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 onlytransient faults • Eventual safety • No stabilization detection
Related Work • Enhancing safety: • Fault-containment [Ghoshet 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 No safety guarantee
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 Really bad No so 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[Douradoet al, SSS’11] • Alliance: subset of nodes • f, g: 2 functions mapping nodes to natural integers • For every process p: • p ∉ Alliance ⇒ at leastf(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 iffevery 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[Douradoet 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(logn) bits per process • Step complexity: O(Δ3n) (number of state changes)
Locally Shared Memory Model Choices of the scheduler (daemon) Unfair daemon: no fairness assumption
``Naïve Idea” • One boolean • Red: ∈ A • Green: ∉ A • Two actions: • Join • Leave
``Naïve Idea” To obtain safe convergence, it should be harder to leave than to join • One boolean • Red: ∈ A • Green: ∉ A • Two actions: • Join • Leave
Leave the alliance • p can leaves if : • At least f(p) neighbors ∈ A after pleaves AND • Each neighbor still have enough neighbors ∈ A after pleaves
At least f(p) neighbors ∈ A after pleaves • Leaving should be locally sequential • Example: (2,2)-Alliance p Neighbors
At least f(p) neighbors ∈ A after pleaves • Leaving should be locally sequential • Example: (2,2)-Alliance p p Neighbors Neighbors
At least f(p) neighbors ∈ A after pleaves • Leaving should be locally sequential • Example: (2,2)-Alliance p p Neighbors Neighbors
Pointer: authorization to leave Nil p Neighbors
Each neighbor still have enough neighbor ∈ A after pleaves • A neighbor q gives an authorization only if q still have enough neighbors ∈ A without p p (1,0)-Alliance q
Each neighbor still have enough neighbor ∈ A after pleaves • A neighbor q gives an authorization only if q still have enough neighbors ∈ A without p p (1,0)-Alliance If q has several choices ID breaks ties q
Deadlock problems Nil Nil (1,0)-Alliance
Deadlock problems Busy ! Nil Nil (1,0)-Alliance
Deadlock problems Busy ! Nil Nil (1,0)-Alliance
Deadlock problems Busy ! Nil Nil Tie break ! (1,0)-Alliance