1 / 35

The Impact of DHT Routing Geometry on Resilience and Proximity

This presentation discusses the impact of different DHT routing geometries on the reliability and efficiency of peer-to-peer systems. The analysis focuses on separating fundamental design choices from algorithmic details and comparing different DHT implementations. The presentation also explores the flexibility and performance of different routing geometries in terms of neighbor and route selection.

rmclaughlin
Download Presentation

The Impact of DHT Routing Geometry on Resilience and Proximity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Impact of DHT Routing Geometry on Resilience and Proximity Presented by Karthik Lakshminarayanan at P2P Systems class (Slides liberally borrowed from Krishna’s SIGCOMM talk) Krishna Gummadi, Ramakrishna Gummadi, Sylvia Ratnasamy, Steve Gribble, Scott Shenker, Ion Stoica

  2. Motivation • New DHTs constantly proposed • CAN, Chord, Pastry, Tapestry, Viceroy, Kademlia, Skipnet, Symphony, Koorde, Apocrypha, Land, Bamboo, ORDI … • Each is extensively analyzed but in isolation • Each DHT has many algorithmic details making it difficult to compare Goals: • Separate fundamental design choices from algorithmic details • Understand their effect on reliability and efficiency

  3. Approach:Component-based analysis • Break DHT design into independent components • Analyze impact of each component choice separately • compare with black-box analysis: • benchmark each DHT implementation • rankings of existing DHTs vs. hints on better designs

  4. Different components of analysis • Two types of components • Routing-level : neighbor & route selection • System-level : caching, replication, querying policy etc. • Separating “routing” and “system” level issues • Good to understand them in isolation • Cons of this approach?

  5. Outline • DHT Design • Compare DHT Routing Geometries • Geometry’s impact on Resilience • Geometry’s impact on Proximity

  6. Three aspects of a DHT design • Geometry: a graph structure that inspires a DHT design • Tree, Hypercube, Ring, Butterfly, Debruijn • Distance function: captures a geometric structure • d(id1, id2) for any two node identifiers • Algorithm: rules for selecting neighbors and routes using the distance function

  7. Chord DHT has Ring Geometry

  8. d(100, 111) = 3 Chord Distance function captures Ring 000 111 001 • Nodes are points on a clock-wise Ring • d(id1, id2) = length of clock-wise arc between ids = (id2 – id1) mod N 110 010 101 011 100

  9. 110 111 100 101 010 011 000 001 d(001, 111)= 2 CAN => Hypercube Geometry • d(id1, id2)= #differing bits between id1 and id2 • Nodes are the corners of a hypercube

  10. 2 d(000, 011) = h = 2 000 001 010 011 100 101 110 111 PRR => Tree • Nodes are leaves in a binary tree • d(id1, id2) = height of smallest sub-tree with ids = logN – length of prefix_match(id1, id2)

  11. Geometry Vs Algorithm • Algorithm : exact rules for selecting neighbors, routes • Chord, CAN, PRR, Tapestry, Pastry etc. • Inspired by geometric structures like Ring, Hyper-cube, Tree • Geometry : an algorithm’s underlying structure • Distance function is the formal representation of Geometry • Chord, Symphony => Ring • Many algorithms can have same geometry

  12. Is the notion of Geometry clear? • Notion of geometry is vague (as the authors admit) • It is really a distance function on an ID-space • Hypercube is a special case of XOR! • Possible formal definitions?

  13. d(000, 001) = 1 d(000, 010) = 2 d(000, 001) = 4 Chord Neighbor and Route selection Algorithms 000 110 111 001 • Neighbor selection: ith neighbor at 2idistance • Route selection: pick neighbor closest to destination 110 010 101 011 100

  14. Geometry => Flexibility => Performance • Geometry captures flexibility in selecting algorithms • Flexibility is important for routing performance • Flexibility in selecting routes leads to shorter, reliable paths • Flexibility in selecting neighbors leads to shorter paths

  15. Outline • Routing Geometry • Comparing DHT Geometries • Geometry’s impact on Resilience • Geometry’s impact on Proximity

  16. Geometries considered

  17. Route selection flexibility allowed by Ring Geometry 000 110 111 001 • Chord algorithm picks neighbor closest to destination • A different algorithm picks the best of alternate paths 110 010 101 011 100

  18. Neighbor selection flexibility allowed by Ring Geometry 000 111 001 • Chord algorithm picks ith neighbor at 2idistance • A different algorithm picks ith neighbor from [2i , 2i+1) 110 010 101 011 100

  19. Metrics for flexibility • 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 • Constraints for neighbors and routes • select neighbors to have paths of O(logN) • select routes so that each hop is closer to destination

  20. logN neighbors at exponential distances FNS = 2i-1for ith neighbor Route along the circle in clock-wise direction Flexibility of Ring 000 d(000, 111) = 7 111 d(001, 111) = 6 001 111 110 010 101 011 d(011, 111) = 4 d(101, 111) = 2 100

  21. logN neighbors in sub-trees of varying heights FNS = 2i-1for ithneighbor of a node Route to a smaller sub-tree with destination;FRS=1 Flexibility for Tree h = 3 h = 2 h = 1 000 001 010 011 100 101 110 111

  22. Flexibility for Hypercube 110 111 • Routing to next hop fixes one bit • FRS =Avg. (#bits destination differs in)=logN/2 • logN neighbors differing in exactly one bit; FNS=1 d(010, 011) = 3 100 101 010 011 d(010, 011) = 1 000 001 011 d(000, 011) = 2 d(001, 011) = 1

  23. Summary of flexibility analysis How relevant is flexibility for DHT routing performance?

  24. Outline • Routing Geometry • Comparing DHT Geometries • Geometry’s impact on Resilience • Geometry’s impact on Proximity

  25. Static Resilience Two aspects of robust routing • Dynamic Recovery : how quickly routing state is recovered after failures • Static Resilience : how well the network routes before recovery finishes • captures how quickly recovery algorithms need to work • depends on FRS Evaluation: • Fail a fraction of nodes, without recovering any state • Metric: % Paths Failed

  26. Does flexibility affect Static Resilience? Tree << XOR ≈ Hybrid < Hypercube < Ring

  27. Static Resilience: Summary • Tree << XOR ≈ Hybrid < Hypercube < Ring • What about trees with 2 neighbors? • Addition of sequential neighbors helps resilience, but increases stretch • Sequential neighbors offer more benefit, again at the cost of increased stretch Flexibility in Route Selection matters for Static Resilience

  28. Outline • Routing Geometry • Comparing flexibility of DHT Geometries • Geometry’s impact on Resilience • Geometry’s impact on Proximity • Overlay Path Latency • Local Convergence

  29. Analysis of Overlay Path Latency • Goal: Minimize end-to-end overlay path latency • Both FNS and FRS can reduce latency • Tree has FNS, Hypercube has FRS, Ring & XOR have both Evaluation: • Using Internet latency distributions

  30. Problems with existingNetwork Models • How to assign edge latencies to network topologies? • topology models: GT-ITM, Power-law, Mercator, Rocketfuel • no edge latency models, even for measured topologies • Solution : A model using only latency distribution seen by a typical node

  31. Simulations using latency distributiononly 1) Topology, Edge Latencies 2) Latency Distribution Simulate Compute Simulated Overlay ≈ Computed Overlay Path Latency Distribution Path Latency Distribution

  32. Which is more useful: FNS or FRS? Plain << FRS << FNS ≈ FNS+FRS Neighbor Selection is much better than Route Selection

  33. Proximity results: Summary • Using neighbor selection is much better than using route selection flexibility • Performance of FNS/FRS is independent of geometry beyond its support for neighbor selection • In absolute terms, proximity techniques perform well (stretch of <2)

  34. Local convergence: Summary • Flexibility in neighbor selection helps much better than that in route selection • Relevance of FRS depends on whether FNS restricted to a k-random sample closely approximates ideal FNS

  35. Limitations • Notion of geometry is vague (as the authors admit) – it is really a distance function on an ID-space • Hypercube is a special case of XOR! • Not considered other factors that might matter • algorithmic details, symmetry in routing table entries • Metrics under consideration can bias results – eg. In ring, do not distinguish between OPT and slightly sub-optimal paths

More Related