Skip to content

boudewijn-tribler/das4-dissemination

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This repository contains the DAS4-dissemination emulation. It is intended to run multiple peers simultaneously while disseminating messages in various scenarios.

Each scenario uses its own configuration file and is described below. Running a scenario should be as simple as calling ./run.sh CONFIG from your DAS4 account. Results are stored in /var/scratch/$USER/resultdir-dissemination. Run ~/das4-dissemination/evaluation/99-all.sh from this directory to evaluate the results.

There is a Jenkins job running these emulations periodically, see http://jenkins.tribler.org/job/Experiment_Dissemination_Boudewijn/.

3000 messages emulation

There are several 3000 messages emulations, they behave mostly the same except for a few key changes:

  • number of peers that create the 3000 messages,
  • the synchronisation strategy,
  • minimum number of messages disseminated for to consider the emulation a success.

The following properties apply to all 3000 messages emulations.

Run time15 minutes
Number of hosts10
Number of peers500
Number of messages3000created at launch
ChurnNone
Message size193, 196, 195.6 bytesmin, max, average packet size
Sync response limit5120 bytes / cycleonce the limit is exceeded no more packets are sent
Optimum sync speed27 packet / cycle

Output

Once the emulation and 99-all.sh have finished you will have several graphs for CPU, bandwidth, etc. With each file prefixed with the name of the emulation. The two most important files are:

success_condition.txt
this text file contains the success conditions for each peer. In other words, a report for each peer if they were able to obtain sufficient messages. See all_to_all_modulo_3000_success_condition.txt for an example.
download_progress.png
this graph shows how many messages the peers have obtained over time. The angled line starting in the origin shows the ideal progress if every peer is able to download its maximum amount of messages every cycle. The closer that the peers follow this line, the better. See fig:download_progress.

http://jenkins.tribler.org/job/Experiment_Dissemination_Boudewijn/lastSuccessfulBuild/artifact/all_to_all_modulo_3000_download_progress.png

one_to_all_largest_3000.config

A single peer (peer#0) starts by creating 3000 messages. Bloom filter creation is performed using the largest pivot strategy, see Community._dispersy_claim_sync_bloom_filter_largest. The emulation is success when, after 15 minutes, all peers have obtained all 3000 messages.

Message creationsingle peerpeer#0 creates all messages at launch
Sync strategylargest pivotCommunity._dispersy_claim_sync_bloom_filter_largest
Success condition3000all peers must obtain 3000 messages

one_to_all_modulo_3000.config

A single peer (peer#0) starts by creating 3000 messages. Bloom filter creation is performed using the modulo strategy, see Community._dispersy_claim_sync_bloom_filter_modulo. The emulation is success when, after 15 minutes, all peers have obtained all 3000 messages.

Message creationsingle peerpeer#0 creates all messages at launch
Sync strategymoduloCommunity._dispersy_claim_sync_bloom_filter_modulo
Success condition3000all peers must obtain 3000 messages

half_to_all_largest_3000.config

Half the peers (peer#0-peer#249) starts by creating 12 messages each, resulting in a 3000 messages total. Since the peers all start with the same global time, the created messages will use duplicate global time values. Resulting in 250 messages with global time 3, 250 messages with global time 4, etc.

Bloom filter creation is performed using the largest pivot strategy, see Community._dispersy_claim_sync_bloom_filter_largest. The emulation is success when, after 15 minutes, all peers have obtained all 3000 messages.

Message creationhalf the peerspeer#0-peer#249 each create 12 messages at launch
Sync strategylargest pivotCommunity._dispersy_claim_sync_bloom_filter_largest
Success condition3000all peers must obtain 3000 messages

half_to_all_modulo_3000.config

Half the peers (peer#0-peer#249) starts by creating 12 messages each, resulting in a 3000 messages total. Since the peers all start with the same global time, the created messages will use duplicate global time values. Resulting in 250 messages with global time 3, 250 messages with global time 4, etc.

Bloom filter creation is performed using the modulo strategy, see Community._dispersy_claim_sync_bloom_filter_modulo. The emulation is success when, after 15 minutes, all peers have obtained all 3000 messages.

Message creationhalf the peerspeer#0-peer#249 each create 12 messages at launch
Sync strategylargest pivotCommunity._dispersy_claim_sync_bloom_filter_modulo
Success condition3000all peers must obtain 3000 messages

all_to_all_largest_3000.config

All peers (peer#0-peer#499) starts by creating 6 messages each, resulting in a 3000 messages total. Since the peers all start with the same global time, the created messages will use duplicate global time values. Resulting in 500 messages with global time 3, 500 messages with global time 4, etc.

Bloom filter creation is performed using the largest pivot strategy, see Community._dispersy_claim_sync_bloom_filter_largest. The emulation is success when, after 15 minutes, all peers have obtained all 3000 messages.

Message creationall peerspeer#0-peer#499 each create 6 messages at launch
Sync strategylargest pivotCommunity._dispersy_claim_sync_bloom_filter_largest
Success condition3000all peers must obtain 3000 messages

all_to_all_modulo_3000.config

All peers (peer#0-peer#499) starts by creating 6 messages each, resulting in a 3000 messages total. Since the peers all start with the same global time, the created messages will use duplicate global time values. Resulting in 500 messages with global time 3, 500 messages with global time 4, etc.

Bloom filter creation is performed using the modulo strategy, see Community._dispersy_claim_sync_bloom_filter_modulo. The emulation is success when, after 15 minutes, all peers have obtained all 3000 messages.

Message creationall peerspeer#0-peer#499 each create 6 messages at launch
Sync strategylargest pivotCommunity._dispersy_claim_sync_bloom_filter_modulo
Success condition3000all peers must obtain 3000 messages

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published