Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin.

Similar presentations


Presentation on theme: "1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin."— Presentation transcript:

1 1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin

2 2 Standard Hashing M-1 i 0 1 H(a)=i List for H(a)=0 List for H(a)=M-1 Hashing function: H = a mod M a: numerical ID M: Hashing table size

3 3 Basic Hashing Operations Insert (a, S): insert object a to Set S. –Compute h(a); –Search the list pointed by Table[ h(a) ]; if a is not on the list, it is appended in the list. Delete (a, S): delete object a from set S. –Search the list pointed by Table[ h(a) ] and delete object a in the list; Find (a, S): find object a in Set S. –Search the list pointed by Table [ h(a) ]; if a is on the list, returns its location, otherwise returns Null.

4 4 Distributed Hash Table (DHT) Problem: given an object stored in a node or multiple nodes, find it. The Lookup problem (Find (a, S)): S is distributed and stored in many nodes. –Returns the network location of the node currently responsible for the given key. Take a 2-d CAN as an example (a Ph.D. dissertation at Berkeley)

5 5 K V k v a. Hash tableb. Distributed hash table From Hash Table to DHT Insert(k1, v1) (k1,v1) Retrive(k1) ?

6 6 From Hash Table to DHT (cont) Requirements: Data should be identified using unique numeric keys using hash function such as SHA-1 Nodes should be willing to store keys for each other. “Core” questions when introducing “distributed”: How to divide a whole hash table to multiple distributed hash tables? How to reach the hash table who has the key I want, if I cannot find it from the local hash table?

7 7 Content Addressable Network The overlay nodes are built on a 2-D coordinate space. Join: a new peer node –Chooses a random point P in the 2-D space; –Asks a node in P2P to find node n in P; –Node n splits the zone into two, assigns ½ to the new nodes; Insert: a key is hashed on to a point in the 2-D space, and is stored at the node whose zone contains the point’s space. Routing Table: each node contains the logic locations of all its neighbors in the 2-D space.

8 8 2-D CAN (continued) Lookup: after a peer joins, it forwards the request (a hashed location) along a routing path to the node storing the key. –a move instruction is made based on the routing table. Each node maintains O(d) states, lookup cost is O(dN^(1/d)), where d = dimension, N = # of nodes.

9 9 Case Study: CAN CAN: Content- Addressable Network Basic Data Structure: d- dimensional Cartesian coordinate space Every key (k) is mapped to a point (x,y) in the coordinate space x = h1(k), y = h2(k); The coordinate space = key space K1 K3 K4 K2

10 10 Zone: answer to question 1 This coordinate space is partitioned into distinct zones. Every node holds a distinct zone A node should store all keys that fall into the zone it owns K1 K3 K4 K2 1 3 2 4

11 11 Routing: answer to question 2 Every node only maintains the states of its neighbors Forward lookup request to a neighbor closer to the key in the coordinate space K1 K3 K4 K2 A B Node A wants to lookup k3

12 12 Insertion & Retrieval in CAN K1 K3 K4 K2 A B 1. Node A inserts (k3, v3) C 2. x3=h1(k3), y3=h2(k3) x3 y3 3. Route Insertion request to (x3,y3) 4. (x3, y3) is in the zone of node B, so node B should store (k3,v3) in its hash table 5. Node C retrieves k3 6. Computes x3, y3 like A does 7. Route lookup request to (x3,y3) 8. Node B receives lookup request, and retrieves (k3, v3) from its hash table

13 13 How does a new node join the CAN? Bootstrap –The new node find a node already in the CAN Finding a zone –Find a node randomly whose zone will be split JOIN request message Splitting Hand over part of (key, value) pairs Joining the routing –The neighbors of the split zone is notified so that routing can include the new node 1 1’s coordinate neighbor set = {2, 3, 4, 5}.P.P 1’s coordinate neighbor set = {2, 3, 4, 7} 7’s coordinate neighbor set = {1, 2, 4, 5}

14 14 One more example K1 K3 K4 K2 1 pick a random point in space

15 15 One more example K1 K3 K4 K2 12

16 16 One more example K1 K3 K4 K2 1 2 3

17 17 One more example K1 K3 K4 K2 12 3 4 5

18 18 How does a node depart? K1 K3 K4 K2 12 3 4 5 Node 5 is leaving 7 8 6

19 19 How does a node depart? K1 K3 K4 K2 12 3 4 Node 7 is leaving 7 8 6

20 20 How does a node depart? K1 K3 K4 K2 12 3 4 6 8 6

21 21 Detect failures –Send periodic update message to neighbors Need to repair the space –recover database soft-state updates use replication, rebuild database from replicas –repair routing takeover algorithm CAN: node failures

