Using the Small-World Model to Improve Freenet

P2P Architecture
●
●
●
"Making Gnutella-like P2P Systems Scalable", ACM
SIGCOMM 2003
"Using the Small-World Model to Improve Freenet
Performance", Proc. IEEE INFOCOM, 2002
"Samsara: Honor Among Thieves in Peer-to-Peer
Storage", SOSP 2003
Making Gnutella-like P2P Systems Scalable
●
Problems identified
–
Not scalable
●
–
Ineffective query results
●
●
Due to flooding used on queries
Due to TTL used to limit flooding bandwidth
Gnutella advantages retained
–
Completely decentralized
●
Therefore no (expensive) infrastructure required
Gnutella paper - Gia proposal
●
Gia
–
Completely decentralized
–
Takes node capacity into account
–
Flow control
–
Improved search algorithm
●
–
Replaces flooding
Content index replication on peer nodes
Gnutella paper - Why not DHTs?
●
Distributed Hash Tables
–
●
Hash Table at the Internet scale
Why are DHTs not in Gia?
–
DHT overhead is high for node churn
–
DHTs good at finding needles, not hay
●
–
Think of the “needle in a haystack” analogy
Most P2P file searches are for hay
Gnutella paper – Gia design
●
Topology adapation
–
Each node run the topology adaptation algorithm
until it is “satisfied”
–
Each node chooses new peer nodes based on
its capacity and degree
–
The effect of the algorithm is to concentrate
traffic to the nodes with higher capacity
Gnutella paper –
Gia design (continued)
●
Flow control
–
Active flow control - Receiver must indicate it is
willing to accept a query
●
It does this by granting tokens
–
Avoids allowing queries to be dropped
–
Provides incentive for nodes to advertise their
true capacity
●
Query tokens assigned proportionally the advertised
capacity
Gnutella paper –
Gia design (continued)
●
One-hop Replication
–
●
Each node maintains an index of the content
available on each of its neighboring nodes
Search Protocol
–
Searches are sent using a biased random walk
●
Node capacity and search tokens are used to bias the
search
Gnutella paper – Results
Gnutella paper - Conclusion
●
Gia Results
–
●
Showed that a scalable, fully decentralized P2P
network with good query results is possible
Future work
–
Research centralized P2P systems
●
●
Requires an underlying business model
Google, Yahoo show that large centralized systems
can be scalable/efficient
Using the Small-World Model to
Improve Freenet Performance
●
Freenet
–
P2P network focused on providing anonymous
publishing and content access
–
Each participating client provides hard drive
space and network bandwidth
–
Over time, only the most popular content is
retained within freenet
Freenet Paper –
Small world model
●
Small world model
–
In a large population, it is likely that any two
individuals will be connected through a short
sequence of intermediate acquaintances
Freenet Paper – Freenet problem
●
Problem identified
–
Freenet hit ratio drops fast under load
●
Paper identifies the simple LRU cache replacement
algorithm as significant issue
Freenet Paper – Proposal
●
Alter the cache replacement policy
–
Promote clustering
–
Add random short-cuts
–
Together this produces a small-world type
organization
Freenet Paper – Results
Freenet Paper – Conclusion
●
This paper proposed an interesting P2P
system model
–
●
●
Additionally, no change to the freenet protocol
would be required
They simulated the effects of the proposed
system
The results supported the small-world model
proposal
Samsara: Honor Among Thieves in
Peer-to-Peer Storage
●
●
●
Samsara is a P2P system which attempts to
enforce the fair usage of resources by the
nodes
Focus is put on data storage
Attempts to have each node's contribution
approximate it's consumption
Samsara - Problem
●
Tragedy of the commons
–
In most systems with a shared resource
●
●
●
There is an incremental positive for each individual
when they take additional advantage of the resource
But, the incremental negatives aspects of them using
the resource will be shared by everyone
Therefore, each individual can easily conclude that
they should maximize their usage of the resource
Samsara – Problem (continued)
●
Tragedy of the commons
–
This is what leads to the disparity between
contribution and consumption in most P2P
systems today
Samsara – Previous Solutions
●
Absolute symmetric peer usage
–
●
But, usage in most P2P systems is not
symmetric
Fairness can be achieved with a central
authority
–
But, this runs counter to the decentralized goal of
most P2P systems
Samsara – Solution
●
●
Samsara seeks a solution that
–
Enforces fair resource contributions
–
Is fully decentralized
Samsara achieves these goals by
“manufacturing” symmetric usage where it
doesn't exist
–
Whenever a node uses resources of another
node, it agrees to provide an equal amount of
resources in return
Samsara – Solution (continued)
●
Each node can forward claims to other hosts
–
●
It retains responsibility for the data
Cheaters are detected with queries
–
The queried host has a certain amount of time to
return a response
●
Eventually the querying host will conclude that the
other host is cheating, and it will start to drop some of
it's data
Samsara – Issues
●
Forwarding of claims
–
●
Each time storage is forwarded, the systems
stability is reduced
Cycles in forwarded storage
–
First host in cycle once again holds the data
–
Authors argue that this improves stability
Samsara – Performance
Samsara – Conclusion
●
The problem was clearly identified
●
An unique solution was proposed
●
An implementation was built
–
●
Although, it was not quite a mainstream P2P
application
The resulting implementation yielded data
that supported the initial proposal