skipnet: a scaleable overlay network with practical locality properties presented by rachel rubin...
Post on 21-Dec-2015
222 views
TRANSCRIPT
SkipNet: A Scaleable Overlay Network With Practical Locality Properties
Presented by Rachel Rubin
CS294-4: Peer-to-Peer Systems
By Nicholas Harvey, Michael Jones, Stephan Saroiu,
Marvin Theimer and Alec Wolman
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:2
Philosophy of SkipNet
• General purpose, scalable, fault tolerant overlay that allows for explicit control over content availability and placement
• Preserve useful content and path locality
• Enable load balancing over subset of nodes
• Provide resiliency against common internet failures
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:3
Added Functionality
• SkipNet adds content locality– Explicitly place data on specific overlay nodes or
across nodes within an organization
• Adds path locality– Guarantee that message traffic is routed
between two overlay nodes within the same organization stays within it
– Important for availability and security
• This provides advantages for availability, performance, manageability and security
• Provides node and data management
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:4
Why not a DHT?
• Controlling Data Location is not the goal of a DHT
• DHT’s provide load balancing at the price of where data is stored– May be stored far away– May be stored out of the domain
• Destroy Locality• Discard useful application-specific information
• But what are the benefits of a DHT?
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:5
Structure of SkipNet: Perfect Skip Lists
•Dictionary-like structure stored in memory
•Sorted linked list with pointers
•Height of the i’th node is the exponent of the largest power-of-two that divides i
•The pointers have length of 2h
•Searches in O(log N)
Perfect Skip List
1 2 3 4 5 6 7 8 9 10
0 1 0 2 0 1 0 3 0 1
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:6
Structure of SkipNet: Probabilistic Skip List
• Each node chooses a height with a probability of choosing height h is 1/2h
• Maintains O(log N)
Probabilistic Skip List
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:7
Structure of SkipNet: Perfect Lexicographic Address Space
• Maintain a sorted list of all data records as well as “skip” pointers
• Doubly-linked ring• Each node stores2*log N
pointers
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:8
Structure of SkipNet: Lexicographic Address Space (2)
• The pointers maintained at each level if a nodes routing table are “rings”
• Each level skips over 2h nodes
• Routing possible in O(log N)• Ring membership
determined by their unique random ID number – probabilistic optimization
• Duplicate pointer elimination from the rou\ting table improves performance by around 20%
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:9
Numeric Space vs. Lexicographic Space
• Node names and content identifier strings are mapped into the Lexicographic space
– Distributed generalization of Skip Lists– Support content placement and path localities
• Hashes of node names and content identifiers are mapped into the numeric space
– Supports DHT functionality– Routing between overlay nodes– Allows the functionality of Chord
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:10
Structure of SkipNet: Lexicographic Searching
•Follow the pointers that route closest to the intended destination
•Route along the highest-level pointer that doesn’t point past the destination
•Terminate when the message arrives at the node closest to the lexicographic name
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:11
Structure of SkipNet: Node Join
•Find the top-level ring that corresponds to the random ID by searching through rings
•Join the top-level ring and the the next lower ring, etc. until the zero-level ring
– Nodes do not acknowledge the newcomer until this is complete
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:12
Structure of SkipNet: Node Departure
• Can route correctly as long as the bottom level ring is maintained
• Repair upper-level rings lazily• Each node maintains a leaf-set that points to
additional nodes along the bottom ring
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:13
Useful Properties: Locality
• Incorporating a peer’s address into a content name guarantees the content will be hosted there– Naming is not arbitrary
• Routing locality can be guaranteed if you use naming prefixes
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:14
Useful Properties: Constrained Load
Balancing• Dividing a data object’s name into two parts– Specifies the set of nodes over which DHT leaf balancing
should be performed– Input to the DHT hash function
• Searches for the name prefix in lexicographic space• Switches to numeric space to search for the hash of the
name suffix• Limitations
– Can be performed over any naming subtree, not over an arbitrary subset of the nodes
– Domain of load-balancing is encoded in the name, so transparent remapping is impossible
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:15
Useful Properties: Fault Tolerance
• Generally node failures in overlay systems are not independent– Nodes belonging to the same organization tend to fail
together
• Independent failures– Maintain level zero– Lazy stabilization
• Organization Boundaries– Since you preserve locality, this results in partitions instead
of scattered link failures– Partitions remerged via the leaf sets
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:16
Useful Properties: Range Queries
• Inherits the functionality and flexibility in supporting efficient range queries from skip lists
• Keys are stored in lexicographic order– Documents sharing common prefixes are stored over
contiguous ring segments
• Range query answering is routing along a ring segment
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:17
Results: Methodology
• Measured– Relative Delay penalty– Physical Network Hops– Number of failed lookups
• Uniform, clustered and Zipf-clustered
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:18
Results: Basic Routing Costs
Chord Basic SkipNet
Full SkipNet
Pastry
16.3 41.7 73.5 63.2
Unique Routing EntriesRelative Delay Penalty vs. Network Size
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:19
Results: Locality of Placement
Absolute lookup request latency vs. Access Locality
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:20
Results: Fault Tolerance
Failed Lookup Requests vs. Data Access Locality
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:21
Results: CLB
RDP of CLB data vs. Network Size
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:22
Additional Optimizations: Efficient Routing
• Proximity Table– Entry points to a node chosen from the ring segment
whose endpoints are defined by two consecutive basic routing table entries
• Search in this table except when violates the CLB search constraints
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:23
Additional Optimizations: Virtual Nodes
• Many virtual nodes on a physical node
• Routing tables can be shared
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:24
Design Alternatives
• Virtualize the overlay nodes per data object
• Two-part naming scheme– Virtual node name– Node-relative name
• Path locality added to the DHT– Not guaranteed
P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:25
Discussion Questions
• What does locality buy?
• What are the disadvantages to SkipNet?
• How does this differ from Chord and Pastry?