A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG
September 29th 2009SRDS'20092 Joint work with … Ajoy K Datta & Lawrence L Larmore UNLV
September 29th 2009SRDS'20093 Roadmap Recall on self-stabilization Definition of the problem The solution Conclusion and perspectives
September 29th 2009SRDS'20094 Roadmap Recall on self-stabilization Definition of the problem The solution Conclusion and perspectives
September 29th 2009SRDS'20095 Self-Stabilization: Closure + Convergence States of the System Illegitimate States Legitimate States Convergence Closure
September 29th 2009SRDS'20096 Tolerate Transient Faults E.g., any finite number of memory or message corruptions, or topological changes
September 29th 2009SRDS'20097 Roadmap Recall on self-stabilization Definition of the problem The solution Conclusion and perspectives
September 29th 2009SRDS'20098 k-clustering k k clusterheads clusters
September 29th 2009SRDS'20099 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]
September 29th 2009SRDS' 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]
September 29th 2009SRDS' 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
September 29th 2009SRDS' 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=2 b where b is the number bits to encode an ID
September 29th 2009SRDS' Roadmap Recall on self-stabilization Definition of the problem The solution Conclusion and perspectives
September 29th 2009SRDS' Principle Let E a set of nodes Let H k (E) be the k-neighborhood of E E is k-exclusive p E, H k (E) ≠H k (E/{P}) Example for k = 2 k-dominating and k-exclusive minimal k-dominating
September 29th 2009SRDS' Principle Let E a set of nodes Let H k (E) be the k-neighborhood of E E is k-exclusive p E, H k (E) ≠H k (E/{P}) Example for k = 2 k-dominating and k-exclusive minimal k-dominating
September 29th 2009SRDS' Principle Let E a set of nodes Let H k (E) be the k-neighborhood of E E is k-exclusive p E, H k (E) ≠H k (E/{P}) Example for k = 2 k-dominating and k-exclusive minimal k-dominating
September 29th 2009SRDS' Principle Let E a set of nodes Let H k (E) be the k-neighborhood of E E is k-exclusive p E, H k (E) ≠H k (E/{P}) Example for k = 2 k-dominating and k-exclusive minimal k-dominating
September 29th 2009SRDS' Road to the solution Synchronous error-free environment Synchronous environment with faults Asynchronous environment with faults
September 29th 2009SRDS' 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
September 29th 2009SRDS' 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
September 29th 2009SRDS' Example with k=3 and N= ∞∞13∞∞2∞P.a 13,F 10,T t=6 13,F 10,T t=5 13,F 10,F 10,T t=4 13,F 10,F 10,Tt=3, P.b 13,F 13,T10,F 10,T t=2 15,T13,T 10,T t=1 15,T∞,F13,T∞,F 10,T∞,Ft=0 15∞13∞∞10∞P.a
September 29th 2009SRDS' Example with k=3 and N= ∞∞5∞∞2∞P.a 13,T 2,T t=6 13,T 2,T t=5 13,T 2,F 2,T t=4 13,T 2,F 2,Tt=3, P.b 13,T 2,F 2,T t=2 ∞,F13,T 2,T t=1 ∞,F 13,T∞,F 2,T∞,Ft=0 ∞∞13∞∞2∞P.a
September 29th 2009SRDS' 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
September 29th 2009SRDS' 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
September 29th 2009SRDS' Roadmap Recall on self-stabilization Definition of the problem The solution Conclusion and perspectives
September 29th 2009SRDS' 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(n 2 ) steps Space complexity: – O(log n) bits per process
September 29th 2009SRDS' Perspectives Time and space optimality ? How far from the optimal number of clusterheads ?
September 29th 2009SRDS' Thank you!