Few books comprehensively cover the software and programming aspects of reversible computing. Filling this gap, Introduction to Reversible Computing offers an expanded view of the field that includes the traditional energy-motivated hardware viewpoint as well as the emerging application-motivated software approach. Collecting scattered knowledge into one coherent account, the book provides a compendium of both classical and recently developed results on reversible computing. It explores up-and-coming theories, techniques, and tools for the application of reversible computingthe logical next step in the evolution of computing systems. The book covers theory, hardware and software aspects, fundamental limits, complexity analyses, practical algorithms, compilers, efficiency improvement techniques, and application areas. The topics span several areas of computer science, including high-performance computing, parallel/distributed systems, computational theory, compilers, power-aware computing, and supercomputing. The book presents sufficient material for newcomers to easily get started. It provides citations to original articles on seminal results so that readers can consult the corresponding publications in the literature. Pointers to additional resources are included for more advanced topics. For those already familiar with a certain topic within reversible computing, the book can serve as a one-stop reference to other topics in the field.
[1]
Alan T. Sherman,et al.
A Note on Bennett's Time-Space Tradeoff for Reversible Computation
,
1990,
SIAM J. Comput..
[2]
Charles H. Bennett,et al.
Notes on Landauer's Principle, Reversible Computation, and Maxwell's Demon
,
2002,
physics/0210005.
[3]
Vladimir A. Protopopescu,et al.
Reversible simulations of elastic collisions
,
2013,
TOMC.
[4]
Charles H. Bennett,et al.
Logical reversibility of computation
,
1973
.
[5]
Michael P. Frank,et al.
Introduction to reversible computing: motivation, progress, and challenges
,
2005,
CF '05.
[6]
Kalyan S. Perumalla,et al.
Reverse computation for rollback-based fault tolerance in large parallel systems
,
2013,
Cluster Computing.
[7]
Tankut Akgul.
Assembly instruction level reverse execution for debugging
,
2004,
TSEM.
[8]
Christine Eisenbeis,et al.
Impact of Reverse Computing on Information Locality in Register Allocation for High Performance Computing
,
2012,
International Journal of Parallel Programming.
[9]
Alexis De Vos,et al.
Reversible Computing: Fundamentals, Quantum Computing, and Applications
,
2010
.