The Backstroke framework for source level reverse computation applied to parallel discrete event simulation

  • Authors:
  • George Vulov;Cong Hou;Richard Vuduc;Richard Fujimoto;Daniel Quinlan;David Jefferson

  • Affiliations:
  • Georgia Institute of Technology, Atlanta, Georgia;Georgia Institute of Technology, Atlanta, Georgia;Georgia Institute of Technology, Atlanta, Georgia;Georgia Institute of Technology, Atlanta, Georgia;Lawrence Livermore National Laboratory, Livermore, California;Lawrence Livermore National Laboratory, Livermore, California

  • Venue:
  • Proceedings of the Winter Simulation Conference
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

We introduce Backstroke, a new open source framework for the automatic generation of reverse code for functions written in C++. Backstroke enables reverse computation for optimistic parallel discrete event simulations. It is built using the ROSE open-source compiler infrastructure, and handles complex C++ features including pointers and pointer types, arrays, function and method calls, class types, inheritance, polymorphism, virtual functions, abstract classes, templated classes and containers. Backstroke also introduces new program inversion techniques based on advanced compiler analysis tools built into ROSE. We explore and illustrate some of the complex language and semantic issues that arise in generating correct reverse code for C++ functions.