[Battlemesh] graph generation

Matthieu Boutier boutier at pps.univ-paris-diderot.fr
Mon Aug 10 18:16:02 CEST 2015


Hi all,

I'm proud to present my new version of the script.  I'm pretty happy with it, and its two major improvements:

  * manual scale configuration,

  * automatic summary.

The summary is sorted by 3rd quartile.  Remark that this heuristic works pretty well, but is not perfect: for example, it places OLSRv2, the best of the first experiment, at rank 3.

I've temporary placed the data in:

    http://www.pps.univ-paris-diderot.fr/~boutier/battlemesh/Battlemesh-v8.tar.gz

Both experiments are interesting: after a quick look, and the "worst" protocol for the first one, namely BMX7, happens to be the better for the second !


File organisation
=================

The file organisation has been changed in a way that I consider better (try it, you will be convinced).  Henning, it would be great if you could change your script in consequence.  The file system must be organized as:

run-id/exp-id/protocol-name
run-id/exp-id/protocol-name/ping
run-id/exp-id/protocol-name/iperf
run-id/exp-id/protocol-name/log

Remark that the log should now only contains one "start/stop" entry.

For example, I have:

001-20150808/1/Babel
001-20150808/1/Batman
001-20150808/1/…
001-20150808/1/OLSRv2

The script generates per protocol graphs, as previously:

001-20150808/1/Babel/Babel.pdf
001-20150808/1/…
001-20150808/1/OLSRv2/OLSRv2.pdf

and also a summary for each type of data (RTT, TTL, etc.) for an easy comparison:

001-20150808/4/bitrate-summary.pdf
001-20150808/4/dup-summary.pdf
001-20150808/4/rtt-summary.pdf
001-20150808/4/ttl-summary.pdf

These are probably the ones you'll be interested.


Launching the script
====================

The R script require to extract data of the ping files.  For that, just go into the root directory, and launch:

    ./extract-data.sh

To launch the script, it's easy, simple (etc.); just specify the result main directory (the script will go automatically in the sub-directories):

    R --vanilla --slave --args results/ < generic.R

But you will want to add some extra options:

    R --vanilla --slave --args --separate-output --maxtime 300 --maxrtt 500 --width 6.4 --height 4 --palette "#FF0000 #005500 #0000FF #000000" results/ < generic.R

Some explanations:

  * R --vanilla --slave --args … < generic.R
    That's the way we launch the "generic.R" script.

  * --separate-output
    graphs are still in one pdf file, but one per page instead of 4.

  * --maxtime, --maxrtt
    Explicitely specify the scale you want.  Setting maxtime will remove trailing data: this can be used to remove end-of-experiment values, which may be "corrupted".

  * --width, --height
    Specify the pdf size you want.

  * --palette "<color1> …"
    Specify which colors to use.  Note that it's important to put all the colors in the *same* string.

Enjoy,
Matthieu




More information about the Battlemesh mailing list