DocumentCode
3275002
Title
The Backstroke framework for source level reverse computation applied to parallel discrete event simulation
Author
Vulov, George ; Hou, Cong ; Vuduc, Richard ; Fujimoto, Richard ; Quinlan, Daniel ; Jefferson, David
Author_Institution
Georgia Inst. of Technol., Atlanta, GA, USA
fYear
2011
fDate
11-14 Dec. 2011
Firstpage
2960
Lastpage
2974
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.
Keywords
C++ language; discrete event simulation; parallel processing; program compilers; C++ features; ROSE open-source compiler infrastructure; abstract classes; advanced compiler analysis tools; arrays; automatic generation; backstroke framework; class types; containers; inheritance; method calls; open source framework; parallel discrete event simulations; pointer types; polymorphism; program inversion; reverse code; source level reverse computation; templated classes; virtual functions; Computational modeling; Debugging; Discrete event simulation; Equations; Image restoration; Mathematical model; Syntactics;
fLanguage
English
Publisher
ieee
Conference_Titel
Simulation Conference (WSC), Proceedings of the 2011 Winter
Conference_Location
Phoenix, AZ
ISSN
0891-7736
Print_ISBN
978-1-4577-2108-3
Electronic_ISBN
0891-7736
Type
conf
DOI
10.1109/WSC.2011.6147998
Filename
6147998
Link To Document