SkipNet: A Scalable Overlay Network with Practical Locality Properties
Download
Report
Transcript SkipNet: A Scalable Overlay Network with Practical Locality Properties
SkipNet: A Scalable Overlay Network
with Practical Locality Properties
Nicholas J. A. Harvey, Michael B. Jones, Stefan
Saroiu, Marvin Theimer, and Alec Wolman
Presented by Koji Yatani
Problem
DHTs cannot control where data is stored.
It may be far from the users.
It may be outside the administrative domain to which it
belongs.
SkipNet
A scalable overlay network integrating two locality
properties
Content locality
Path locality
Content locality
The ability to explicitly place data on specific nodes or
distribute it across nodes within a given organization
Path locality
The ability to guarantee that message traffic between
two nodes within the same organization is routed
within that organization only.
Locality Properties of SkipNet
Content and routing path locality
Content locality: Incorporating a node’s name ID into
content name
john.microsoft.com/doc-name
Routing path locality: Sharing a prefix in the “reversed”
name IDs
com.microsoft.john
com.microsoft.alice
com.microsoft.bob
Locality Properties of SkipNet
Constrained load balancing (CLB)
The name of data has two parts.
The CLB domain: it specifies the set of nodes over
which DHT load balancing should be performed
The CLB suffix: it is used as input to the DHT’s hash
function
Example: msn.com/DataCenter!TopStories.html
Experimental Evaluation
Basic routing costs
Constrained load balancing
Network proximity
Effect of locality of data placement
Fault tolerance
SkipNet shows significant performance improvements
and great fault tolerance as the locality of data reference
increases.
Discussions
What is the reason why CLB in SkipNet was not so
great?
Did it hit the theoretical limit?
Was there something wrong with the assumptions for
the simulation?
How could we overcome the problem?
Discussions
Is there any other good way to evaluate SkipNet (or a
P2P system in general)?
What kind of evaluations would make our paper
stronger?
Taxonomy in the paper we looked at last week
Decentralization
Architecture
Lookup Protocol
System Parameters
Routing Performance
Routing State
Peers Join and Leave
Security
Reliability
Discussions
Is there any other useful guarantee/functionality in
a P2P system?
Untraceable identities (Winny)
Clustering
Detection of fake/virus files
Anything else?
Discussions
Could we apply the SkipNet structure to a social
networking system?
People would belong to many different organizations.
The “main” organization might be dynamically
changed.
Day -> “CS grad students at UofT”
Night -> “Residents in Graduate House”
Would SkipNet improve the performance of a social
networking system? How?
Discussions
What kind of guarantees/improvements would we
need for a social network?
We would not want a message to be routed through an
unfamiliar/outside node.
We would want to connect a node outside the
organization more effectively.
Discussions
Could we explore other enhancements on SkipNet
with a social networking?
A better way to construct and maintain P-table
CLB with a more flexible subset of the network
Clustering
A collaborative uploading/downloading
Thank you.
Any other discussion?
Distributed Hash Table (DHT)
A nodeID is assigned to each node.
Data is placed deterministically with an identifier
called key which is determined by a hash function.
Each peer maintains information on its
neighborhood nodeIDs and IP addresses.
Queries are forwarded so that it can get closer to the
key in the identifier space.
Theoretically, a DHT-based system can guarantee
that any date can be located in O(logN) hops.
DHT
Disadvantage: the system cannot know where the
desired data is.
It may be far from the users.
It may be outside the administrative domain to which it
belongs.
Routing over SkipNet
Analogy to Skip List
A sorted linked list in which some nodes are
supplemented with pointers that skip over many list
elements
Routing over SkipNet
Skip List
A perfect Skip List: The height of a i-th node can be
determined as the exponent of the largest power-oftwo that divides i.
A probabilistic Skip List: The height of each node can
be chosen with the probability with (½)^h.
The SkipNet Structure
D
M
O
A
T
Z
R-table
V
X
Level
Clockwise
Anti-clockwise
Level
Clockwise
Anti-clockwise
2
T
T
2
D
D
1
M
X
1
Z
O
0
D
Z
0
X
T
The SkipNet Structure
Numeric ID
Its first h bits determine ring membership.
M
D
110
010
O
101
A 000
001
100
Z
011
X
111
V
T
The SkipNet Structure
Routing by Numeric ID
Node A wants to send a message to node 1011.
M
D
1100
0100
O
1001
A 0000
0001
1000
Z
0101
X
1101
V
T
Locality Properties of SkipNet
Limitation of CLB in the SkipNet
It does not support load balancing over an arbitrary
subset of the nodes.
Only over any naming subtree of the SkipNet
Transparent remapping to a different load balancing
domain is not possible.
The CLB domain is encoded in the name of a data object.
SkipNet Enhancement
Sparse and dense routing table
Using non-binary digits for the numeric IDs
Decreasing the total number of pointers in the R-table
Increasing the routing hops to a specific node
SkipNet Enhancement
Network proximity
The problem: A message my be routed through a node
which is located at a distant place.
USA
UK
aaa.com/nodeA
bbb.com/nodeB
ccc.com/nodeC
SkipNet Enhancement
Network proximity
The second routing table: P-table
Inspired by Pastry’s proximity-aware routing tables
Experimental Evaluation
Relative Delay Penalty (RDP): The ratio of the latency
of the overlay network path between to two nodes to
the latency of the IP-level path between them.
Basic routing costs
Constrained load balancing
Network proximity
Physical network hops
Effect of locality of data placement
Numbers of failed lookups
Fault tolerance
Experimental Evaluation
Basic routing costs
Basic SkipNet and Chord: do not support proximity-
aware rooting
Full SkipNet and Pastry: do support proximity-aware
rooting
Experimental Evaluation
Absolute latency for lookups as a function of data
access locality
SkipNet was not so great here.
Inter-domain links had the same cost as intra-domain
links.
Experimental Evaluation
Fault tolerance
SkipNet showed a great fault tolerance.
Locality Properties of SkipNet
Constrained load balancing
SkipNet was not so great again… why?
Is there any good way to evaluate the performance of
CLB?
Experimental Evaluation
Network proximity
Density parameter k: controls the density of P-table
pointers.
Choosing k=8 provides a good performance with a
reasonable number of pointers.