1
Improving Performance in the Gnutella Protocol
Jonathan Hess Benjamin Poon
University of California at Berkeley Department of Computer Science Cs294-4 Peer-to-Peer Systems
Improving Performance in the Gnutella Protocol Jonathan Hess - - PowerPoint PPT Presentation
Improving Performance in the Gnutella Protocol Jonathan Hess Benjamin Poon University of California at Berkeley Department of Computer Science Cs294-4 Peer-to-Peer Systems 1 Outline Background Motivation Solution Mirroring
1
University of California at Berkeley Department of Computer Science Cs294-4 Peer-to-Peer Systems
Cs294-4 Jonathan Hess | Benjamin Poon 2
Background Motivation Solution
Mirroring Directed Search
Results Possible Future Work
Cs294-4 Jonathan Hess | Benjamin Poon 3
Gnutella
Protocol for distributed search No centralization Searches through query flooding
Opponents
Censorship + threatening of Gnutella users
Cs294-4 Jonathan Hess | Benjamin Poon 4
1.
2.
3.
Cs294-4 Jonathan Hess | Benjamin Poon 5
Improve performance given decreased
Mirroring Directed Search
Cs294-4 Jonathan Hess | Benjamin Poon 6
Cs294-4 Jonathan Hess | Benjamin Poon 7
Mirror requestor (originator) sends Mirroring Request
MRM(header, listeningPort, fileIndex)
No need to flood
Clients pass MRM’s only on one randomly chosen outgoing
connection
MRMTTL should be relatively high
Prevents people from intercepting query traffic to see what
file is
Con: originator must stay in network in order for
Cs294-4 Jonathan Hess | Benjamin Poon 8
1.
2.
3.
Cs294-4 Jonathan Hess | Benjamin Poon 9
1.
2.
3.
4.
Cs294-4 Jonathan Hess | Benjamin Poon 10
containing the decryption key
Cs294-4 Jonathan Hess | Benjamin Poon 11
Cs294-4 Jonathan Hess | Benjamin Poon 12
Cs294-4 Jonathan Hess | Benjamin Poon 13
Query reaches nqueryTTL nodes n may be much smaller than out-degree
nqueryTTL< out-degreeTTL Reach more and better users Avoid free-loaders
Cs294-4 Jonathan Hess | Benjamin Poon 14
Simulation: BloomNet
Models real-world Gnutella network as close as possible
Uses statistics from many previous measurement studies of
Gnutella networks
File sharing/requesting
Master filename list of 5072 files Each client chooses to share certain number of files from
master list
Queries generated by taking a random filename at most
(à la Efficient search in peer-to-peer networks, B. Yang, H. Garcia-Molina)
Cs294-4 Jonathan Hess | Benjamin Poon 15
Advantages
BloomNet finds hits better than Gnutella
Uses approximately 3x less query bandwidth As network size increases Gap in performance increases
BloomNet achieves higher % successful queries
Uses approximately 3x less query bandwidth
Disadvantages
20% more total bandwidth used to run BloomNet
Can be improved using different Bloom parameters
Cs294-4 Jonathan Hess | Benjamin Poon 16
Query Success Over Bloom Parameters
0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0 0 3 384 3 768 3 1536 3 3072 4 384 4 768 4 1536 4 3072 Bloom Parameters (Depth/Buckets) Query Success
Cs294-4 Jonathan Hess | Benjamin Poon 17
Query Bandwidth Over Bloom Parameters
10 20 30 40 50 60 70 0 0 3 384 3 768 3 1536 3 3072 4 384 4 768 4 1536 4 3072 Bloom Parameters (Depth/Buckets) Query Bandwidth
Cs294-4 Jonathan Hess | Benjamin Poon 18
Total Bandwidth Over Bloom Parameters
200 400 600 800 1000 1200 1400 1600 1800 0 0 3 384 3 768 3 1536 3 3072 4 384 4 768 4 1536 4 3072 Bloom Parameters (Depth/Buckets) Total Bandwidth
Cs294-4 Jonathan Hess | Benjamin Poon 19
Mirroring
More sophisticated demand realization
Directed Search
Only highly-connected peers exchange
Better score functions for edge selection Better understanding of filter merging
Cs294-4 Jonathan Hess | Benjamin Poon 20
Cs294-4 Jonathan Hess | Benjamin Poon 21
Cs294-4 Jonathan Hess | Benjamin Poon 22
Clients
Bloom Depth
Bloom Size
Ping TTL
Query TTL
Mirror TTL