Supercomputing and Computation
ReveR-SES: Reversible Software Execution SystemsJune 12, 2013
- All traditional execution is forward-only, which requires all computing components to be always correct, resulting in high synchronization cost, untenable fault safety, and difficulty in debugging for all executions on exascale platforms.
- We introduce a new notion of reversibility into all execution to enable bi-directional execution at every processor, and generate optimized reversal techniques to use reverse computation to recover from faults from synchronization or failures, and enable efficient debugging at scale.
- Reversible software system opens an entirely new dimension, namely, reversibility, to parallel programming, at software-level, with implications to performance and energy. Reliance on memory is minimized, relieving the price and energy costs in moving to extremely large installations. Also, enabling reversibility positions well for future hardware architectures based on quantum computing and adiabatic computing.