Simulating Search Strategies Simulating Search Strategies for - - PowerPoint PPT Presentation

simulating search strategies simulating search strategies
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

1 1

Simulating Search Strategies Simulating Search Strategies for Gnutella for Gnutella

Chun Chun Wai Wai Chan Chan http://www.sfu.ca/~cchany/ENSC835 http://www.sfu.ca/~cchany/ENSC835 cchany@sfu.ca cchany@sfu.ca

ENSC 835: HIGH-PERFORMANCE NETWORKS FINAL PROJECT PRESENTATIONS Fall 2003

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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
slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

11 11

Technical Details Technical Details

k k-

  • Walker Random Walk (k = 3)

Walker Random Walk (k = 3)

slide-12
SLIDE 12

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

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

16 16

Implementation & Discussion Implementation & Discussion

Architecture Architecture

GnutApp

TcpApp TcpApp

GnutApp

TcpApp

GnutApp

TcpApp TcpAgent

slide-17
SLIDE 17

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

slide-18
SLIDE 18

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

slide-19
SLIDE 19

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

slide-20
SLIDE 20

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