Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Introduction to reversible computing
Perumalla K., Chapman & Hall/CRC, Boca Raton, FL, 2014. 325 pp. Type: Book (978-1-439873-40-3)
Date Reviewed: Dec 4 2013

If you’ve ever hit the “undo” button in your editor or the back arrow on your browser, you have encountered reversible computing. There is of course a lot more to reversible computing, and this book provides an introduction to many relevant topics, including theory, traditional energy-motivated hardware views, fundamental limits, software, practical algorithms, compilers, and application areas.

The book is intended for senior undergraduate and graduate levels, and also for professionals in related industries. There are five sections comprising 19 chapters. The sections are relatively self-contained, allowing the reader to skip to sections of interest. The introductory section includes three chapters that describe the scope of reversible computing, general application areas, and the spectrum of reversible computing components from the compiler level down to hardware circuits.

The three main sections cover theory, software, and hardware, respectively. In the first of these sections, the authors discuss theoretical computing models, including a universal reversible Turing machine. In the section on software, chapters describe programming languages for writing reversible programs, adding reversibility to standard non-reversible programs, and a reversible C compiler. Other chapters discuss three particular software applications: reversible random number generation, reversible memory allocation, and reversible numeric computation. The hardware section includes chapters on reversible circuits and reversible instruction sets.

The final section is a single chapter summarizing future directions. There is also an extensive list of over 140 references.

As a practicing software developer, I was primarily interested in the software aspects of reversible computing. However, if reversible computing becomes mainstream, it will likely be due to its potential to lower the amount of energy used by computers. As large computers and especially high-performance computing become constrained by the power consumed by the hardware, the rationale for reversible computing becomes economic, which is always a convincing and winning argument. But while that argues for reversible hardware, the argument for reversible software appears much weaker. In particular, the enormous inertia due to the huge mass of existing software presents a potentially insurmountable challenge. This is especially true because reversible hardware can run today’s non-reversible programs. I am not as convinced as the author, who concludes with the assertion that “backward execution ... will eventually find its natural role in computation.”

This book would serve as a good introduction for students, researchers, and professional programmers interested in reversible computing.

Reviewer:  Andrew R. Huber Review #: CR141778 (1402-0108)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
General (D.1.0 )
 
 
Computability Theory (F.4.1 ... )
 
 
General (D.3.0 )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Problems in programming
Vitek A., Tvrdy I., Reinhardt R., Mohar B. (ed), Martinec M., Dolenc T., Batagelj V. (ed), John Wiley & Sons, Inc., New York, NY, 1991. Type: Book (9780471930174)
Aug 1 1992
KNOs: KNowledge acquisition, dissemination, and manipulation Objects
Tsichritzis D., Fiume E., Gibbs S., Nierstrasz O. ACM Transactions on Information Systems 5(1): 96-112, 1987. Type: Article
Nov 1 1987
Programmer perceptions of productivity and programming tools
Hanson S. (ed), Rosinski R. Communications of the ACM 28(2): 180-189, 1985. Type: Article
Jul 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy