ENSC 835: HIGH- -PERFORMANCE NETWORKS PERFORMANCE NETWORKS ENSC 835: HIGH P2P Networks as Content P2P Networks as Content Delivery Networks Delivery Networks FINAL PROJECT PRESENTATION FINAL PROJECT PRESENTATION Fall 2003 Fall 2003 André Dufour Dufour André http://www.sfu.ca/~adufour/ensc835/ http://www.sfu.ca/~adufour/ensc835/ adufour@sfu.ca adufour@sfu.ca 1 1
Roadmap Roadmap � Introduction and Motivation Introduction and Motivation � � CDNs and Issues CDNs and Issues � � Why P2P? Why P2P? � � Problem Description Problem Description � � What Are We Trying to Achieve? What Are We Trying to Achieve? � � About the Chosen Protocol About the Chosen Protocol � � Survey of Related Work Survey of Related Work � � Implementation and Results Implementation and Results � � Future Work Future Work � � References References � 2 2
Introduction: CDNs Introduction: CDNs � Distributed servers in lower Distributed servers in lower- -tier ISPs tier ISPs � � Close to users Close to users � � Geographically dispersed Geographically dispersed � � Again, close to users Again, close to users � � Avoid network bottlenecks Avoid network bottlenecks � � Overall intent: Overall intent: � � Distribute processing and network load Distribute processing and network load � � No single point of failure No single point of failure � � Thus, “better” performance Thus, “better” performance � 3 3
CDNs - - Issues Issues CDNs � Cost! Cost! � � To customers: To customers: � � As much as $15,000 / month / Mbps [1] As much as $15,000 / month / Mbps [1] � � To operators: To operators: � � Akamai Akamai has 12,600 servers worldwide [1] has 12,600 servers worldwide [1] � � Exodus/Cable & Wireless has 2600 servers [1] Exodus/Cable & Wireless has 2600 servers [1] � � Fortinet Fortinet (AV vendor) operates a multi (AV vendor) operates a multi- -tier CDN for tier CDN for � distributing antivirus updates distributing antivirus updates � Can we do without the servers? Can we do without the servers? � 4 4
P2P Networks P2P Networks P2P is a class of applications that takes P2P is a class of applications that takes advantage of resources -- -- storage, cycles, storage, cycles, advantage of resources content, human presence -- -- available at available at content, human presence the edges of the Internet [2] the edges of the Internet [2] � Aggregate or leverage existing resources Aggregate or leverage existing resources � � Users’ hard drives Users’ hard drives � � Overlay of existing network Overlay of existing network � � Significant participation of end systems Significant participation of end systems � 5 5
P2P Networks P2P Networks � Naturally distributed Naturally distributed � � More fault tolerant than server approach More fault tolerant than server approach � � Cannot easily be disabled by equipment Cannot easily be disabled by equipment � failure failure � Structure similar to CDNs, but without Structure similar to CDNs, but without � dedicated servers dedicated servers 6 6
Problem Description Problem Description � Simulate the use of a P2P network Simulate the use of a P2P network � (Gnutella) as a CDN (Gnutella) as a CDN � Consider the distribution of versioned Consider the distribution of versioned � content (e.g. AV update, OS patch, …) content (e.g. AV update, OS patch, …) � Observe the propagation Observe the propagation behaviour behaviour of the of the � content content � In particular, how long it takes to reach all In particular, how long it takes to reach all � nodes nodes 7 7
Gnutella Gnutella � Distributed P2P networking protocol Distributed P2P networking protocol � � 3 phases of interest: 3 phases of interest: � � Connection (Anne and Brian’s project) Connection (Anne and Brian’s project) � � Query flooding Query flooding � � Downloading with HTTP Downloading with HTTP � � Selected because it’s an open and widely Selected because it’s an open and widely � deployed technology deployed technology 8 8
Gnutella as a CDN Gnutella as a CDN 9 9
Related Work Related Work � Gnutella development is ongoing Gnutella development is ongoing � � I used v 0.4 (for simplicity) I used v 0.4 (for simplicity) � � Latest quasi Latest quasi- -stable version is 0.6 stable version is 0.6 � � Many other P2P protocols and applications are Many other P2P protocols and applications are � emerging emerging � Kazaa/Fastrack Kazaa/Fastrack network network � � P2P Gaming (see [3], [4]) P2P Gaming (see [3], [4]) � � Akamai Akamai uses a P2P architecture for uses a P2P architecture for � synchronizing its servers synchronizing its servers � But have not found any evidence that someone But have not found any evidence that someone � is doing what we propose is doing what we propose 10 10
Implementation Implementation � Used NS Used NS- -2 2 � � We’re operating at the application layer We’re operating at the application layer � � Finer control than OPNET Finer control than OPNET � � Simulated a network of Gnutella Simulated a network of Gnutella servents servents � � Parameters: Parameters: � � Number of nodes Number of nodes � � % of nodes with content % of nodes with content � � Connectivity of network ( Connectivity of network (avg avg and max and max conns conns) ) � � Time between queries Time between queries � � Random number generator seed Random number generator seed � 11 11
Implementation: the Gory Details Implementation: the Gory Details GnutAgent GnutDescriptor ReleventAgent GnutQueryData GnutQueryHitData GnutStats GnutPathList 12 12
Results Results 5% of nodes have content – – Weakly connected ring Weakly connected ring 5% of nodes have content 2.5 Number of Nodes not Updated 2 1.5 1 0.5 0 0 200 400 600 800 1000 1200 Time [s] 13 13
Results Results 5% of nodes have content – – Strongly connected Strongly connected 5% of nodes have content 2.5 Number of Nodes Not Updated 2 1.5 1 0.5 0 0 200 400 600 800 1000 1200 -0.5 Time [s] 14 14
Results Results 50% of nodes have content – – Strongly connected Strongly connected 50% of nodes have content 8 Number of Nodes Not Updated 7 6 5 4 3 2 1 0 0 200 400 600 800 1000 1200 -1 Time [s] 15 15
Results Results 50% of nodes have content – – Weakly connected ring Weakly connected ring 50% of nodes have content 8 Number of Nodes Not Updated 7 6 5 4 3 2 1 0 0 200 400 600 800 1000 1200 -1 Time [s] 16 16
Conclusions Conclusions � Both connectivity and proportion of nodes Both connectivity and proportion of nodes � with content influence update time with content influence update time � Given the right conditions, P2P networks Given the right conditions, P2P networks � can be used as CDNs can be used as CDNs � But beware: this is only a toy But beware: this is only a toy- -sized sized � simulation. More analysis and larger simulation. More analysis and larger simulation is required simulation is required 17 17
Future Work Future Work � More simulation! More simulation! � � Larger network Larger network � � Larger range of parameters Larger range of parameters � � More parameters? More parameters? � � Integrate this project with Anne and Integrate this project with Anne and � Brian’s “Gnutella Connection Dynamics” Brian’s “Gnutella Connection Dynamics” � Add simulation of HTTP download Add simulation of HTTP download � 18 18
References References [1] CDN shortlist (printable version): � http://www.hostingtech.com/connectivity/02_06_cdn_print.html , (accessed October 28, 2003). [2] What is P2P… and What Isn’t [Nov. 24, � 2000]: http://www.openp2p.com/pub/a/p2p/2000/11/24/shirky1-whatisp2p.html?page=2, (accessed October 27, 2003). [3] A. El Saddik, and A. Dufour, " Peer-to-Peer Suitability for Collaborative Multiplayer Games ," In � Proceedings of the Seventh IEEE International Symposium on Distributed Simulation and Real Time Applications, Delft, Netherland 25th - 28th Oct. 2003. [4] A. El Saddik, and A. Dufour, " Peer-to-Peer Communication through the Design and � Implementation of Xiangqi ," In Proceedings of the International Conference on Parallel and Distributed Computing, Klagenfurt, Austria 26th - 29th August 2003. [5] A. Fouron, and B. Fraser, “ Dynamic Connection Creation in the Gnutella Network ,” Graduate � Work, Simon Fraser University, 2003. [6] Gnutella – Stable – 0.4: � http://rfc-gnutella.sourceforge.net/developer/stable/index.html, � (accessed October 10, 2003). � [7] Gnutella Protocol Development: � http://rfc-gnutella.sourceforge.net/developer/testing/index.html, � (accessed October 10, 2003). � [8] S. Floyd and V. Paxson, ``Difficulties in simulating the Internet,'' IEEE/ACM Transactions on � Networking , vol. 9, no. 4, pp. 392 - 403, August 2001. 19 19
Recommend
More recommend