skipnet: a scaleable overlay network with practical locality properties presented by rachel rubin...

25
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

Post on 21-Dec-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 2: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 3: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 4: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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?

Page 5: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 6: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 7: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 8: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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%

Page 9: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 10: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 11: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 12: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 13: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 14: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 15: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 16: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 17: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 18: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 19: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:19

Results: Locality of Placement

Absolute lookup request latency vs. Access Locality

Page 20: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:20

Results: Fault Tolerance

Failed Lookup Requests vs. Data Access Locality

Page 21: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

P2P Systems 2003 ©2003 Rachel Rubin/UC Berkeley SkipNet:21

Results: CLB

RDP of CLB data vs. Network Size

Page 22: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 23: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 24: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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

Page 25: SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael

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?