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
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
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
… 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