1
play

1 Convergent consistency Kelips To illustrate our point, contrast - PDF document

On Gossip and Shape Epidemic Algorithms and Why is gossip interesting? Emergent Shape Powerful convergence properties? Especially in support of epidemics Mathematical elegance? Ken Birman But only if the system model


  1. On Gossip and Shape Epidemic Algorithms and � Why is gossip interesting? Emergent Shape � Powerful convergence properties? � Especially in support of epidemics � Mathematical elegance? Ken Birman � But only if the system model cooperates � New forms of consistency? � But here, connection to randomness stands out as a particularly important challenge Leiden; Dec 06 Gossip-Based Networking Workshop 1 Leiden; Dec 06 Gossip-Based Networking Workshop 2 On Gossip and Shape Value of convergence � Convergence around a materialized � Many gossip/epidemic protocols “graph” or “network topology” converge exponentially quickly illustrates several of these points � Giving rise to “probability 1.0” outcomes � Contrasts convergence with logical � Even model simplifications (such as determinism of traditional protocols idealized network) are washed away! � Opens the door to interesting analysis � A rarity: a theory that manages to predict what we see in practice! � But poses deeper questions about biased gossip and randomness Leiden; Dec 06 Gossip-Based Networking Workshop 3 Leiden; Dec 06 Gossip-Based Networking Workshop 4 Convergence Consistency � A term to capture the idea that if A and B � I’ll use the term to refer to protocols could compare their states, no contradiction that approach a desired outcome is evident exponentially quickly � In systems with “logical” consistency, we say � Implies that new information mixes things like “A’s history is a closed prefix of B’s history under causality” (travels) with at most log(N) delay � With probabilistic systems we seek exponentially decreasing probability (as time elapses) that A knows “x” but B doesn’t � Gossip systems are usually probabilistic Leiden; Dec 06 Gossip-Based Networking Workshop 5 Leiden; Dec 06 Gossip-Based Networking Workshop 6 1

  2. Convergent consistency Kelips � To illustrate our point, contrast Cornell’s Kelips system with MIT’s Chord Take a a collection of “nodes” � Chord: The McDonald’s of DHTs 110 � Kelips: DHT by Birman, Gupta, Linga. 230 202 � Prakash Linga is extending Kelips to 30 support multi-dimensional indexing, range queries, self -rebalancing � Kelips is convergent. Chord isn’t Leiden; Dec 06 Gossip-Based Networking Workshop 7 Leiden; Dec 06 Gossip-Based Networking Workshop 8 Kelips Kelips 110 knows about other members – 230, 30… Affinity Groups: Affinity Groups: peer membership thru Affinity group view peer membership thru Map nodes to consistent hash consistent hash id hbeat rtt affinity groups 30 234 90ms N − N − 0 1 2 0 1 2 1 1 230 322 30ms 110 110 N N 230 202 230 202 members members per affinity per affinity group group 30 30 Affinity group pointers Leiden; Dec 06 Gossip-Based Networking Workshop 9 Leiden; Dec 06 Gossip-Based Networking Workshop 10 Kelips Kelips “cnn.com” maps to group 2. So 110 tells group 2 to “route” inquiries about cnn.com to it. 202 is a Affinity Groups: Affinity Groups: “contact” for peer membership thru peer membership thru Affinity group view Affinity group view consistent hash 110 in group 2 consistent hash id hbeat rtt id hbeat rtt 30 234 90ms 30 234 90ms N − N − 0 1 2 0 1 2 1 1 230 322 30ms 230 322 30ms 110 110 N N Contacts Contacts 230 202 230 202 members members group contactNode group contactNode per affinity per affinity group group … … … … 30 30 2 202 2 202 Resource Tuples Gossip protocol Contact replicates data pointers resource info cheaply … … cnn.com 110 Leiden; Dec 06 Gossip-Based Networking Workshop 11 Leiden; Dec 06 Gossip-Based Networking Workshop 12 2

  3. How it works How it works � Kelips is entirely gossip based! � Basically… � Gossip about membership � A stream of gossip data passes by each node, containing information on various � Gossip to replicate and repair data kinds of replicated data � Gossip about “last heard from” time used � Node “sips” from the stream, for example to discard failed nodes exchanging a questionable contact in some � Gossip “channel” uses fixed bandwidth group for a better one � … fixed rate, packets of limited size � Based on RTT, “last heard from” time, etc Leiden; Dec 06 Gossip-Based Networking Workshop 13 Leiden; Dec 06 Gossip-Based Networking Workshop 14 How it works Convergent consistency Hmm…Node 19 looks like a great contact in affinity group 2 � Exponential wave of infection Node 102 overwhelms disruptions � Within logarithmic time, reconverges � Data structure emerges from gossip exchange of data. � Any connectivity at all suffices…. Gossip data stream Heuristic: periodically ping contacts to check liveness, � RTT… swap so-so ones for better ones. Leiden; Dec 06 Gossip-Based Networking Workshop 15 Leiden; Dec 06 Gossip-Based Networking Workshop 16 … subject to a small caveat What about Chord? � To bound the load, Kelips � Chord is a “true” data structure mapped into the network � Gossips at a constant rate � Ring of nodes (hashed id’s) � Limits the size of packets � Superimposed binary lookup trees � …Kelips has limited incoming “info rate” � Behavior when the limit is continuously � Other cached “hints” for fast lookups exceeded is not well understood. � Chord is not convergently consistent Leiden; Dec 06 Gossip-Based Networking Workshop 17 Leiden; Dec 06 Gossip-Based Networking Workshop 18 3

  4. … so, who cares? Chord picture 0 � Chord lookups can fail… and it suffers 255 from high overheads when nodes churn Finger 30 248 links � Loads surge just when things are already C a c disrupted… quite often, because of loads h e 241 d 64 � And can’t predict how long Chord might l i n k remain disrupted once it gets that way 202 � Worst case scenario: Chord can become 199 108 inconsistent and stay that way 177 123 Leiden; Dec 06 Gossip-Based Networking Workshop 19 Leiden; Dec 06 Gossip-Based Networking Workshop 20 Chord picture The problem? hord would repair itself Transient Network USA � Chord can enter abnormal states in emptor and all that. Europe Partition which it can’t repair itself likelihood, C 0 0 n t 255 i � Chord never states the global invariant… in P r 255 aveat e n 30 The scenario you have been shown is of low probability. In all 30 F i after any partitioning failure that might really arise. C 248 248 some partitioned states, the local heuristics e h T that trigger repair won’t detect a problem 241 64 241 64 202 � If there are two or more Chord rings, 202 199 108 199 108 perhaps with finger pointers between 177 177 123 123 them, Chord will malfunction badly! Leiden; Dec 06 Gossip-Based Networking Workshop 21 Leiden; Dec 06 Gossip-Based Networking Workshop 22 So… can Chord be fixed? Insight? � Epichord doesn’t have this problem � Perhaps large systems shouldn’t try to “implement” conceptually centralized � Uses gossip to share membership data data structures! � If the rings have any contact with each other, they will heal � Instead seek emergent shape using � Similarly, Kelips would heal itself rapidly decentralized algorithms after partition � Gossip is a remedy for what ails Chord! Leiden; Dec 06 Gossip-Based Networking Workshop 23 Leiden; Dec 06 Gossip-Based Networking Workshop 24 4

Recommend


More recommend