Decentralized Location Services - PowerPoint PPT Presentation

About This Presentation
Title:

Decentralized Location Services

Description:

A fault-tolerant wide-area location and routing application infrastructure ... Mapping object ID to deterministic sequence of nodes to store location ptrs ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 20
Provided by: beny7
Category:

less

Transcript and Presenter's Notes

Title: Decentralized Location Services


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,
    Log2(N) bits)
  • Insert Object
  • Hash Object into namespace
  • For (i0, iltLog2(N), i)
  • Insert entry into nearest node matches onlast 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 (i0, iltLog2(N), i)
  • Search for entry in nearest node matching
    onlast i bits
  • Expected length of pointer at ith node is 2i

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

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 ith hop while routing to object ID
  • Insert entry in local storage
  • If no next node exists matching i1 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 problemAssuming
    random distribution
  • With n ? ln(n) cn entries, P(all coupons)
    1-e-c
  • For nb, cb-ln(b), P(b2 nodes left) 1-b/eb
    1.8? 10-6
  • of additional hops ? Logb(b2) 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

?1111
??111
???11
????1
11111
13
Dynamic Insertion cont.
  • Step 2 Get relevant data from surrogateinform
    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 2i
  • Per node routing table size bLogb(N)
  • N size of namespace, n of nodes
  • Find object in Logb(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(dN1/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 lt O
  • Finger table
  • Pointer for next node 2i away in namespace
  • Table size Log2(n)
  • n total of nodes
  • Find object Log2(n) hops
  • Optimization via heuristics

Node 0
0
1
7
2
6
3
5
4
18
Pastry
  • Incremental routing like Plaxton / Tapestry
  • Object replicated at x nodes closest to objects
    ID
  • Routing table size b(LogbN)O(b)
  • Find objects in O(LogbN) hops
  • Issues
  • Does not exploit locality
  • Infrastructure controls replication and placement
  • Consistency / security

19
Comparing Key Metrics
Chord
CAN
Pastry
Tapestry
  • Properties
  • Parameter
  • Logical Path Length
  • Neighbor-state
  • Routing Overhead (RDP)
  • Messages to insert
  • Mutability
  • Load-balancing

Base b
None
Dimen d
Base b
Logb(N)
O(dN1/d)
Logb(N)
Log2(N)
bLogb(N)
bLogb(N)O(b)
O(d)
Log2(N)
?O(1)
O(1) ?
O(1)?
O(1)
O(Log22(N))
O(dN1/d)
O(Logb2(N)) ?
O(Logb(N))
App-dep.
???
App-dep
Immut.
Good
Good
Good
Good
Designed as P2P Indices
Write a Comment
User Comments (0)
About PowerShow.com