Motivation The Impact of DHT Routing Geometry on Resilience and • New DHTs constantly proposed Proximity – CAN, Chord, Pastry, Tapestry, Viceroy, Kademlia, Skipnet, Symphony, Koorde, Apocrypha, Land, Bamboo, ORDI … Presented by Karthik Lakshminarayanan • Each is extensively analyzed but in isolation at P2P Systems class • Each DHT has many algorithmic details making it (Slides liberally borrowed from Krishna’s SIGCOMM talk) difficult to compare Goals: Krishna Gummadi, Ramakrishna Gummadi, a) Separate fundamental design choices from algorithmic details Sylvia Ratnasamy, b) Understand their effect on reliability and efficiency Steve Gribble, Scott Shenker, Ion Stoica Approach:Component-based analysis Different components of analysis • Two types of components • Break DHT design into independent – Routing-level : neighbor & route selection components – System-level : caching, replication, querying policy etc. • Analyze impact of each component choice • Separating “routing” and “system” level separately issues – compare with black-box analysis: – Good to understand them in isolation • benchmark each DHT implementation – Cons of this approach? • rankings of existing DHTs vs. hints on better designs
Outline Three aspects of a DHT design • DHT Design 1) Geometry : a graph structure that inspires a DHT design • Compare DHT Routing Geometries – Tree, Hypercube, Ring, Butterfly, Debruijn 2) Distance function : captures a geometric • Geometry’s impact on Resilience structure – d(id1, id2) for any two node identifiers • Geometry’s impact on Proximity 3) Algorithm : rules for selecting neighbors and routes using the distance function Chord Distance function captures Ring Chord DHT has Ring Geometry ��� ��� ��� ��� ��� ��� ��� d(100, 111) = 3 ��� • Nodes are points on a clock-wise Ring • d(id1, id2) = length of clock-wise arc between ids = (id2 – id1) mod N
CAN => Hypercube Geometry PRR => Tree 2 d(000, 011) = ��� ��� h = 2 ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� d(001, 111)= 2 • Nodes are leaves in a binary tree • d(id1, id2) = #differing bits between id1 and id2 • d(id1, id2) = height of smallest sub-tree with • Nodes are the corners of a hypercube ids = logN – length of prefix_match(id1, id2) Geometry Vs Algorithm Is the notion of Geometry clear? • Algorithm : exact rules for selecting neighbors, • Notion of geometry is vague (as the routes authors admit) – Chord, CAN, PRR, Tapestry, Pastry etc. – Inspired by geometric structures like Ring, Hyper-cube, Tree • It is really a distance function on an ID- space • Geometry : an algorithm’s underlying structure – Hypercube is a special case of XOR! – Distance function is the formal representation of Geometry – Chord, Symphony => Ring • Possible formal definitions? – Many algorithms can have same geometry
Chord Neighbor and Route selection Geometry => Flexibility => Performance Algorithms ��� d(000, 001) = 1 ��� ��� ��� • Geometry captures flexibility in selecting algorithms d(000, 010) = 2 ��� ��� • Flexibility is important for routing performance ��� ��� – Flexibility in selecting routes leads to shorter, reliable ��� d(000, 001) = 4 paths • Neighbor selection: i th neighbor at 2 i distance – Flexibility in selecting neighbors leads to shorter paths • Route selection: pick neighbor closest to destination Outline Geometries considered Geometry Algorithm • Routing Geometry Routing Geometry • Ring Chord, Symphony • Comparing DHT Geometries Hypercube CAN • Geometry’s impact on Resilience Tree PRR Hybrid = Tree + Ring Tapestry, Pastry • Geometry’s impact on Proximity XOR Kademlia d(id1, id2) = id1 XOR id2
Route selection flexibility Neighbor selection flexibility allowed by Ring Geometry allowed by Ring Geometry ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� • Chord algorithm picks i th neighbor at 2 i distance • Chord algorithm picks neighbor closest to destination • A different algorithm picks i th neighbor from [2 i , 2 i+1 ) • A different algorithm picks the best of alternate paths Metrics for flexibility Flexibility of Ring d(000, 111) = 7 ��� d(001, 111) = 6 ��� ��� ��� • FNS : Flexibility in Neighbor Selection = number of node choices for a neighbor ��� ��� • FRS : Flexibility in Route Selection = avg. number of next-hop choices for all destinations ��� ��� d(011, 111) = 4 d(101, 111) = 2 ��� • logN neighbors at exponential distances • Constraints for neighbors and routes • FNS = 2 i-1 for i th neighbor – select neighbors to have paths of O(logN) • Route along the circle in clock-wise direction – select routes so that each hop is closer to destination = ∑ ≈ FRS log( d(000, J) ) N logN ∀ J
Flexibility for Tree Flexibility for Hypercube ��� ��� d(010, 011) = 3 h = 3 ��� ��� h = 2 ��� h = 1 ��� d(010, 011) = 1 ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� ��� d(000, 011) = 2 d(001, 011) = 1 • logN neighbors in sub-trees of varying heights • Routing to next hop fixes one bit • FNS = 2 i-1 for i th neighbor of a node • FRS =Avg. (#bits destination differs in)=logN/2 • logN neighbors differing in exactly one bit; FNS=1 • Route to a smaller sub-tree with destination; FRS=1 Outline Summary of flexibility analysis Flexibility Ordering of Geometries • Routing Geometry Routing Geometry • Neighbors Hypercube << Tree, XOR, Ring, Hybrid • Comparing DHT Geometries Comparing DHT Geometries • (1) (2 i-1 ) (FNS) • Geometry’s impact on Resilience Routes Tree << XOR, Hybrid < Hypercube < Ring (FRS) (1) (logN/2) (logN/2) (logN) • Geometry’s impact on Proximity How relevant is flexibility for DHT routing performance?
Static Resilience Does flexibility affect Static Resilience? 100 Two aspects of robust routing 80 • Dynamic Recovery : how quickly routing state is XOR % Failed Paths Tree recovered after failures Hypercube 60 Hybrid • Static Resilience : how well the network routes before 40 recovery finishes Ring 20 – captures how quickly recovery algorithms need to work – depends on FRS 0 0 10 20 30 40 50 60 70 80 90 % Failed Nodes Evaluation: • Fail a fraction of nodes, without recovering any state Tree << XOR �������������������������������� • Metric: % Paths Failed Outline Static Resilience: Summary • Tree << XOR �������������������������������� • Routing Geometry Routing Geometry • – What about trees with 2 neighbors? • Comparing flexibility of DHT Geometries • Comparing flexibility of DHT Geometries • Addition of sequential neighbors helps resilience, • Geometry’s impact on Resilience Geometry’s impact on Resilience • but increases stretch • Geometry’s impact on Proximity • Sequential neighbors offer more benefit, again at – Overlay Path Latency the cost of increased stretch – Local Convergence Local Convergence – Flexibility in Route Selection matters for Static Resilience
Analysis of Overlay Path Latency Problems with existing Network Models • How to assign edge latencies to network • Goal: Minimize end-to-end overlay path topologies? latency • Both FNS and FRS can reduce latency – topology models: GT-ITM, Power-law, Mercator, Rocketfuel – Tree has FNS, Hypercube has FRS, Ring & XOR have both – no edge latency models, even for measured topologies Evaluation: • Solution : A model using only latency • Using Internet latency distributions distribution seen by a typical node Simulations using latency Which is more useful: FNS or FRS? distribution only 1) Topology, Edge Latencies 2) Latency Distribution 100 FNS + FRS Ring 80 100 FNS Ring FRS Ring 75 60 CDF CDF 50 Plain Ring 25 40 0 0 500 1000 1500 Latency 20 0 Simulate Compute 0 400 800 1200 1600 2000 Latency (msec) Plain << FRS << FNS ��������� Simulated Overlay � Computed Overlay Neighbor Selection is much better than Route Path Latency Distribution Path Latency Distribution Selection
Recommend
More recommend