1 / 28

A Self-Stabilizing O(n) -Round k -Clustering Algorithm

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.

graceland
Download Presentation

A Self-Stabilizing O(n) -Round k -Clustering Algorithm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Self-Stabilizing O(n)-Roundk-Clustering Algorithm Stéphane Devismes, VERIMAG

  2. Joint work with … Ajoy K Datta & Lawrence L Larmore UNLV SRDS'2009

  3. Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009

  4. Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009

  5. Self-Stabilization: Closure + Convergence Closure Legitimate States Illegitimate States Convergence States of the System SRDS'2009

  6. Tolerate Transient Faults • E.g., any finite number of memory or message corruptions, or topological changes SRDS'2009

  7. Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009

  8. k-clustering clusters  k clusterheads 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] 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 [Datta et al, Comp. Jnl, 2009] NP-Hard SRDS'2009

  11. 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

  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 SRDS'2009

  13. Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives SRDS'2009

  14. Principle • Let E a set of nodes • Let Hk(E) be the k-neighborhood of E • E is k-exclusive pE, Hk(E) ≠Hk(E/{P}) • Example for k = 2 • k-dominating and k-exclusive minimal k-dominating SRDS'2009

  15. Principle • Let E a set of nodes • Let Hk(E) be the k-neighborhood of E • E is k-exclusive pE, Hk(E) ≠Hk(E/{P}) • Example for k = 2 • k-dominating and k-exclusive minimal k-dominating SRDS'2009

  16. Principle • Let E a set of nodes • Let Hk(E) be the k-neighborhood of E • E is k-exclusive pE, Hk(E) ≠Hk(E/{P}) • Example for k = 2 • k-dominating and k-exclusive minimal k-dominating SRDS'2009

  17. Principle • Let E a set of nodes • Let Hk(E) be the k-neighborhood of E • E is k-exclusive pE, Hk(E) ≠Hk(E/{P}) • Example for k = 2 • k-dominating and k-exclusive minimal k-dominating SRDS'2009

  18. Road to the solution Synchronous error-free environment Synchronous environment with faults Asynchronous environment with faults 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 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 SRDS'2009

  21. 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

  22. 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

  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 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 SRDS'2009

  25. Roadmap • Recall on self-stabilization • Definition of the problem • The solution • Conclusion and perspectives 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 SRDS'2009

  27. Perspectives • Time and space optimality ? • How far from the optimal number of clusterheads ? SRDS'2009

  28. Thank you! SRDS'2009

More Related