190 likes | 206 Views
Explore the styles of collaboration in decentralized filesharing networks, comparing centralized and decentralized models like Napster and Freenet. Discover how the Freenet algorithm works, emphasizing adaptivity, scalability, and fault tolerance. Learn about the small-world model and the importance of routing in network efficiency. Delve into scalability, fault tolerance, and other key metrics to consider in decentralized systems. Gain insights into file lifetimes, variable capacities, and more.
E N D
Performance in Decentralized Filesharing Networks Theodore Hong Freenet Project
Styles of collaboration • Centralized model • e.g. Napster • global index held by central authority (single point of failure) • direct contact between requestors and providers • Decentralized model • e.g. Freenet, Gnutella • no global index – local knowledge only (approximate answers) • contact mediated by chain of intermediaries
Key questions • Does it work? • can we find the data? • query success rates length of query paths • Does it scale? • logarithmic / linear / polynomial • Is it robust? • participants are unreliable • different failure modes possible
An abstract model • Can model the network as a graph:
Querying the network • Answering a query means finding a path • source = requestor • destination = provider • A distributed search problem! • approximate global solution using local knowledge • same problem as IP routing
The Freenet algorithm • Graph structure actively evolves over time • new links form between nodes • files migrate through network adaptive routing
Initial simulations • Ring topology, 1000 nodes:
Why does it work? • The small-world model • Milgram: six degrees of separation • Watts: between order and randomness • short-distance clustering + long-distance shortcuts
P(n) ~ 1/n1.5 Links in the small world • “Scale-free” link distribution • P(n) = 1/nk • most nodes have only a few connections • some have a lot of links
Small-world links (cont’d) • Real-world examples • movie actors (Kevin Bacon game) • world-wide web • nervous system of wormC. elegans
The importance of routing • Existence of short paths is not enough – they must be found • Adaptivity helps Freenet find good paths • Compare: a random-routing network
Scalability • Real-world networks are much larger • nearly 400,000 downloads of Freenet • 50 million Napster users • How well does Freenet scale?
Fault-tolerance • Unreliability is normal in peer-to-peer • Two types of failure: • random failure • targeted attack
To do • Variable disk/bandwidth capacity • if you build it, will they come? • Participants leaving and re-entering • File lifetimes • “lifetime” is relative • relationship between ease of retrieval and popularity, size • impact of splitting and combining
Conclusions • Local approximations can be good enough • Small-world model provides useful framework • Metrics to consider: • query pathlength • clustering coefficient • link distribution • Issues to consider: • scalability • fault tolerance under various scenarios
For more information • “Performance” chapter in Peer-to-Peer • I. Clarke, O. Sandberg, B. Wiley, T.W. Hong, “Freenet: a distributed anonymous information storage and retrieval system,” in Workshop on Design Issues in Anonymity and Unobservability, ed. by H. Federrath. Springer: New York (2001)