Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Canon in G Major: Designing DHTs with Hierarchical Structure Prasanna Ganesan (Stanford University) Krishna Gummadi (U. of Washington) Hector Garcia-Molina.

Similar presentations


Presentation on theme: "1 Canon in G Major: Designing DHTs with Hierarchical Structure Prasanna Ganesan (Stanford University) Krishna Gummadi (U. of Washington) Hector Garcia-Molina."— Presentation transcript:

1 1 Canon in G Major: Designing DHTs with Hierarchical Structure Prasanna Ganesan (Stanford University) Krishna Gummadi (U. of Washington) Hector Garcia-Molina (Stanford University)

2 2 Distributed Hash Table (DHT) Hash table over dynamic set of nodes –Insert(key), Lookup(key) –Join(node), Leave(node) Partition hash space by node ID “Flat” overlay network –O(log n) operations –Homogeneous components –No central point of failure 08 3 5 1 6 7 13 11 10

3 3 Why Hierarchies? Hierarchies exist! Scalability, fault isolation, autonomy, etc. Goal: Inherit best of both worlds with a hierarchical DHT

4 4 What is a Hierarchical DHT? StanfordWashington USA CSEE Path Locality Efficiency, Security, Fault isolation Path Convergence Caching, Bandwidth Optimization Local DHTs Access Control

5 5 Problem Statement Convert flat DHTs to hierarchical (Canon- ization) –Chord  Crescendo –CAN  Can-Can –Symphony  Cacophony –Kademlia  Kandy Caveat: Preserve homogeneity and state vs. routing trade-offs of flat DHTs

6 6 Roadmap Chord and Crescendo Routing in Crescendo Storage and Caching Experimental Evaluation

7 7 Chord Circular N-bit ID space Node x links to succ( x + 2^i ) 0111 0011 0101 10000000 0001

8 8 Crescendo Key idea: Recursive structure –Construct bottom-up; merge smaller DHTs –Lowest level: Chord CS EE Stanford

9 9 Merging two Chord rings 0 12 10 5 2 13 8 3 2 8 3 Black node x: Connect to y iff y closer than any other black node y = succ(x + 2^i)

10 10 Crescendo Details Generalize two-ring merge –Merging multiple rings –Multi-level hierarchies Making it incremental –New node joins bottom-up How many links per node? –Roughly log n ; independent of hierarchy m nodes log m links n blue nodes n/m nodes log(n/m+1) links Total=log m + log (n/m +1) = log(m+n)

11 11 Routing in Crescendo Greedy clockwise routing! 0 12 10 5 2 13 3 8 Path locality by greedy routing! Path convergence at closest node to destination of same color Local DHTs by construction!

12 12 Extensions Can apply to other DHTs Mix-and-match DHTs –Stanford runs Chord, Washington runs Kademlia Additional support for proximity

13 13 Storage and Caching Hierarchical Storage –Specify storage domain subtree Access control provided by routing itself Caching: Cache at convergent nodes at each level –Nodes form a distributed cache

14 14 Experiments c-level hierarchy –Uniform/Zipf distribution at each level Basic metrics –#links / node –#hops / query

15 15 Number of Links vs. Number of Levels

16 16 Levels vs. Routing Hops

17 17 Path Locality GT-ITM topology as hierarchy Compare Crescendo with Chord –With proximity adaptation Path locality –Latency to different level destinations

18 18 Path Locality

19 19 Conclusions Generic mechanism for hierarchical DHTs –Locality: Fault isolation, Security, Efficiency –Convergence: Caching, Bandwidth savings –Local DHTs: Hierarchical Access Control –Preserves degree vs. routing trade-offs Potentially useful in large-scale deployment

20 20 Number of Links vs. Number of Levels

21 21 Path Convergence Overlap fraction Length(Overlap)/Length(Total) Length: Latency or Number of Hops

22 22 Overlap Fraction

23 23 Caching Cache on convergent nodes at each level –Nodes in the level form a distributed cache Advantages –Exploit locality of reference in hierarchy –Queries guaranteed to hit cache –Interesting cache replacement possibilities


Download ppt "1 Canon in G Major: Designing DHTs with Hierarchical Structure Prasanna Ganesan (Stanford University) Krishna Gummadi (U. of Washington) Hector Garcia-Molina."

Similar presentations


Ads by Google