280 likes | 296 Views
A Self-Stabilizing O(n) -Round k -Clustering Algorithm. Stéphane Devismes , VERIMAG. Joint work with …. Ajoy K Datta & Lawrence L Larmore UNLV. Roadmap. Recall on self-stabilization Definition of the problem The solution Conclusion and perspectives. Roadmap.
E N D
A Self-Stabilizing O(n)-Roundk-Clustering Algorithm Stéphane Devismes, VERIMAG
Joint work with … Ajoy K Datta & Lawrence L Larmore UNLV SRDS'2009
Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009
Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009
Self-Stabilization: Closure + Convergence Closure Legitimate States Illegitimate States Convergence States of the System SRDS'2009
Tolerate Transient Faults • E.g., any finite number of memory or message corruptions, or topological changes SRDS'2009
Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009
k-clustering clusters k clusterheads SRDS'2009
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] SRDS'2009
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 [Datta et al, Comp. Jnl, 2009] NP-Hard SRDS'2009
Minimal k-dominating set • D V is a minimalk-dominating set iff • D is k-dominating and • no proper subset of D is k-dominating • Example for k = 3 SRDS'2009
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 SRDS'2009
Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009
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 SRDS'2009
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 SRDS'2009
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 SRDS'2009
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 SRDS'2009
Road to the solution Synchronous error-free environment Synchronous environment with faults Asynchronous environment with faults SRDS'2009
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 SRDS'2009
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 SRDS'2009
Example with k=3 and N=8 1 2 3 4 5 6 7 P.a ∞ 10 ∞ ∞ 13 ∞ 15 t=0 ∞,F 10,T ∞,F ∞,F 13,T ∞,F 15,T t=1 10,T 10,T 10,T 13,T 13,T 13,T 15,T 10,F 13,T 13,F 13,F t=2 10,T 10,T 10,F t=3, P.b 10,T 10,F 10,F 10,F 10,F 13,F 13,F t=4 10,T 10,T 10,F 10,F 13,F 13,F 13,F t=5 10,T 10,T 10,T 13,F 13,F 13,F 13,F t=6 10,T 10,T 13,F 13,F 13,F 13,F 13,F P.a ∞ 2 ∞ ∞ 13 ∞ ∞ SRDS'2009
Example with k=3 and N=8 1 2 3 4 5 6 7 P.a ∞ 2 ∞ ∞ 13 ∞ ∞ t=0 ∞,F 2,T ∞,F ∞,F 13,T ∞,F ∞,F t=1 2,T 2,T 2,T 13,T 13,T 13,T ∞,F 2,F 13,T 13,T 13,T t=2 2,T 2,T 2,F t=3, P.b 2,T 2,F 2,F 2,F 2,F 13,T 13,T t=4 2,T 2,T 2,F 2,F 13,T 13,T 13,T t=5 2,T 2,T 2,T 13,T 13,T 13,T 13,T t=6 2,T 2,T 13,T 13,T 13,T 13,T 13,T P.a ∞ 2 ∞ ∞ 5 ∞ ∞ SRDS'2009
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 SRDS'2009
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 SRDS'2009
Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009
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 SRDS'2009
Perspectives • Time and space optimality ? • How far from the optimal number of clusterheads ? SRDS'2009
Thank you! SRDS'2009