CSE
525 (Winter 2004)
Topic #15: P2P architecture
Jordan Justen
[1] Y. Chawathe, S. Ratnasamy, L. Breslau, N. Lanham, S. Shenker,
"Making Gnutella-like P2P Systems Scalable", ACM SIGCOMM 2003
paper
Summary:
-
Problems identified with Gnutella-like P2P systems
- Not scalable
- Query results have room for improvement
- The key advantage of Gnutella is being completely decentralized
- Paper proposes Gia (Gnutella-like P2P system)
- Retains full decentralization
- Proposes solutions to query issues
- Rejects utilization of Distributed Hash Tables (with explanation)
- Proposed improvements
- Give incentives for advertising high-bandwidth connections
- Node receives better query response from peers
- Bais P2P peer topology to favor nodes with higher bandwidth
- Concentrates queries to higher bandwidth nodes
- Use a biased random walk for queries
- Get rid of Gnutella's wasteful flood queries
- Favor higher bandwidth nodes, but with some flow-control
- Results
- Simulation based experiments
- Not altogether convincing, but promising
[2] H. Zhang, A. Goel, R. Govindan,
"Using the Small-World Model to Improve Freenet Performance",
Proc. IEEE INFOCOM, 2002
paper
Summary:
- Problem identified
- Freenet's hit ratio drops quickly under load
- Proposed solution - Small World Model
-
In a large (clustered) population, it is likely that any two individuals
will be connected through a short sequence of intermediate
acquaintances
-
The paper proposes to change the cache replacement policy of
Freenet to achieve a "small-world" effect
- Promote clustering
- Add random short-cuts
- Results
- Simulation based experiments
- Showed positive results for the metrics presented
[3] L. Cox and B. Noble,
"Samsara: Honor Among Thieves in Peer-to-Peer Storage",
SOSP 2003
paper
Summary:
- Problem identified
- P2P system often fall victim to the "Tragedy of the Commons"
- Garrett Hardin, "The Tragedy of the Commons" 1968
- Most P2P nodes contribute far less than they consume
- Paper's goal
-
Design a P2P storage system that forces each node to contribute
fairly based on it's resource consumption
- Design a decentralized system
- Design
-
Each time a node in the system requests the use of another node's
storage, it agrees to grant the other node an equal amount of
storage in the future
- Storage forwards
-
Nodes can utilize storage on other hosts, even to store data for
another node
-
But, the original node is ultimately responsible for the data
- Data checks
-
Nodes periodically query peers to make sure they are still storing
their data
-
If they find out the host is cheating, then they can drop some
of the data from that host as "punishment" for cheating
- Results
-
The authors actually implemented a Samsara client, and presented
results from that implementation
- All the data indicated Samsara was successful
-
Unfortunately, Samsara was not a "traditional" P2P application,
and it wasn't clear that the results could be duplicated in more
traditional P2P type applications
Presentation:
[ sxi,
ppt
]