Skip to content

dreibh/rspsim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RSPSIM
The Reliable Server Pooling Simulation Model
RSPLIB Project Logo
https://www.nntb.no/~dreibh/rserpool

💡 What is RSPSIM?

Reliable Server Pooling (RSerPool) is the new IETF framework for server pool management and session failover handling. In particular, it can be used for realising highly available services and load distribution. RSPSIM is a simulation model of RSerPool for the OMNeT++ discrete event simulator. It includes:

  • The RSerPool model itself, including an application model for the Calculation Application (CalcApp) service.
  • SimProcTC-based tool-chain for running large-scale simulations, including support for using a real-world RSerPool setup with RSPLIB to distribute the simulation processing jobs.

Details about RSPSIM and the CalcApp service can be found in «Reliable Server Pooling – Evaluation, Optimization and Extension of a Novel IETF Architecture»!

Also take at look at Thomas Dreibholz's Reliable Server Pooling Page for details about the real-world RSerPool implementation RSPLIB.

💾 Build from Sources

RSPSIM is released under the GNU General Public Licence (GPL).

Please use the issue tracker at https://github.com/dreibh/rspsim/issues to report bugs and issues!

Development Version

The Git repository of the RSPSIM sources can be found at https://github.com/dreibh/rspsim:

git clone https://github.com/dreibh/rspsim
cd rspsim
cd toolchain/tools && make && cd ..

Contributions:

Release Versions

See https://www.nntb.no/~dreibh/rspsim/#current-stable-release for release packages!

🗃️ First Steps

Directory Structure

  • model: The model itself
  • toolchain: The SimProcTC files for parametrisation, run distribution and post-processing of results

How to compile and run a simple model test

cd toolchain/tools && make && cd ../.. && \
cd model && \
opp_makemake -I . -f && \
make

Notes:

  • Make sure to compile in the OMNeT++ Python environment (see the OMNeT++ Installation Guide), i.e.:

    source <PATH_TO_OMNET++_DIRECTORY>/setenv

    If opp_makemake is not found, this step is likely missing!

  • Make sure that everything compiles successfully. Otherwise, the tool-chain will not work properly!

After compilation, you can start the demo simulation by calling:

./model -f test1.ini

Take a look into test1.ini, the parameters should mostly be self-explaining. A detailed introduction to the model can be found in Chapter 6 of «Reliable Server Pooling – Evaluation, Optimization and Extension of a Novel IETF Architecture»!

How to run a SimProcTC-based example?

See SimProcTC – A Simulation Processing Tool-Chain for OMNeT++ Simulations for the SimProcTC installation details. It particularly needs GNU R, bzip2 including headers, and chrpath. When it is installed, an R shell can be started in the toolchain directory:

cd toolchain
R --vanilla

In the R shell, example1.R can be started:

source("example1.R")

This will parametrise the simulation defined in example1.R, perform all runs (on the local machine) and collect the results.

The plot script plot-example1.R plots the results of the example1 run.

source("plot-example1.R")

The resulting PDF file is example1.pdf.

Need more examples? Take a look into the directory example-scripts. Each <simulation>.R file is accompanied by a corresponding plot-<simulation>.R to create the corresponding PDF output. To use one of these scripts, copy it to the toolchain directory itself. They will not work in the example-scripts subdirectory!

To distribute simulation runs in a compute pool, and for more details about SimProcTC, see: SimProcTC – A Simulation Processing Tool-Chain for OMNeT++ Simulations. All examples include the file computation-pool.R, where the pool configuration has to be made!

🖋️ Citing RSPSIM in Publications

RSPSIM and related BibTeX entries can be found in AllReferences.bib!

Dreibholz, Thomas: «Reliable Server Pooling – Evaluation, Optimization and Extension of a Novel IETF Architecture» (PDF, 9080 KiB, 267 pages, 🇬🇧), University of Duisburg-Essen, Faculty of Economics, Institute for Computer Science and Business Information Systems, URN urn:nbn:de:hbz:465-20070308-164527-0, March 7, 2007.

🔗 Useful Links

RSerPool Introductions on Wikipedia in Different Languages

What about helping Wikipedia by adding an article in your language?

Networking and System Management Software

Simulation and Data Processing Software

Other Resources