380 likes | 550 Views
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
E N D
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
Overlay Network Internet
Overlay Network Basic question:howtoorganizesites in a scalableandrobust overlaynetwork??? Problem: highjoin/leaveactivity!
Overlay Network Scalability: Every operationneedsatmost (poly-)logarithmic time andwork
Overlay Network Robustness: canrecoverfromanyattack(self-stabilizingoverlaynetwork)
Overview • Basic notation • Prior work • Self-stabilizing skip graph • Conclusion
Basic Notation Overlaynetwork: directedgraphG=(V,E): • V: setofnodes • E {(v,w) | v,wV}: setofedges v knows w D B C A
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.
Basic Notation • The nodesmayonlyknowthelocalstateoftheirdirectneighbors. • Onlythefollowingoverlaycommands: • u.insert(v,w): uasksneighborvtoestablishedgetoneighborw v v u u w w
Basic Notation • The nodesmayonlyknowthelocalstateoftheirdirectneighbors. • Onlythefollowingoverlaycommands: • u.move(v,w): uasksneighborvtoestablishedgetoneighborw andremoves(u,w) • nodeleteoperation! v v u u w w
Basic Notation • The nodesmayonlyknowthelocalstateoftheirdirectneighbors. • Onlythefollowingoverlaycommands: • u.move(v,w): uasksneighborvtoestablishedgetoneighborw andremoves(u,w) • sufficienttomerge parallel edges v v u u w w
Basic Notation Self-stabilizingoverlaynetwork:A networkthatcanget back to a desiredtopologyfromanyinitialstatein whichthenetworkis still weaklyconnected.
Basic Notation Duringtheself-stabilizationprocess: • Nodesetisfixed, all nodesreliable • Messages arrivewithin a time unit • Nomessageloss
Basic Notation Duringtheself-stabilizationprocess: • Time proceeds in synchronousrounds. • All actionsthatareenabled in a round (i.e. theirguardistrue) areexecuted. • All localandoverlaycommandsarecorrectlyexecutedwithinthegivenround. Simplifiesanalysis!
Basic Requirements • Scalability:OnlyO(polylog(n)) manyenabledactions per joinorleaveoperationtoget back to legal topology • Robustness:Self-stabilizationfromanyweaklyconnec-tedstate
OurRequirements • Scalability:OnlyO(polylog(n)) manyenabledactions per joinorleaveoperationtoget back to legal topology • Robustness:Quickself-stabilizationfromanyweaklyconnectedstate
Overview • Basic notation • Prior work • Self-stabilizing skip graph • Conclusion
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)
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
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´))
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
Overview • Basic notation • Prior work • Self-stabilizing skip graph • Conclusion
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 andiIN0: • v connects to closest successor and predecessor w (w.r.t. v.id) with prei(w) = prei(v)
Self-Stabilizing Skip Graph Nodes v with v.rs=0… Nodes v with v.rs=1…
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.
Self-Stabilizing Skip Graph Problem: original skipgraphdoes not allowlocalcheckingofcorrecttopology w v 01.. 10.. 11.. 00.. 11.. 10.. 01.. 11.. 10.. 00..
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 nodeswrangei(v)withprei(w) = prei(v) Result: SKIP+ Skip graph: rangei(v)=[predi(v),succi(v)]
Self-Stabilizing Skip Graph (log n)degree, (log n) diameter, (1) expansion w.h.p.
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
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
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
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
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.
Self-Stabilizing Skip Graph Proofof Theorem 1: • Bottom-upphase: connectedcomponentsareformedforeveryprefix 000 001 00 01 10 11 0 1
Self-Stabilizing Skip Graph Proofof Theorem 1: • Top-down phase: componentssorted
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