280 likes | 410 Vues
This paper presents a self-stabilizing O(n)-round k-clustering algorithm, highlighting its principles, problem definitions, and solutions related to self-stabilization. It includes discussions on relevant concepts such as k-dominating sets and minimal k-dominating sets, presenting an algorithm designed to efficiently cluster nodes in arbitrary networks. The work emphasizes tolerating transient faults and introduces examples to illustrate the concepts further. The overall roadmap and perspectives for future research are also outlined, contributing significant insights to the field.
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