1 1
Simulating Search Strategies Simulating Search Strategies for - - PowerPoint PPT Presentation
Simulating Search Strategies Simulating Search Strategies for - - PowerPoint PPT Presentation
ENSC 835: HIGH-PERFORMANCE NETWORKS FINAL PROJECT PRESENTATIONS Fall 2003 Simulating Search Strategies Simulating Search Strategies for Gnutella for Gnutella Chun Wai Wai Chan Chan Chun http://www.sfu.ca/~cchany/ENSC835
2 2
Roadmap Roadmap
Introduction: Motivation & Overview Introduction: Motivation & Overview Overview of Related Work Overview of Related Work Technical Details Technical Details
– – BFS BFS – – Randomized BFS Randomized BFS – – k k-
- Walker Random Walk
Walker Random Walk – – Iterative Deepening (if time permits) Iterative Deepening (if time permits)
Implementation & Discussion Implementation & Discussion
– – Topology Topology – – Architecture Architecture – – Results Results
Future Work Future Work References References
3 3
Introduction: Motivation & Overview Introduction: Motivation & Overview
This project is about simulating different This project is about simulating different search strategies in Gnutella. search strategies in Gnutella. What is Gnutella? What is Gnutella?
– – An open source decentralized peer An open source decentralized peer-
- to
to-
- peer
peer (P2P) network (P2P) network – – Allows users to search and download data Allows users to search and download data from one another from one another
4 4
Introduction: Motivation & Overview Introduction: Motivation & Overview
Why is it important? Why is it important?
– – Data Data-
- sharing P2P is popular
sharing P2P is popular
Lime Wire reported total number of users exceeds Lime Wire reported total number of users exceeds 500,000 in March 2002 500,000 in March 2002 Clip2 and Lime Wire have estimated with Clip2 and Lime Wire have estimated with simultaneous users of about 40,000 (average) in simultaneous users of about 40,000 (average) in 2001 2001
– – Searches impose huge burden to the network Searches impose huge burden to the network
5 5
Overview of Related Work Overview of Related Work
There are many researches for searches There are many researches for searches in P2P systems going on in major in P2P systems going on in major universities including: universities including:
– – Infrastructure for Resilient Internet Systems Infrastructure for Resilient Internet Systems (IRIS) by MIT, and Stanford Peers in Stanford (IRIS) by MIT, and Stanford Peers in Stanford University University
Gnutella Protocol Development is active in Gnutella Protocol Development is active in renewing the Gnutella protocol renewing the Gnutella protocol
– – The newest proposed version is 0.7 while the The newest proposed version is 0.7 while the current stable version is 0.4 current stable version is 0.4
6 6
Overview of Related Work Overview of Related Work
Search techniques: Search techniques:
– – Gnutella protocol 0.4 uses breadth first search Gnutella protocol 0.4 uses breadth first search ( (BFS BFS) as its search technique ) as its search technique – – Kalogeraki Kalogeraki, et al. [2] has suggested the , et al. [2] has suggested the randomized BFS randomized BFS and the intelligent search and the intelligent search – – Lv Lv, et al. [3] has proposed the , et al. [3] has proposed the k k-
- walker
walker random walk random walk technique technique – – Yang, et al. [5] has suggested iterative Yang, et al. [5] has suggested iterative deepening search deepening search
7 7
Technical Details Technical Details
BFS BFS Node sends a search request to all neighbouring Node sends a search request to all neighbouring nodes nodes Upon receiving search request, Upon receiving search request,
– – It sends a response to the querying node if it contains It sends a response to the querying node if it contains the data the data – – Then, it forwards the request to all its neighbours Then, it forwards the request to all its neighbours
For duplicate requests, the node will drop that For duplicate requests, the node will drop that request and will not forward it request and will not forward it The process continues until the preset number The process continues until the preset number
- f hops (call it TTL) becomes 0
- f hops (call it TTL) becomes 0
8 8
Technical Details Technical Details
BFS BFS
hi.txt
- e.txt
se.ml Starts search for se.ml Sends response the originator Ignore duplicate messages
9 9
Technical Details Technical Details
Randomized BFS Randomized BFS
Almost the same as BFS Almost the same as BFS Except that instead of sending to all Except that instead of sending to all neighbours, send to a preset number of neighbours, send to a preset number of neighbours randomly neighbours randomly Reduces network traffic while decreasing Reduces network traffic while decreasing the number of data found the number of data found
10 10
Technical Details Technical Details
k k-
- Walker Random Walk
Walker Random Walk
Search originator sends request to k Search originator sends request to k randomly selected neighbours randomly selected neighbours If a neighbour has the data, it response to If a neighbour has the data, it response to the originator and stop there the originator and stop there If not, it forwards to one randomly chosen If not, it forwards to one randomly chosen neighbour only neighbour only Idea is like k walkers searching on the Idea is like k walkers searching on the network network
11 11
Technical Details Technical Details
k k-
- Walker Random Walk (k = 3)
Walker Random Walk (k = 3)
12 12
Technical Details Technical Details
Iterative Deepening Iterative Deepening
Perform BFS with TTL 1 Perform BFS with TTL 1 If successful, respond and finish the If successful, respond and finish the search search If not, continue with TTL 2 If not, continue with TTL 2 Repeat and increase the TTL again until a Repeat and increase the TTL again until a preset limit is reached preset limit is reached
13 13
Implementation & Discussion Implementation & Discussion
Ns 2.26 will be used as the simulation tool Ns 2.26 will be used as the simulation tool Detailed instructions on setting up ns Detailed instructions on setting up ns under under cygwin cygwin by Nicolas by Nicolas Christin Christin can be can be found in found in
http://www.sims.berkeley.edu/~christin/ns http://www.sims.berkeley.edu/~christin/ns-
- cygwin.shtml
cygwin.shtml
14 14
Implementation & Discussion Implementation & Discussion
Simulation Scenario Simulation Scenario
1.
- 1. Randomly generate the network
Randomly generate the network topology, the data each node contains, topology, the data each node contains, and the search requests into a file and the search requests into a file
2.
- 2. OTcl
OTcl script reads the file and runs the script reads the file and runs the simulation on a specific search strategy simulation on a specific search strategy
3.
- 3. Repeat step 2 for other search strategies
Repeat step 2 for other search strategies
4.
- 4. Collect and analyse the result
Collect and analyse the result
15 15
Implementation & Discussion Implementation & Discussion
Topology generation Topology generation
A C++ program will be written to do step 1 A C++ program will be written to do step 1 A A perl perl script will be used to translate the script will be used to translate the result to result to OTcl OTcl script script
Node Node Node Node
16 16
Implementation & Discussion Implementation & Discussion
Architecture Architecture
GnutApp
TcpApp TcpApp
GnutApp
TcpApp
GnutApp
TcpApp TcpAgent
17 17
Implementation & Discussion Implementation & Discussion
Results Results We specify: We specify:
– – The number of nodes, the number of links, the max The number of nodes, the number of links, the max number of data a node contains, the number of number of data a node contains, the number of search queries to be initiated, and the size of a search queries to be initiated, and the size of a search message search message
We are interested in: We are interested in:
– – Average number of success per search request Average number of success per search request – – Average number of duplicate messages received per Average number of duplicate messages received per search search – – Average number of search messages generated per Average number of search messages generated per search search – – A graph of number of search messages vs. time A graph of number of search messages vs. time
18 18
Future Work Future Work
Run the simulation on different topologies Run the simulation on different topologies
– – Modify Modify Inet Inet Topology Generator which approximate Topology Generator which approximate Internet AS topology for smaller number of nodes Internet AS topology for smaller number of nodes (currently only > 3037) (currently only > 3037)
http://topology.eecs.umich.edu/inet/ http://topology.eecs.umich.edu/inet/
– – Port Georgia Tech Port Georgia Tech Internetwork Internetwork Topology Models Topology Models topology generator which generates different types of topology generator which generates different types of random graphs to Linux random graphs to Linux
http://www.cc.gatech.edu/fac/Ellen.Zegura/graphs.html http://www.cc.gatech.edu/fac/Ellen.Zegura/graphs.html
Run the simulation on more powerful machines Run the simulation on more powerful machines Simulation Gnutella 0.6 Simulation Gnutella 0.6’ ’s search on its s search on its hierarchical topology (with hierarchical topology (with UltraPeers UltraPeers) )
19 19
References References
[1] [1] Protocol Specification: Clip2 ( Protocol Specification: Clip2 (n.d n.d.). The Gnutella Protocol .). The Gnutella Protocol Specification v0.4. Retrieved January 1, 2003, from Specification v0.4. Retrieved January 1, 2003, from http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf http://www9.limewire.com/developer/gnutella_protocol_0.4.pdf [2] [2] Series Proceeding Section Article: Series Proceeding Section Article: Kalogeraki Kalogeraki, V., , V., Gunopulos Gunopulos, , D., & D., & Zeinalipour Zeinalipour-
- Yazti
Yazti, D. (2002, November). A Local Search , D. (2002, November). A Local Search Mechanism for Peer Mechanism for Peer-
- to
to-
- Peer Networks [Electronic version]. Series
Peer Networks [Electronic version]. Series-
- Proceeding
Proceeding-
- Section
Section-
- Article, 300
Article, 300-
- 307.
307. [3] [3] Conference Paper: Conference Paper: Lv Lv, Q., et al. (2002, June). Search and , Q., et al. (2002, June). Search and Replication in Unstructured Peer Replication in Unstructured Peer-
- to
to-
- Peer Networks. Paper
Peer Networks. Paper presented at the 16th International Conference on Supercomputing presented at the 16th International Conference on Supercomputing. . New York City, NY. New York City, NY. [4] [4] Online Article: Ritter, J. (2001, February). Why Gnutella Can Online Article: Ritter, J. (2001, February). Why Gnutella Can’ ’t t
- Scale. No, Really. Retrieved January 1, 2003, from
- Scale. No, Really. Retrieved January 1, 2003, from
http://www.darkridge.com/~jpr5/doc/gnutella.html http://www.darkridge.com/~jpr5/doc/gnutella.html
20 20
References References
[5] [5] Conference Paper: Yang, B., & Garcia Conference Paper: Yang, B., & Garcia-
- Molina H. (2002, July).
Molina H. (2002, July). Improving Search in Peer Improving Search in Peer-
- to
to-
- Peer Networks. Paper presented at the
Peer Networks. Paper presented at the 22nd International Conference on Distributed Computing Systems. 22nd International Conference on Distributed Computing Systems. Vienna, Austria. Vienna, Austria. [6] [6] Web Page: Gnutella Protocol Development ( Web Page: Gnutella Protocol Development (n.d n.d). Retrieved ). Retrieved October 30, 2003, from October 30, 2003, from http://rfc http://rfc-
- gnutella.sourceforge.net/index.html
gnutella.sourceforge.net/index.html [7] [7] Web Page: IRIS: Infrastructure for Resilient Internet Systems. Web Page: IRIS: Infrastructure for Resilient Internet Systems. ( (n.d n.d.). Retrieved January 2, 2003, from .). Retrieved January 2, 2003, from http://iris.lcs.mit.edu http://iris.lcs.mit.edu [8] [8] Web Page: Lime Wire ( Web Page: Lime Wire (n.d n.d). Retrieved November 11, 2003, ). Retrieved November 11, 2003, from from http:// http://www.limewire.com www.limewire.com [9] [9] Web Page: Stanford Peers. ( Web Page: Stanford Peers. (n.d n.d.). Retrieved January 2, 2003, .). Retrieved January 2, 2003, from from http://www http://www-
- db.stanford.edu
db.stanford.edu/peers /peers [10] [10] Web Page: Clip2 ( Web Page: Clip2 (n.d n.d). Retrieved January 1, 2003, from ). Retrieved January 1, 2003, from http://www.clip2.com http://www.clip2.com