Research Article
The ROme OpTimistic Simulator: Core Internals and Programming Model
@INPROCEEDINGS{10.4108/icst.simutools.2011.245551, author={Alessandro Pellegrini and Roberto Vitali and Francesco Quaglia}, title={The ROme OpTimistic Simulator: Core Internals and Programming Model}, proceedings={4th International ICST Conference on Simulation Tools and Techniques}, publisher={ICST}, proceedings_a={SIMUTOOLS}, year={2012}, month={4}, keywords={Parallel Discrete Event Simulation}, doi={10.4108/icst.simutools.2011.245551} }
- Alessandro Pellegrini
Roberto Vitali
Francesco Quaglia
Year: 2012
The ROme OpTimistic Simulator: Core Internals and Programming Model
SIMUTOOLS
ICST
DOI: 10.4108/icst.simutools.2011.245551
Abstract
In this article we overview the ROme OpTimistic Simulator (ROOT-Sim), an open source C/MPI-based simulation package targeted at POSIX systems, which implements a general-purpose parallel/distributed simulation environment relying on the optimistic (i.e., rollback-based) synchronization paradigm. It offers a very simple programming model based on the classical notion of simulation-event handlers, to be implemented according to the ANSI-C standard, and transparently supports all the services required to parallelize the execution. It also offers a set of optimized protocols (e.g., CPU scheduling and state log/restore protocols) aimed at minimizing the run-time overhead of the platform, thus allowing for high performance and scalability. Here we overview the core internal mechanisms provided by ROOT-Sim, together with the offered API and the programming model that is expected to be agreed in order to produce simulation software that can be transparently run, in a concurrent fashion, on top of the ROOT-Sim layer.