simulating search strategies simulating search strategies
play

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


  1. 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 http://www.sfu.ca/~cchany/ENSC835 cchany@sfu.ca cchany@sfu.ca 1 1

  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 2 2

  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 3 3

  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 – 4 4

  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 5 5

  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 and the intelligent search and the intelligent search randomized BFS – Lv Lv, et al. [3] has proposed the , et al. [3] has proposed the k k- -walker walker – random walk technique technique random walk – Yang, et al. [5] has suggested iterative Yang, et al. [5] has suggested iterative – deepening search deepening search 6 6

  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 of hops (call it TTL) becomes 0 of hops (call it TTL) becomes 0 7 7

  8. Technical Details Technical Details BFS BFS Sends response the originator Starts search for se.ml oe.txt se.ml Ignore duplicate messages hi.txt 8 8

  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 9 9

  10. Technical Details Technical Details k- -Walker Random Walk Walker Random Walk k 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 10 10

  11. Technical Details Technical Details k- -Walker Random Walk (k = 3) Walker Random Walk (k = 3) k 11 11

  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 12 12

  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 cygwin cygwin by Nicolas by Nicolas Christin Christin can be can be under found in found in http://www.sims.berkeley.edu/~christin/ns- -cygwin.shtml cygwin.shtml http://www.sims.berkeley.edu/~christin/ns 13 13

  14. Implementation & Discussion Implementation & Discussion Simulation Scenario Simulation Scenario 1. Randomly generate the network Randomly generate the network 1. 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. OTcl OTcl script reads the file and runs the script reads the file and runs the 2. simulation on a specific search strategy simulation on a specific search strategy 3. Repeat step 2 for other search strategies Repeat step 2 for other search strategies 3. 4. Collect and analyse the result Collect and analyse the result 4. 14 14

  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 perl perl script will be used to translate the script will be used to translate the A result to OTcl OTcl script script result to Node Node Node Node 15 15

  16. Implementation & Discussion Implementation & Discussion Architecture Architecture GnutApp TcpAgent TcpApp TcpApp GnutApp GnutApp TcpApp TcpApp 16 16

  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 – 17 17

Recommend


More recommend