2014 · 14 citations · 28 references
ComputingComputer EngineeringComputer ScienceCompilersParallel ComputingProgramming LanguagesCompiler ConstructionControl-flow AnalysisData-flow AnalysisIntermediate RepresentationCompiler SupportHoly GrailIntermediate Code Generation
Automatic parallelization of models has been the "Holy Grail" of the PDES community for the last 20 years. In this paper we present LORAIN -- Low Overhead Runtime Assisted Instruction Negation -- a tool capable of automatic emission of a reverse event handler by the compiler. Upon detection of certain instructions, LORAIN is able to account for, and in many cases reverse, the computation without resorting to state-saving techniques. For our PDES framework, we use Rensselaer's Optimistic Simulation System (ROSS) coupled with the LLVM compiler to generate the reverse event handler. One of the primary contributions of this work is that LORAIN operates on the LLVM-generated Intermediate Representation (IR) as opposed to the model, high-level source code. Through information gleaned from the IR, LORAIN is able to analyze, instrument, and invert various operations and emit efficient reverse event handlers at the binary code level.
28
Mark Weiser · IEEE Transactions on Software Engineering · 1984 · 3.2K citations
David Jefferson · ACM Transactions on Programming Languages and Systems · 1985 · 2.4K citations · Full text
Parallel discrete event simulation
Richard M. Fujimoto · Communications of the ACM · 1990 · 1.8K citations · Full text