College of Computing
Georgia Institute of Technology
|Topic:||Using Reverse Computation Towards Efficient Parallel/Distributed Computation|
|Date:||Tuesday, April 11, 2000|
|Place:||Gould-Simpson, Room 701|
In this talk, I will examine the use of reversible computations to obtain efficient executions of parallel/distributed programs. In particular, I will show that reversible execution can provide substantial performance benefits and reduced memory requirements in realizing optimistic (rollback-based) synchronization of parallel discrete event simulation computations.
I will describe a Reverse C compiler that has been developed which automatically generates code for both forward and reverse execution of C programs. Optimization techniques for this compiler are presented that have been demonstrated to yield substantial performance improvements in the generated code.
Finally, I present results of a performance study comparing reverse computation with traditional state saving techniques in the context of optimistic parallel simulation of telecommunication network models. Using reverse computation, we are able to achieve two to six-fold improvement compared to efficient incremental state saving mechanisms executing on an SGI Origin.