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 ID: 631859
Download Presentation The PPT/PDF document "Self-Stabilizing Algorithm" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance
Fabienne CarrierAjoy K. DattaStéphane DevismesLawrence L. LarmoreYvan RivierreSlide2
Co-Autors
Ajoy K. Datta & Lawrence L. Larmore
Fabienne
Carrier &
Yvan
RivierreSlide3
RoadmapSelf-stabilizationSafe convergenceThe problem
ContributionAlgorithmPerspectivesSlide4
Self-Stabilization [Dijkstra,74]Slide5
Self-Stabilization [Dijkstra,74]
Transient Faults,
e.g.
, memory corruption, message lost … Slide6
Self-Stabilization [Dijkstra,74]Slide7
Self-Stabilization [Dijkstra,74]Slide8
Self-Stabilization [Dijkstra,74]Slide9
Self-Stabilization [Dijkstra,74]Slide10
Self-Stabilization [Dijkstra,74]Slide11
Self-Stabilization [Dijkstra,74]
Recover
after any number of transient faultsSlide12
Pros and ConsTolerate any finite number of transient faultsNo initialization
Large-scale networkSelf-organization in sensor networkDynamicityTopological change ≈ Transient faultTolerate only
transient faults
Eventual safety
No
stabilization detectionSlide13
Pros and ConsTolerate any finite number of transient faultsNo initialization
Large-scale networkSelf-organization in sensor networkDynamicityTopological change ≈ Transient faultTolerate only
transient faults
Eventual safety
No
stabilization detectionSlide14
Related WorkEnhancing 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.Slide15
Back to self-stabilizationSlide16
Back to self-stabilization
No safety guaranteeSlide17
Back to self-stabilization
Ω(D)Slide18
Back to self-stabilization
Are all illegitimate configurations identically bad ?Slide19
Back to self-stabilization
Are all illegitimate configurations identically bad ?Of course, NO !Slide20
Self-stabilization + Safe Convergence
No so badReally badgoodSlide21
Self-stabilization + Safe Convergence
Quick convergence timeSlide22
Self-stabilization + Safe ConvergenceOptimal LC ⊆ feasable LCSet of feasable
LC: CLOSEDSet of optimal LC: CLOSEDQuick convergence to a feasable LC(O(1) expected)Convergence to an optimal LCSlide23
The problem: (f,g)-Alliance[Dourado et al, SSS’11]
Alliance: subset of nodesf, g: 2 functions mapping nodes to natural integersFor every process p:p ∉ Alliance ⇒ at least f(p) neighbors ∈ Alliance p ∈ Alliance ⇒ at least g(p) neighbors ∈ Alliance Slide24
Example: (f,g)-Alliance
Red nodes form a
(
1
,
0
)-AllianceSlide25
Example: (f,g)-Alliance
Red nodes
DO NOT
form a (
1
,
0
)-AllianceSlide26
(f,g)-Alliance: generalization of several problemsDominating setsK-dominating setsK-tuple
dominating setsGlobal defensive allianceGlobal offensive allianceSlide27
Minimality & 1-MinimalityLet A be a set of nodesA is a minimal (
f,g)-Alliance iff every proper subset of A is not an (f,g)-AllianceA is a 1-minimal (f,g)-Alliance iff ∀p ∈ A, A-{
p} is not an (f,g)-Alliance Slide28
Example: (0,1)-Alliance
Red nodes form
NEITHER a minimal NOR a 1-minimal
(
0
,
1
)-AllianceSlide29
Example: (0,1)-Alliance
Red nodes form
a 1-minimal
(
0
,
1
)-Alliance but not a
minimal
oneSlide30
Example: (0,1)-Alliance
Red nodes (empty set) both form a
minimal AND
a
1-minimal
(
0
,
1
)-AllianceSlide31
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), thenA is a minimal (f,g
)-Alliance iff A is a 1-minimal (
f
,
g
)-Alliance Slide32
ContributionSelf-Stabilizing Safe Converging Algorithm for computing the minimal (f,g)-Alliance in identified networks:
Safe ConvergenceStabilization in 4 rounds to a configuration, where an (f,g)-Alliance is definedStabilization 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) Slide33
Locally Shared Memory ModelSlide34
Locally Shared Memory ModelSlide35
Locally Shared Memory ModelSlide36
Locally Shared Memory Model
Choices of the scheduler (daemon)
Unfair daemon: no fairness assumptionSlide37
Algorithm’s main ideasSlide38
``Naïve Idea”
One
boolean
Red: ∈ A
Green: ∉ A
Two actions:
Join
Leave Slide39
``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
joinSlide40
Leave the alliance p can leaves if :At least f(p) neighbors ∈ A after
p leaves ANDEach neighbor still have enough neighbors ∈ A after p leaves Slide41
At least f(p) neighbors ∈ A after p leavesLeaving should be locally sequential
Example: (2,2)-Alliance
p
NeighborsSlide42
At least f(p) neighbors ∈ A after p leavesLeaving should be locally sequential
Example: (2,2)-Alliance
p
Neighbors
p
NeighborsSlide43
At least f(p) neighbors ∈ A after p leavesLeaving should be locally sequential
Example: (2,2)-Alliance
p
Neighbors
p
NeighborsSlide44
Pointer: authorization to leaveNil
pNeighborsSlide45
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
)-AllianceSlide46
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
If
q
has several choices
ID breaks tiesSlide47
Nil
Deadlock problemsNil
(
1
,
0
)-AllianceSlide48
Nil
Deadlock problemsNil
(
1
,
0
)-Alliance
Busy !Slide49
Deadlock problems
Nil
(
1
,
0
)-Alliance
Busy !
NilSlide50
Deadlock problems
Nil
(
1
,
0
)-Alliance
Busy !
Tie break !
NilSlide51
Deadlock problems
NilNil
(
1
,
0
)-Alliance
Busy !
Tie break !
NilSlide52
Deadlock problems
NilNil
(
1
,
0
)-Alliance
Busy !
Tie break !
NilSlide53
How evaluating
BusyNP∩ A < f(p) (EASY)A neighbor q of p needs that p stays in the alliance, e.g.
(
2
,
0
)-Alliance
p
q
Busy !Slide54
0
How evaluating BusyNP∩ A < f(p) (EASY)A neighbor q of p needs that p stays in the alliance, e.g.
0
3
(
2
,
0
)-Alliance
2
p
q
Busy !
1
1
NbSlide55
Last problem …(1
,0)-AllianceNil
Nil
NilSlide56
Last problem …(1
,0)-AllianceNil
Nil
Nil
Nil
Nil
NilSlide57
Last problem …(1
,0)-AllianceNil
Nil
Nil
Nil
Nil
Nil
Nil
Nil
NilSlide58
Last problem …Solution: strict alternation Nil,
Nil
Nil
NilSlide59
Last problem …Solution: strict alternation Nil,
Nil
Nil
Nil
Nil
Nil
Nil
NilSlide60
Join the Alliancep ∉ A and NP∩ A < f(p) (EASY)
A neighbor q needs that p joins the alliance: Evaluated by reading the status of q and q.NbNo neighbor points p Slide61
PerspectivesGlobal stabilization in O(D)?Self-stabilization with safe convergence without any assumption on f and g
? Slide62
Thank you!