motivation the impact of dht routing geometry on
play

Motivation The Impact of DHT Routing Geometry on Resilience and - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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?

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

  8. 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