Download presentation
Presentation is loading. Please wait.
1
Decentralized Location Services CS273 Guest Lecture April 24, 2001 Ben Y. Zhao
2
Review: Object Location Neighborhood covers Each server knows about all objects in its neighborhood Object implosion at root cover node Goals: Given ID, Locate nearest object in network Do so w/o centralization
3
PRR (SPAA 97) Namespace large enough to avoid collisions (N, Log 2 (N) bits) Insert Object: Hash Object into namespace For (i=0, i<Log 2 (N), i++) { Insert entry into nearest node matches on last i bits If no matching node, then pick node w/ i-1 bits with highest ID value
4
PRR97 Object Lookup Lookup object Traverse same nodes as insert, except searching for entry at each node For (i=0, i<Log 2 (N), i++) { Search for entry in nearest node matching on last i bits Expected length of pointer at i th node is 2 i
5
PRR97 Reaching nodes Routing between successive nodes Pointer map required Forwarding for any object name Needs to be compact Reduce complexity, insert at node matching every n bits Neighbor Map For “6271” (Octal) Routing Levels 1234 6271 xxx2 xxx0 xxx3 xxx4 xxx5 xxx6 xxx7 xx01 xx11 xx21 xx31 xx41 xx51 xx61 6271 x071 x171 6271 x371 x471 x571 x671 x771 0271 1271 2271 3271 4271 5271 6271 7271
6
PRR97 Limitations Setting up the pointer maps Uses global knowledge Lack of adaptability in dynamic systems Finding node with i matching bits How do you find node with highest ID value What happens as network changes Need to maintain deterministic way to find the same node over time
7
Tapestry Zhao, Kubiatowicz and Joseph Help from Hildrum, Rao, Zhuang, et al. A fault-tolerant wide-area location and routing application infrastructure Core location/routing based on PRR97 Algorithmic and system extensions Decentralized dynamic algorithms Redundancy everywhere for fault-tolerance
8
What do we want A dynamic mapping algorithm Deterministic over network changes Globally consistent mapping Assumptions All nodes with same matching suffix contains same null/non-null pattern in next level of routing map Requires: consistent knowledge of nodes across network
9
Dynamic Object Mapping Mapping object ID to deterministic sequence of nodes to store location ptrs At i th hop while routing to object ID Insert entry in local storage If no next node exists matching i+1 digits Route on next highest indexed non-null pointer End node reached when no other pointers in rest of route map Else route to nearest such digit
10
Analysis Globally consistent deterministic mapping Null entry no node in network with suffix consistent map identical null entries across same route maps of nodes w/ same suffix Additional hops compared to PRR solution: Reduce to coupon collector problem Assuming random distribution With n ln(n) + cn entries, P(all coupons) = 1-e -c For n=b, c=b-ln(b), P(b 2 nodes left) = 1-b/e b = 1.8 10 -6 # of additional hops Log b (b 2 ) = 2 Distributed algorithm with minimal additional hops
11
Border Cases Two cases A. If a node disappeared, and some node did not detect it. Routing proceeds on invalid link, fails No backup router, so proceed to surrogate routing B. If a node entered, has not been detected, then go to surrogate node instead of existing node New node checks with surrogate after all such nodes have been notified Route info at surrogate is moved to new node
12
Algorithm: Dynamic Insertion New node desires integration w/ ID 11111 Step 1: copy route map recursively ????1 ???11 ?1111 ??111 11111
13
Dynamic Insertion cont. Step 2: Get relevant data from surrogate inform edge nodes of your existence Step 3: Notify neighbors to optimize paths surrogate ?1111.......
14
Summary Globally unique names Objects and nodes Randomly distributed Represented as digits of size b = 2 i Per node routing table size: bLog b (N) N = size of namespace, n = # of nodes Find object in Log b (n) hops Key properties Application controls modifications to object Overlay follows physical network distance
15
Alternatives: P2P Indices Content Addressable Networks Ratnasamy et al. ACIRI / Berkeley Chord Stoica, Morris, Karger, Kaashoek, Balakrishnan MIT / Berkeley Pastry Druschel and Rowstron Rice / Microsoft Research
16
Content-Addressable Networks Distributed hashtable addressed in d dimension coordinate space Routing table size: O(d) Hops: expected O(dN 1/d ) N = size of namespace in d dimensions Efficiency via redundancy Multiple dimensions Multiple realities Reverse push of “breadcrumb” caches Assume immutable objects
17
Chord Associate each node and object a unique ID in uni- dimensional space Object O stored by node with highest ID < O Finger table Pointer for next node 2 i away in namespace Table size: Log 2 (n) n = total # of nodes Find object: Log 2 (n) hops Optimization via heuristics 0 4 2 1 7 6 5 3 Node 0
18
Pastry Incremental routing like Plaxton / Tapestry Object replicated at x nodes closest to object’s ID Routing table size: b(Log b N)+O(b) Find objects in O(Log b N) hops Issues: Does not exploit locality Infrastructure controls replication and placement Consistency / security
19
Comparing Key Metrics Properties Parameter Logical Path Length Neighbor-state Routing Overhead (RDP) Messages to insert Mutability Load-balancing Tapestry ChordCANPastry Log b (N) Log 2 (N) O(d*N 1/d ) O(d) Base b bLog b (N) O(1) O(1) O(1) ? App-dep. App-depImmut. ??? Good Log b (N) Log 2 (N) NoneDimen dBase b bLog b (N)+O(b) O(Log 2 2 (N))O(d*N 1/d ) Good O(Log b 2 (N)) ?O(Log b (N)) Designed as P2P Indices
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.