Download presentation
Presentation is loading. Please wait.
Published byMitchell Welch Modified over 9 years ago
1
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space, that is, the space of keys and node IDs 3. Each node keeps contact information to O(log n) other nodes 4. Provide a lookup algorithm, which maps a key to a node i.e., find the node, whose ID is closest to a given key the metric identifies closest node uniquely 5. Store and retrieve a key/value pair at the node whose ID is closest to the key (ro alternative functionality)
2
DHT: Comparison axes Efficiency Lookup, insertion, deletion Size of Routing Table How much state information maintained on each peer O(n), O(log N) or O(1) Tradeoff: Larger state higher maintenance cost (but faster lookup) Flexibility of Routing Rigid routing table Requires higher maintenance costs – need to detect and fix failures immediately Complicates recovery Preclude proximity-based routing
3
Chord: MIT Overlay: Peers are organized in a ring Successor peer is stored on the successor of k Routing: Finger Table: More info for near part of the ring Large jumps, then shorter jumps Resembling a binary search
4
Chord: Characteristics Efficient directory operations insertion, deletion, lookup Analysis O(logN) routing table size O(logN) logic steps to reach the successor of a key k O(log 2 N) for peer joining and leaving High maintenance cost Node join/leave induces state change on other nodes Rigidity of Routing Table ( in original proposal ) : For a given network, there is only one optimal/ideal state Unique, and deterministic
5
CAN: Berkeley Overlay: A virtual d-dimensional Coordinate space Each peer is responsible for a zone Routing: Each peer maintains info about neighbors Greedy algorithm for routing Routing table d information Joining chose random point, split its zone Performance Analysis: Expected: (d/4)(n 1/d ) steps for lookup d: dimension
6
Pastry: Rice Circular namespace Routing Table: Peer p, ID: IDp For each prefix of IDp, keep a set of peers who shares the prefix and the next digit is different from each other. Routing: Plaxton algorithm Choose a peer whose ID shares the longest prefix with target ID Choose a peer whose ID is numerically closest to target ID Exploit the locality Similar analysis properties with Chord
7
Symphony: Stanford Distributed Hashing in a Small World Like Chord: Overlay structure: ring Key ID space partitioning Unlike Chord: Routing Table Link to immediate neighbor (replicate for reliability) k long distance links for jumping (not replicated) Long distance links are built in a probabilistic way Neighbors are selected using a Probability Distribution Function (pdf) Exploit the characteristics of a small-world network Dynamically estimate the current system size
8
Symphony: Performance Each node has k = O(1) long distance links Lookup: Expected path length: O(1/k * log 2 N) hops Join & leave Expected: O(log 2 N) messages Comparing with Chord: Discard the strong requirements on the routing table (finger table) Idea that has been incorporated in Chord in a different way.
9
Kademlia: NYU Overlay: Node Position: shortest unique prefix Service: Locate closest nodes to a desired ID Routing: “based on XOR metric” keep k nodes for each sub-tree which shares the root as the sub- trees where p resides. Share the prefix with p Magnitude of distance (XOR) k: replication parameter (e.g. 20)
10
Kademlia: Comparing with Chord: Like Chord: achieving similar performance Routing table size: O(logN) Lookup: O(logN) Lower node join/leave cost Deterministic Unlike (the original) Chord: Flexible Routing Table Given a topology, there are more than one routing table Symmetric routing
11
Skip Graphs: Yale Based on “skip list” [1990] A randomized balanced tree structure organized as a tower of increasingly sparse linked lists All nodes join the link list of level 0 For other levels, each node joins with a fixed probability p Each node has 2/(1-p) pointers Average search time: O(log N) (same for insert, delete)
12
Skip Graph: Skip List is not suitable for P2P environment No redundancy, Hotspot problem Vulnerable to failure and contention Skip Graph: Extension of Skip List Level 0 link list builds a Chord ring Multiple (max 2 i ) lists for level i (i = 1, … logn) Each node participate in all levels, but different lists Membership vector m(x): decide which list to join Every node sees its own skip list
13
Skip Graph: Performance: Since the membership vector is random, the performance analysis is also probabilistic. Expected Lookup cost: O(log n) messages (conclusion from skip list) Insertion: same as search, but more complicated due to the concurrent join Overall about skip graph: Probabilistic (like Symphony) Routing table is flexible Given the same participating node set, no fixed network structure
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.