RSPSIM
The Reliable Server Pooling Simulation Model

https://www.nntb.no/~dreibh/rserpool
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.
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!
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:
-
Issue tracker: https://github.com/dreibh/rspsim/issues. Please submit bug reports, issues, questions, etc. in the issue tracker!
-
Pull Requests for RSPSIM: https://github.com/dreibh/rspsim/pulls. Your contributions to RSPSIM are always welcome!
See https://www.nntb.no/~dreibh/rspsim/#current-stable-release for release packages!
model: The model itselftoolchain: The SimProcTC files for parametrisation, run distribution and post-processing of results
cd toolchain/tools && make && cd ../.. && \
cd model && \
opp_makemake -I . -f && \
makeNotes:
-
Make sure to compile in the OMNeT++ Python environment (see the OMNeT++ Installation Guide), i.e.:
source <PATH_TO_OMNET++_DIRECTORY>/setenv
If
opp_makemakeis 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.iniTake 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»!
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 --vanillaIn 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!
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.
- 🇧🇦 Bosnian (thanks to Nihad Cosić)
- 🇨🇳 Chinese (thanks to Xing Zhou)
- 🇭🇷 Croatian (thanks to Nihad Cosić)
- 🇬🇧 English
- 🇫🇷 French
- 🇩🇪 German (thanks to Jobin Pulinthanath)
- 🇮🇹 Italian
- 🇳🇴 Norwegian (bokmål)
What about helping Wikipedia by adding an article in your language?
- Thomas Dreibholz's Reliable Server Pooling (RSerPool) Page
- NetPerfMeter – A TCP/MPTCP/UDP/SCTP/DCCP Network Performance Meter Tool
- HiPerConTracer – High-Performance Connectivity Tracer
- TSCTP – An SCTP test tool
- sctplib and socketapi – The User-Space SCTP Library (sctplib) and Socket API Library (socketapi)
- SubNetCalc – An IPv4/IPv6 Subnet Calculator
- System-Tools – Tools for Basic System Management
- Wireshark