DOE OSTI · 1658686
Generation of Reversible C++ Code for Optimistic Parallel Discrete Event Simulation
Abstract
The reversible execution of C/C++ code has been a target of research and engineering for more than a decade as reversible computation has become a central notion in large-scale parallel discrete event simulation (PDES). The simulation models that are implemented for PDES are of increasing complexity and size and require various language features to support abstraction, encapsulation, and composition when building a simulation model. In this paper, we focus on parallel simulation models that are written with user-defined C++ abstractions and abstractions of the C++ Standard Library. We present an approach based on incremental state saving for establishing reversibility of C++ and an evaluation for a kinetic Monte-Carlo simulation implemented in C++. Although a significant runtime overhead is introduced with our technique, it is an enormous win that it allows using the entire C++ language, and has that code automatically transformed into reversible code to enable parallel execution with the Rensselaer’s optimistic simulation system (ROSS).
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Schordan, Markus, Oppelstrup, Tomas, Jefferson, David, Barnes, Peter D.. 2018-07-27. Generation of Reversible C++ Code for Optimistic Parallel Discrete Event Simulation. https://doi.org/10.1007/s00354-018-0038-2
Cite the original work for its findings. Save a collection to share your selection of sources.