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
![Page 1: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/1.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/2.jpg)
Co-Autors
Ajoy K. Datta & Lawrence L. Larmore
Fabienne Carrier & Yvan Rivierre
![Page 3: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/3.jpg)
Roadmap
1. Self-stabilization
2. Safe convergence
3. The problem
4. Contribution
5. Algorithm
6. Perspectives
![Page 4: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/4.jpg)
Self-Stabilization [Dijkstra,74]
![Page 5: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/5.jpg)
Self-Stabilization [Dijkstra,74]
Transient Faults, e.g., memory corruption,
message lost …
![Page 6: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/6.jpg)
Self-Stabilization [Dijkstra,74]
![Page 7: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/7.jpg)
Self-Stabilization [Dijkstra,74]
![Page 8: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/8.jpg)
Self-Stabilization [Dijkstra,74]
![Page 9: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/9.jpg)
Self-Stabilization [Dijkstra,74]
![Page 10: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/10.jpg)
Self-Stabilization [Dijkstra,74]
![Page 11: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/11.jpg)
Self-Stabilization [Dijkstra,74]
Recover after any number of
transient faults
![Page 12: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/12.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/13.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/14.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/15.jpg)
Back to self-stabilization
![Page 16: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/16.jpg)
Back to self-stabilization
No safety guarantee
![Page 17: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/17.jpg)
Back to self-stabilization
Ω(D)
![Page 18: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/18.jpg)
Back to self-stabilization
Are all illegitimate configurations
identically bad ?
![Page 19: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/19.jpg)
Back to self-stabilization
Are all illegitimate configurations
identically bad ?Of course, NO !
![Page 20: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/20.jpg)
Self-stabilization + Safe Convergence
No so bad
Really bad
good
![Page 21: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/21.jpg)
Self-stabilization + Safe Convergence
Quick convergence time
![Page 22: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/22.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/23.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/24.jpg)
Example: (f,g)-Alliance
Red nodes form a (1,0)-Alliance
![Page 25: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/25.jpg)
Example: (f,g)-Alliance
Red nodes DO NOT form a (1,0)-Alliance
![Page 26: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/26.jpg)
(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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/27.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/28.jpg)
Example: (0,1)-Alliance
Red nodes form NEITHER a minimal NOR a 1-minimal (0,1)-Alliance
![Page 29: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/29.jpg)
Example: (0,1)-Alliance
Red nodes form a 1-minimal (0,1)-Alliance but not a minimal one
![Page 30: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/30.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/31.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/32.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/33.jpg)
Locally Shared Memory Model
![Page 34: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/34.jpg)
Locally Shared Memory Model
![Page 35: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/35.jpg)
Locally Shared Memory Model
![Page 36: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/36.jpg)
Locally Shared Memory Model
Choices of the scheduler (daemon)Unfair daemon: no fairness assumption
![Page 37: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/37.jpg)
Algorithm’s main ideas
![Page 38: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/38.jpg)
``Naïve Idea”
One boolean• Red: A∈• Green: A∉Two actions:• Join• Leave
![Page 39: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/39.jpg)
``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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/40.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/41.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/42.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/43.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/44.jpg)
Pointer: authorization to leave
Nil
p
Neighbors
![Page 45: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/45.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/46.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/47.jpg)
Nil
Deadlock problems
Nil
(1,0)-Alliance
![Page 48: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/48.jpg)
Nil
Deadlock problems
Nil
(1,0)-Alliance
Busy !
![Page 49: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/49.jpg)
Deadlock problems
Nil
(1,0)-Alliance
Busy !
Nil
![Page 50: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/50.jpg)
Deadlock problems
Nil
(1,0)-Alliance
Busy !
Tie break ! Nil
![Page 51: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/51.jpg)
Deadlock problems
Nil
Nil(1,0)-Alliance
Busy !
Tie break ! Nil
![Page 52: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/52.jpg)
Deadlock problems
Nil
Nil(1,0)-Alliance
Busy !
Tie break ! Nil
![Page 53: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/53.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/54.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/55.jpg)
Last problem …
• (1,0)-Alliance
NilNil Nil
![Page 56: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/56.jpg)
Last problem …
• (1,0)-Alliance
NilNil Nil
NilNil Nil
![Page 57: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/57.jpg)
Last problem …
• (1,0)-Alliance
NilNil Nil
NilNil Nil
NilNil Nil
![Page 58: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/58.jpg)
Last problem …
• Solution: strict alternation Nil,
NilNil Nil
![Page 59: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/59.jpg)
Last problem …
• Solution: strict alternation Nil,
NilNil Nil
Nil NilNil Nil
![Page 60: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/60.jpg)
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 S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/61.jpg)
Perspectives
• Global stabilization in O(D)?
• Self-stabilization with safe convergence without any assumption on f and g?
![Page 62: Self-Stabilizing Algorithm with S afe C onvergence building an ( f , g )-Alliance](https://reader036.fdocuments.net/reader036/viewer/2022081604/56816762550346895ddc3a2a/html5/thumbnails/62.jpg)
Thank you!