a self-stabilizing o(n)-round k-clustering algorithm stéphane devismes, verimag

28
A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG QuickTime™ e décompresseur TIF sont requis pour QuickTime™ et décompresseur TIF sont requis pour v

Upload: madeline-dickerson

Post on 05-Jan-2016

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

A Self-Stabilizing O(n)-Roundk-Clustering Algorithm

Stéphane Devismes, VERIMAG

QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.

Page 2: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 2

Joint work with …

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

QuickTime™ et undécompresseur TIFF (non compressé)

sont requis pour visionner cette image.

Ajoy K Datta & Lawrence L LarmoreUNLV

Page 3: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 3

Roadmap

• Recall on self-stabilization

• Definition of the problem

• The solution

• Conclusion and perspectives

Page 4: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 4

Roadmap

• Recall on self-stabilization

• Definition of the problem

• The solution

• Conclusion and perspectives

Page 5: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 5

Self-Stabilization: Closure + Convergence

States of the System

Illegitimate States Legitimate States

Convergence

Closure

Page 6: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 6

Tolerate Transient Faults• E.g., any finite number of memory or

message corruptions, or topological changes

Page 7: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 7

Roadmap

• Recall on self-stabilization

• Definition of the problem

• The solution

• Conclusion and perspectives

Page 8: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 8

k-clustering

kclusterheads

clusters

Page 9: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 9

Related Works(for arbitrary networks)

• Many (self-stabilizing) 1-clustering algorithms

• Several non self-stabilizing k-clustering

algorithms

• One self-stabilizing k-clustering algorithm:

[Datta et al, Comp. Jnl, 2009]

Page 10: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 10

k-dominating set

• Let G=(V,E)• D V is a k-dominating set p V/D, q D, Dist(p,q) k

• Example : k = 3

• k-dominating set = k-clustering: the clusterhead of every node is the closest member of D

• Minimum k-dominating set ? • Proposal : self-stabilizing algorithm for minimal k-dominating set

NP-Hard

[Datta et al, Comp. Jnl, 2009]

Page 11: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 11

Minimal k-dominating set

• D V is a minimal k-dominating set iff – D is k-dominating and – no proper subset of D is k-dominating

• Example for k = 3

Page 12: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 12

Setting• Arbitrary topology with IDs on processes• Composite R/W atomicity• Given I a k-dominating set:

– I is computed using [Datta et al, Comp. Jnl, 2009]– I is the set of all processes

• Any process p only knows if p I, or not• Constraint: D I• Any process p knows N=2b where b is the number bits

to encode an ID

Page 13: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 13

Roadmap

• Recall on self-stabilization

• Definition of the problem

• The solution

• Conclusion and perspectives

Page 14: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 14

Principle

• Let E a set of nodes

• Let Hk(E) be the k-neighborhood of E

• E is k-exclusive pE, Hk(E) ≠Hk(E/{P})

• Example for k = 2

• k-dominating and k-exclusive minimal k-dominating

Page 15: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 15

Principle

• Let E a set of nodes

• Let Hk(E) be the k-neighborhood of E

• E is k-exclusive pE, Hk(E) ≠Hk(E/{P})

• Example for k = 2

• k-dominating and k-exclusive minimal k-dominating

Page 16: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 16

Principle

• Let E a set of nodes

• Let Hk(E) be the k-neighborhood of E

• E is k-exclusive pE, Hk(E) ≠Hk(E/{P})

• Example for k = 2

• k-dominating and k-exclusive minimal k-dominating

Page 17: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 17

Principle

• Let E a set of nodes

• Let Hk(E) be the k-neighborhood of E

• E is k-exclusive pE, Hk(E) ≠Hk(E/{P})

• Example for k = 2

• k-dominating and k-exclusive minimal k-dominating

Page 18: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 18

Road to the solution

Synchronous error-free environment

Synchronous environment with faults

Asynchronous environment with faults

Page 19: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 19

Synchronous error-free environment

• Initially: D = I and E = • Cycles from 0 to 2k ticks: learning information at distance k• After each two cycles, if E≠D :

– Some nodes can be removed from D– A least one node is added to E

• Invariant:– D is k-dominating– E is k-exclusive– E D

• Termination: D = E, i.e., D is a minimal k-dominating set

Page 20: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 20

Synchronous error-free environment

P V, P.a:

– P.a = P.id P E

– P.a = P.id+N P D and P E

– P.a = ∞ P D

P V, P.b = min{Q.a, Dist(P,Q)≤k}

Q, Dist(P,Q)≤k and Q.b=P.a P remains in D

• If P is the unique element of D within distance k of some

process Q, P is inserted into E

Page 21: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 21

Example with k=3 and N=871 2 3 4 5 6

∞∞13∞∞2∞P.a

13,F13,F13,F13,F13,F10,T10,Tt=6

13,F13,F13,F13,F10,T10,T10,Tt=5

13,F13,F13,F10,F10,F10,T10,Tt=4

13,F13,F10,F10,F10,F10,F10,Tt=3, P.b

13,F13,F13,T10,F10,F10,T10,Tt=2

15,T13,T13,T13,T10,T10,T10,Tt=1

15,T∞,F13,T∞,F∞,F10,T∞,Ft=0

15∞13∞∞10∞P.a

Page 22: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 22

Example with k=3 and N=871 2 3 4 5 6

∞∞5∞∞2∞P.a

13,T13,T13,T13,T13,T2,T2,Tt=6

13,T13,T13,T13,T2,T2,T2,Tt=5

13,T13,T13,T2,F2,F2,T2,Tt=4

13,T13,T2,F2,F2,F2,F2,Tt=3, P.b

13,T13,T13,T2,F2,F2,T2,Tt=2

∞,F13,T13,T13,T2,T2,T2,Tt=1

∞,F∞,F13,T∞,F∞,F2,T∞,Ft=0

∞∞13∞∞2∞P.a

Page 23: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 23

Dealing with errors

• Too many elements of E:– These elements eventually have their Boolean FALSE – In this case, there are removed from E

• Too few elements of D:– Some Q satisfies Q.b = ∞– In this case, the MAX computed in the snd half of the cycle

is equal ∞ for any process of I within k hops from Q – These processes are inserted in D

Page 24: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 24

Dealing with asynchrony

• Self-stabilizing phase clock algorithm:– Boulinier et al, PODC’04– Let P,Q two neighbors, P.t {Q.t,Q.t-1,Q.t+1}– When P increments its clock from t-1 to t:

• t {Q.t,Q.t-1}, for every neighbor Q

– Our computations from t-1 to t are based on values at t-1:

• We just have to store values computed at time P.t, P.t-1, for every process P

Page 25: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 25

Roadmap

• Recall on self-stabilization

• Definition of the problem

• The solution

• Conclusion and perspectives

Page 26: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 26

Conclusion

• A self-stabilizing k-clustering algorithm:

– Arbitrary minimal k-dominating set, or

– Minimal k-dominating set subset of a given k-dominating set

• Stabilization time:– O(n) rounds– O(n2) steps

• Space complexity:– O(log n) bits per process

Page 27: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 27

Perspectives

• Time and space optimality ?

• How far from the optimal number of clusterheads ?

Page 28: A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG

September 29th 2009 SRDS'2009 28

Thank you!