Programming in Reversible Computing and its application to speculative execution

Activity: Talk or presentation typesLecture and oral contribution

Michael Kirkedal Thomsen - Other

  • Department of Computer Science
Reversible computations covers computation models in which computations must be deterministic in both directions; in other words, we can always uncompute a computation. The interest in these models is often motivated by its relation to energy and information preservation and the relation to "future" implementation models, for example quantum computing. But the possibility to perform reverse execution are also useful in applications such as reverse debugging and speculative execution.

I this talk I will give an overview introduction how one can program in the language Janus that have been designed to be reversible. I will show you how handling of information have to be thought into the implementation from the beginning and how this can affect execution time.
Finally, I will show recent work (in collaboration with Lawrence Livermore National Laboratory) that applies reversible programming to speculative execution. It give us the possibility to combine the befits of two notions of reversibility. One coming from reverse execution as given by reversible language and the other from backtracking as given by the Backstoke tool from LLNL.
11 May 2017

External organisation (Academic)

NameUniversity of Bremen
CityBremen
Country/TerritoryGermany

ID: 186164371