240 likes | 397 Views
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.
E N D
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 - 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 – 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 – 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