22 22 CAN: takeover algorithm Simple failures –know your neighbor’s neighbors –when a node fails, one of its neighbors takes over its zone More complex failure modes –simultaneous failure of multiple adjacent nodes –scoped flooding to discover neighbors –hopefully, a rare event

23 23 Why Unstructured P2P Co-exists? When peers are highly dynamic and transient, maintenance and updating of DHT will be too expensive to afford. Little effect to U-P2P. DHT only provides information of ``needles”, not ``hails”, which can only provided by U-P2P. DHT only provides ``key word” search. The search in U-P2P can be very vague, leave a large space for a wide range of development, such as semantic Web.

24 24 Operation Cost of CAN States of neighbors –2d Average path length –(d/4)(n 1/d ) Note that other algorithms like CHORD, TAPSTRY and PASTRY route in O(log n) hops with each node maintaining O(log n) neighbors. If we select d=(log n)/2, we could achieve the same scaling properties.

25 25 Design Improvements Goals: Reduce the latency of CAN routing Improve CAN robustness in routing and data availability Load balancing Techniques: Multi-dimensioned coordinate spaces Realities: multiple coordinate spaces Better CAN routing metrics Overloading coordinate zones Multiple hash functions Topologically-sensitive construction of the CAN overlay network More Uniform Partitioning Caching and Replication for “hot spot”

26 26 Mutiple-dimensioned coordinate spaces Reduces the path length: O(d(n 1/d) ) Improves the routing fault tolerance

27 27 Realities: multiple coordinate spaces Improves data availability Reduces the average path length

28 28 Multiple dimension vs. multiple realities Multiple dimensions are more “efficient” than multiple realities in term of reducing packet length Multiple realities offer other benefits such as improved data availability and fault- tolerance.

29 29 Better CAN routing metrics RTT-weighted routing Choose the neighbor with the maximum ratio of progress to RTT Reduce the latency of individual hopes along the path, rather than the path length

30 30 Overloading coordinate zones Multiple nodes share the same zone (MAXPEERS = 3, or 4) Split the zone only when zone is full (already MAXPEERS nodes) Check RTT of all nodes in each neighboring zone, and retain closest nodes in its neighbor set. The contents of the hash table may be divided or replicated across the nodes in a zone.

31 31 Overloading coordinate zones (cont) Advantages: Reduced path length Reduced per-hop latency Improved fault tolerance

32 32 Multiple hash functions Use k different hash functions to map a single key onto k points in the coordinate space, then k replicas Choose to retrieve an entry closest in the coordinate space, then reducing path latency

33 33 Topologically-sensitive construction of CAN overlay: Landmark ordering Landmark ordering for U and U’: {L2, L1, L3, L4} L1L2L3L4 Landmark nodes Nodes with same landmark ordering are likely to be close V Landmark ordering for V: {L2,L3,L4,L1} v1v2v3v4 u1u2 u3 u4 UU’

34 34 Landmark ordering Landmarks (for example, DNS root servers) m Landmarks, m! orderings Partition the coordinate space into m! equal sized portions A node joins CAN at a random point in that portion associate with its ordering

35 35 Latency savings due to landmark ordering Stretch = latency on the CAN / the average latency on the IP network The coordinate space is no longer uniformly populated

36 36 More uniform partitioning New node

37 37 Caching and Replication Caching: cache the data keys it recently accessed. Replication: overloaded node can replicate the data key at its neighbors.

38 38 Effect of design parameters In no cases do we see a latency stretch of more than 3 for system sizes up to 130,000 nodes.

39 39 Open questions for DHT Operation costs Path lengths:O(logn) vs. O(dn 1/d ) hops (Others vs. CAN) Neighbors : O(logn) vs. O(d)(Others vs. CAN) Can one achieve O(logn) path lengths (or better) with O(1) neighbors? (Answer: Koorde) Fault tolerance and concurrent changes high cost for simultaneous failures Proximity routing More efficient algorithm? Security Malicious nodes and false routes Indexing and keyword search

40 40 Discussion: merits & limits of DHT Merits: Decentralized management: relieve managing burden avoid a single point of failure A common interface make implementation of distributed apps much easier Scalability: lookup cost: O(logN), O(dN 1/d ) Fault tolerance routing and data availability Limits: How to implement keyword lookup based on DHT? Requirements on participants: memory and storage size, CPU speed Incompatibility between DHTs Your opinions…

41 41 Thank you very much! REFERENCES: [1] “Looking Up Data in P2P Systems” [2] “A Scalable Content-Addressable Network”, SIGCOMM’01 [3] “Koorde: A simple degree-optimal distributed hash table”


Download ppt "1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin."

Similar presentations


Ads by Google