rcourse
RCourse - overview
http://rcourse.sourceforge.net

© 2012 rcourse

Overview to rcourse

Rcourse is an extension to the peersim simulation environment to study robustness and performance issues of publish/subscribe systems. It targets to support the user in each step of the simulation workflow with peersim (see figure right). This means in particular the automatic result analysis and graph generation as well as pre-defined simulation scenario proposals.
Another design goal of rcourse was the ease of adaptation in order to record individual measurement values. To this end, the needed effort has been reduced to a minimum by means of the prepared Java classes.

This work has been developed within the framework of the MDPS doctoral college.

Further documentation

  • Javadoc of the rcourse source code and the reference applications (see below)
  • Master thesis (in German) of C. Schörnich, outlining the rcourse benchmarking suite and the gossiping implementations.

 

See download section for high quality result graphs.

 

Rcourse Components

  • A set of Java classes support the user to perform measurements, collect these data and write them out to SQLite database files.
  • Pre-defined simulation scenario proposals enable to perform simulations directly after implementing the publish/subscribe algorithm and directly increase the result comparability. Furthermore, these scenarios may serve as base for own adaptations.
  • R analysis scripts using the R programming language aggregate the given result files, analyse the values and generate automatically result graphs as pdf files, which can directly be used in scientific articles.

An overview to the scenario proposals and generated result graphs can be found here. Example result graphs (for all scenarios) for the reference application to the Scribe system as well as Basic Gossiping with Cyclon is available in the download section

Reference Applications

Rcourse has been exemplary applied to some publish/subscribe systems. These come together with rcourse (see download section) and serve as reference implementations. The used publish/subscribe systems are the following:

  • Scribe
  • Basic Gossiping with Cyclon 
  • Informed Gossiping with Cyclon 
  • Basic Gossiping with HyParView 

Please note that this implementation of Scribe uses pastry implementation of M. Cortella. It is included in scribe to have a working system, however, the original algorithm code of M. Cortella's pastry implementation can be found on the peersim project website