Peer-to-Peer Information Systems Week 6: Performance Old Dominion University Department of Computer Science CS 495/595 Fall 2004 Michael L. Nelson <mln@cs.odu.edu> 10/05/04
Regular & Random Graphs vertices: n=4096 neighbors: k=8 Regular Graph average diameter n/2k clustering coefficient (connections present) / (k(k-1)/2) approaches .75 for large n Random Graph average diameter log(n/log k) clustering coefficient k/n approaches 0 for large n =256 =4 =0.002 =0.5 figures 14-4 & 14-5 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Small Worlds, Revisited Duncan J. Watts, Steven H. Strogatz. Collective Dynamics of 'Small-World' Networks. Nature 393, 440-442 (1998) http://dx.doi.org/10.1038/30918 figures 1 & 2 from Watts & Strogatz
Freenet Performance Simulation 1000 identical nodes capacity: n=1000, k=4 diameter = 125, CC=0.5 capacity: 50 data items (all initially empty) 200 references (4 nearest neighbors initially linked) every timestep, randomly pick a node for an insert or request TTL=20 figure 14-8 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Freenet Path Evolution approaching 2 figure 14-9 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Freenet Path Evolution approaching 6; cf. ~50 for random routing (figure 14-13) figures 14-10 & 14-12 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Growing the Freenet Network start with 20 nodes add a new node every 5 timesteps until 1000 nodes results path length 2.2 CC 0.22 50% requests complete in <= 5 hops figure 14-15 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Attacks vs. Failures figure 14-19 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Free Riders in Freenet No real impact: if you don’t share files, you don’t get linked into the network the free riding node can contribute traffic to the network if a node refuses incoming connections, it is considered “down” and the other nodes route around it
Freenet Scalability slope increase probably due to a simulation side-effect figures 14-21 & 14-22 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Gnutella Performance build 1000 empty nodes, randomly add 1500 edges n=1000, k=3 random graph! (cf. Figure 14-5) after initialization, the network does not evolve no adds or joins “publish” 2500 data objects; each exists in 20 locations 50k (2500 * 20) total files in the network perform 300 queries on random files, TTL= halt query after file is found (unlike the real Gnutella)
Gnutella Communication breadth-first search finds the shortest path… figure 3 from Ripeanu, Iamnitchi & Foster, IEEE IC, 6(1), 2002 figures 14-23 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Gnutella Communications …but costs communications figure 14-24 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Gnutella Attacks vs. Failures no real difference between attacks and failures… …but are assumptions still valid? figures 14-29 & 14-26 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Gnutella - Power Law? figures 5&6 from Ripeanu, Iamnitchi & Foster, IEEE IC, 6(1), 2002
Free Riding in Gnutella 73% of Gnutella users share < 10 files! Gnutella has no mechanism to describe or remember “good” hosts free riders increase the path length w/o adding content free riders increase the communications requirements figure 1 from Adar & Huberman, http://www.firstmonday.dk/issues/issue5_10/adar/
Gnutella Scalability cf. figures 14-21 & 14-22 figure 14-31 from Ch. 14 & http://www.doc.ic.ac.uk/~twh1/academic/papers/oreilly.pdf
Super-peers All peers are equal, but some peers are more equal than others Beverly Yang, Hector Garcia-Molina, "Designing a Super-peer Network." In Proceedings of the 19th International Conference on Data Engineering (ICDE), Bangalore, India, March 2003. http://www-db.stanford.edu/~byang/pubs/superpeer.pdf definitions pure P2P: Gnutella, Freenet, Free Haven hybrid P2P: Napster super-peer: a node that acts as a centralized server (hybrid system) to a subset of clients super-peers are connected, and communication between them occurs as a pure P2P for downloads, peer and super-peer distinctions don’t matter
Super-Peer Network
Super-Peer Motivation very heterogeneous capability in P2P systems http://citeseer.nj.nec.com/saroiu02measurement.html combine pure & hybrid capabilities build hierarchical structures? super-super-peer? super-super-super-peer? Super-peer examples: http://www.kazaa.com/ http://www.morpheus.com/ http://www.grokster.com/
Gnutella Reflectors instead of forwarding queries, a Gnutella reflector answers them from its cache resources: http://www.openp2p.com/pub/a/p2p/2001/03/22/truelove.html?page=4 http://web.archive.org/web/20010616055844/http://www.clip2.com/reflector.html also: gnuTellavision http://www.sims.berkeley.edu/~rachna/gtv/ figure from http://web.archive.org/web/20010616055844/http://www.clip2.com/reflector.html
Gnutella Maps from: http://www.cybergeography.org/atlas/more_topology.html; cf. figure 8-3 (p. 109)
Super-Peer Definitions from Yang & Garcia-Molina, 2003 load = f(incoming bandwidth, outgoing bandwidth, processing power) individual load = load of 1 node aggregate load = load of all nodes in system k-redundancy = a super-peer has k backups
Super-Peer Rules of Thumb from Yang & Garcia-Molina, 2003 Increasing cluster size decreases aggregate load, but increases individual load as the cluster size grows, super-peers work harder Super-peer redundancy is good additional complexity, but yields “good aggregate load of a large cluster size, and the good individual load of a smaller cluster size -- in addition to increased reliability” Maximize outdegree of super-peers decreases expected # of hops, provided that all super-peers take on more clients Minimize TTL TTL can be tuned: start high, look at how far away your results are, back down to that…
Meta Services in Dienst Haven’t we been here before… Meta Services in Dienst Master Meta Server Region B Region A Regional Meta Server Regional Meta Server Merged Index Server Merged Index Server Standard Dienst Merged Index Server Backup Server Standard Dienst Standard Dienst Central Lite Site Standard Dienst Lite Site Lite Site