Supercomputing and Computation


ReveR-SES: Reversible Software Execution Systems

Problem Statement:

  • 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.

Technical Approach:

  • 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.

We're always happy to get feedback from our users. Please use the Comments form to send us your comments, questions, and observations.