Title
Automatic Generation of Reversible C++ Code and Its Performance in a Scalable Kinetic Monte-Carlo Application.
Abstract
The fully automatic generation of code that establishes the reversibility of arbitrary C/C++ code has been a target of research and engineering for more than a decade as reverse 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 in C++ and present an approach and an evaluation for a fully automatically generated reversible code for a kinetic Monte-Carlo application implemented in C++. Although a significant runtime overhead is introduced with our technique, the assurance that the reverse code is generated automatically and correctly, is an enormous win that allows simulation model developers to write forward event code using the entire C++ language, and have that code automatically transformed into reversible code to enable parallel execution with the Rensselaer's Optimistic Simulation System (ROSS).
Year
DOI
Venue
2016
10.1145/2901378.2901394
SIGSIM-PADS
Field
DocType
Citations 
Abstraction,Computer science,Parallel computing,Real-time computing,Simulation modeling,Code generation,Kinetic Monte Carlo,Encapsulation (computer programming),Discrete event simulation,Dead code,Scalability
Conference
4
PageRank 
References 
Authors
0.46
9
5
Name
Order
Citations
PageRank
Markus Schordan125923.98
Tomas Oppelstrup2465.94
David Jefferson3192.47
Peter D. Barnes, Jr.4858.44
Daniel J. Quinlan565280.13