Presentation is loading. Please wait.

Presentation is loading. Please wait.

Performance of P2P implementations

Similar presentations


Presentation on theme: "Performance of P2P implementations"— Presentation transcript:

1 Performance of P2P implementations
Răzvan Deaconescu, UPB 8th of September 2008 Aachen, P2P’08

2 Contents P2P performance testing framework Internals Use case
Current setup Results

3 What? P2P performance testing framework
comparison of BitTorrent clients Tribler, transmission, azureus, etc. measure speed, download time, connected peers fully automated logging facility -> results analysis

4 Why? Which one is the best? Is Tribler the best? If not, work on it
How close is world domination? evaluate, learn, adapt, conquer focus on bittorrent core not on fancy interfaces

5 Goal best online video experience use the best BT algorithms
fastest download times understand BT internals unchoking policies DHT impact neighbour set inclusion

6 How? fully automated scripted interface each client must have a CLI
git repository for easy synchronization SSH command interface BT client/system mapping torrent file store logging and download info

7 How? (a.k.a. architecture)
git repo btc btc comm SSH .... btc command interface client interface torrent files

8 Hasn’t this been done? not like this
most papers focus on BT architecture and optimizations how’s this different? _real_ implementations find out which one’s better find out why that one is better can potentially be expanded to whole BT/P2P testing scenarios

9 How does it work? install clients on target systems
install bt-prof testing framework git pull command clients through SSH analyze log and output files create fancy graphics to mesmerize the audience

10 Experimental setup setup similar test systems same OS same network
run clients simultaneously competition fastest is the best

11 Experimental setup (2) focus on private tracker setting large swarms
sots of seeders ratio enforcement -> upload incentive free-riding prevention

12 Config file not very pretty (shell script) #!/bin/bash
declare -a CLIENT_ARRAY CLIENT_ARRAY=("hrktorrent" "tribler" "aria" "transmission" "azureus" "mainline") declare -a ADDRESS_ARRAY ADDRESS_ARRAY=(" " " " " " " " " " " ") USERNAME=p2p RUN_SCRIPT=/home/p2p/cs-tribler/perf/bt-prof/run.bash METADIR=/home/p2p/cs-tribler/perf/bt-prof/meta/ METAFILE=tropic_thunder.torrent

13 Client configuration common interface configure run
$ ls clients/ aria azureus bittornado hrktorrent mainline transmission tribler $ ls -F clients/transmission/ config.bash dld/ log/ parse.bash res/ run.bash upload.bash common interface configure run parse log/output files upload results

14 How to add a new client? needs a CLI
how to store download status information? (every second) how to store logging information? where are downloaded files stored? easily adapt client test framework

15 Current testing scenario
6 computers each runs a different BT client start torrent download simultaneously end/no_end download session option (continue seeding) measure download time store download status store logging information

16 Influence factors swarm size number of seeders/number of leechers
time of day file size BT core implementation

17

18

19 TestSwarm 1 - results 908MB, 2900s, 2700l hrktorrent – 9m41s
Tribler - 34m14s Azureus – 32m41s Transmission – 40m46s aria – 1h17m41s mainline - 4h53m24s

20

21 TestSwarm 2 - results 4.1GB, 761s, 117l hrktorrent – 15m13s
Tribler - 21m16s Azureus – 38m33s Transmission – 52m59s Aria – 53m53s mainline – 1h00m39s Tribler and hrktorrent “cheated” -> use iptables

22

23

24 TestSwarm 3- results 1.09GB, 521s, 49l hrktorrent – 2m30s
Transmission – 7m05s Aria – 8m08s mainline – 25m57s problems with Azureus issues with Tribler

25

26 TestSwarm 4 - results 1.09GB, 496s, 51l hrktorrent – 2m14s
Tribler – 1h12m57s (same issues) Azureus – 7m08s Transmission – 5m03s Aria – 10m23s mainline – 14m14s sequential download/non-simultaneous

27 What do the graphics tell?
which client performs better/best Hrktorrent (libtorrent-rasterbar) is the BT Usain Bolt no info _so far_ about _why_ a client is better have to dig in log files connections unchokes

28 Side effects submitted patches to transmission and hrktorrent
minor modifications to Tribler and mainline to get output/logging found out that “if it doesn’t work, you can fix it” :-) /IRC conversations with BT clients developers

29 TODO list analyze log files browse the code learn and improve
expandable framework advanced user interface extend framework to other testing scenarios documentation

30 Internet Content Provider Content Provider Automatic Deployment
LivingLab User Automatic Deployment Test Stations LivingLab User UPB Living Lab Test Admin Data Collection Repository Information Analysis Tool +

31 Special thanks to Johan, for bulking me up with info and motivation

32 Further info http://www.tribler.org/DownloadPerformance
needs desperate update git://anaconda.cs.pub.ro/home/projects/tribler/new-cs-tribler


Download ppt "Performance of P2P implementations"

Similar presentations


Ads by Google