1 / 37

A Distributed Polylogarithmic Time Algorithm for Self-Stabilizing Skip Graphs

A Distributed Polylogarithmic Time Algorithm for Self-Stabilizing Skip Graphs. Andrea Richa Dept. of Computer Science Arizona State University. Stefan Schmid & Christian Scheideler Dept. of Computer Science University of Paderborn. Riko Jacob & Hanjo Täubig Dept. of Computer Science

rafael
Télécharger la présentation

A Distributed Polylogarithmic Time Algorithm for Self-Stabilizing Skip Graphs

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 Distributed Polylogarithmic Time Algorithm for Self-Stabilizing Skip Graphs Andrea Richa Dept. of Computer Science Arizona State University Stefan Schmid & Christian Scheideler Dept. of Computer Science University of Paderborn Riko Jacob & Hanjo Täubig Dept. of Computer Science TechnischeUniversitätMünchen

  2. Overlay Network Internet

  3. Overlay Network Basic question:howtoorganizesites in a scalableandrobust overlaynetwork??? Problem: highjoin/leaveactivity!

  4. Overlay Network Scalability: Every operationneedsatmost (poly-)logarithmic time andwork

  5. Overlay Network Robustness: canrecoverfromanyattack(self-stabilizingoverlaynetwork)

  6. Overview • Basic notation • Prior work • Self-stabilizing skip graph • Conclusion

  7. Basic Notation Overlaynetwork: directedgraphG=(V,E): • V: setofnodes • E  {(v,w) | v,wV}: setofedges v knows w D B C A

  8. Basic Notation State of a node v: • Local variables • NeighborhoodN(v) • Set ofactions/rulesofthe form<label>: <guard>  <commands> • The set of actions is thesame for every node and is supposed to be immutable.

  9. Basic Notation • The nodesmayonlyknowthelocalstateoftheirdirectneighbors. • Onlythefollowingoverlaycommands: • u.insert(v,w): uasksneighborvtoestablishedgetoneighborw v v u u w w

  10. Basic Notation • The nodesmayonlyknowthelocalstateoftheirdirectneighbors. • Onlythefollowingoverlaycommands: • u.move(v,w): uasksneighborvtoestablishedgetoneighborw andremoves(u,w) • nodeleteoperation! v v u u w w

  11. Basic Notation • The nodesmayonlyknowthelocalstateoftheirdirectneighbors. • Onlythefollowingoverlaycommands: • u.move(v,w): uasksneighborvtoestablishedgetoneighborw andremoves(u,w) • sufficienttomerge parallel edges v v u u w w

  12. Basic Notation Self-stabilizingoverlaynetwork:A networkthatcanget back to a desiredtopologyfromanyinitialstatein whichthenetworkis still weaklyconnected.

  13. Basic Notation Duringtheself-stabilizationprocess: • Nodesetisfixed, all nodesreliable • Messages arrivewithin a time unit • Nomessageloss

  14. Basic Notation Duringtheself-stabilizationprocess: • Time proceeds in synchronousrounds. • All actionsthatareenabled in a round (i.e. theirguardistrue) areexecuted. • All localandoverlaycommandsarecorrectlyexecutedwithinthegivenround. Simplifiesanalysis!

  15. Basic Requirements • Scalability:OnlyO(polylog(n)) manyenabledactions per joinorleaveoperationtoget back to legal topology • Robustness:Self-stabilizationfromanyweaklyconnec-tedstate

  16. OurRequirements • Scalability:OnlyO(polylog(n)) manyenabledactions per joinorleaveoperationtoget back to legal topology • Robustness:Quickself-stabilizationfromanyweaklyconnectedstate

  17. Overview • Basic notation • Prior work • Self-stabilizing skip graph • Conclusion

  18. Prior Work • Self-stabilizationgoes back toDijkstra´sseminalwork in 1974 • Self-stabilizingalgorithmsknownforleaderelection, variouscommunicationprotocols, graphtheoryproblems, terminationdetection, clocksynchronization, etc. • Underlying networkisusuallyassumedtobestatic(if not, thenchangesarenot undercontrolofalgorithm but happen in a randomoradversarialmanner)

  19. Prior Work • Staticnetworksallowefficientcross-checkingofdistributedcomputation • Development ofvarioustechniquesthatconvertconventionalalgorithmsintoself-stabilizingalgorithms(Awerbuch, Dolev, Herman, Kutten, Patt-Shamir, Varghese,…) v u St+1(u) = f(St(u),St(v),St(w)) w

  20. Prior Work Twooptions: These generaltechniques do not work (well) forself-stabilizingoverlaynetworks. • find oldneighbors • reset Time t Time t+1 w v u u w´ v´ w´´ St+1(u) = f(St(u),St(v),St(v´))

  21. Prior Work Suprisinglylittleknownforself-stabilizing overlaynetworks • Chordnetwork [Stoica et al.]: recoveryfromcertaindegeneratestates.Problem:Chord not locallycheckable • Skip graphs [Aspnes & Shah]: recoveryfromcertaindegeneratestates.Problem: skipgraphs not locallycheckableas well • Self-stabilizingline/cycle/hypertree:- Angluin, Aspnes, … 2005- Cramer & Fuhrmann 2005- Shaker & Reeves 2005- Dolev & Kat 2007

  22. Overview • Basic notation • Prior work • Self-stabilizing skip graph • Conclusion

  23. Self-Stabilizing Skip Graph • Each node v has arbitrary unique name v.idand random bit string v.rs • v.id and v.rs are assumed to be immutable • prei(v): firstibits ofv.rs Skip graph rule: For every node v andiIN0: • v connects to closest successor and predecessor w (w.r.t. v.id) with prei(w) = prei(v)

  24. Self-Stabilizing Skip Graph Nodes v with v.rs=0… Nodes v with v.rs=1…

  25. Self-Stabilizing Skip Graph Hierarchical view: 000 001 00 01 10 11 0 1  (log n)degree, (log n) diameter, (1) expansion w.h.p.

  26. Self-Stabilizing Skip Graph Problem: original skipgraphdoes not allowlocalcheckingofcorrecttopology w v 01.. 10.. 11.. 00.. 11.. 10.. 01.. 11.. 10.. 00..

  27. Self-Stabilizing Skip Graph Problem: original skipgraphdoes not allowlocalcheckingofcorrecttopology Solution: extendconnections Foreachnodevlet • succi(v,b), b{0,1}: closestsuccessorofvwithprefixprei(v)b • predi(v,b), b{0,1}: closestpredecessorofvwithprefixprei(v)b • rangei(v)=[minbpredi(v,b), maxb succi(v,b)] v connectsto all nodeswrangei(v)withprei(w) = prei(v) Result: SKIP+ Skip graph: rangei(v)=[predi(v),succi(v)]

  28. Self-Stabilizing Skip Graph (log n)degree, (log n) diameter, (1) expansion w.h.p.

  29. Self-Stabilizing Skip Graph • edge(u,v) stable: SKIP+ edgefromviewpointofu • otherwise, (u,v) istemporary • flagF(v): indicator in uwhether(u,v) stable Rule 1a: createreverseedges u v u v stable

  30. Self-Stabilizing Skip Graph Rule 1b/c: introducestableedges Rule 2: forwardtemporaryedges v v u u b c w w w.id  rangei(v) v v u u temp stable w(longerprefixmatch) w

  31. Self-Stabilizing Skip Graph Rule 3a: introduce alluchangessetofstableneighbors: initiatesinsert(v,w)for all neighborsv,wofu Rule 3b: linearize v1 v2 v3 vk v1 v2 v3 vk … … stable stable stable u u

  32. Self-Stabilizing Skip Graph Eachnodeu followssixrules: • Rule 1a: createreverseedgestou • Rules 1b and 1c: introducestableedgesbetweenneighborsofu • Rule 2:forwardtemporaryedges • Rule 3a: introduce all whenstableneighborhoodchanges • Rule 3b: linearizestableneighborhood

  33. Self-Stabilizing Skip Graph Theorem 1: Foranyweaklyconnectedgraph, therulesestablish SKIP+ in O(log2 n)roundsw.h.p. Theorem 2: Anyjoinorleaveoperation in a perfect SKIP+ requiresatmostO(log4 n)work.

  34. Self-Stabilizing Skip Graph Proofof Theorem 1: • Bottom-upphase: connectedcomponentsareformedforeveryprefix 000 001 00 01 10 11 0 1 

  35. Self-Stabilizing Skip Graph Proofof Theorem 1: • Top-down phase: componentssorted

  36. Conclusions Many interesting fronts to work on in context of self-stabilizing overlay networks: • Show O(log n) runtime bound • bound/restrict number of enabled actions to polylog at each node per round • self-stabilizing networks under adversarial behavior • self-preserving networks • self-optimizing networks

  37. Questions?

More Related