p2p architecture
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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
● Due to flooding used on queries– Ineffective query results
● 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