Jump to content

Reversible computing

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 69.240.98.192 (talk) at 04:55, 24 February 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Reversible computing refers to any computational process that is (at least to some close approximation) time-invertible, meaning that a time-reversed version of the process could function within the same general sort of dynamical framework as the original process.

Probably the largest motivation for the study of hardware and software technologies aimed at actually implementing reversible computing is that they offer what is the only potential way to improve the energy efficiency of computers beyond the von Neumann-Landuaer limit [1] of kT ln 2 energy dissipated per binary operation, where k is Boltzmann's constant of 1.38×10-23 J/K, and T is the temperature of the environment into which unwanted entropy will be expelled.

There are two major and closely related types of reversibility that are of particular interest for this purpose: physical reversibility and logical reversibility. A process is said to be physically reversible to the extent that it results in no increase in physical entropy, or in other words is isentropic. Although no real physical process can be exactly physically reversible or isentropic, there is no known limit to the closeness with which we can approach perfect reversibility, in systems that are sufficiently well-isolated from interactions with unknown external environments, when the laws of physics describing the system's evolution are precisely known.

As was first argued by Rolf Landauer of IBM [1], in order for a computational process to be physically reversible, it must also be logically reversible. This statement is called Landauer's Principle. A discrete, deterministic computational process is said to be logically reversible if the transition function that maps old computational states to new ones is a one-to-one function.

For computational processes that are nondeterministic (in the sense of being probabilistic or random), the relation between old and new states is not a single-valued function, and the requirement needed to obtain physical reversibility becomes a slighly weaker condition, namely that the size of a given ensemble of possible initial computational states does not decrease, on average, as the computation proceeds forwards.

More on Landauer's Principle

Landauer's principle can be understood to be a simple logical consequence of the second law of thermodynamics, which states that the entropy of a closed system cannot decrease, together with the definition of thermodynamic temperature. For, if the number of possible logical states of a computation were to decrease as the computation proceeded forwards (logical irreversibility), this would constitute a forbidden decrease of entropy, unless the number of possible physical states corresponding to each logical state were to simultaneously increase by at least a compensating amount, so that the total number of possible physical states was no smaller than originally (total entropy has not decreased).

But, an increase in the number of physical states corresponding to each logical state means that, for an observer who is keeping track of the logical state of the system but not the physical state (for example an "observer" consisting of the computer itself), the number of possible physical states has increased; in other words, entropy has increased from the point of view of this observer. In physical systems with finite surface area, there is a finite maximum entropy; so, to avoid reaching this maximum over the course of an extended computation, entropy must eventually be expelled to an outside environment at some given temperature T, requiring that energy E = ST must be emitted into that environment if the amount of added entropy is S. For a computational operation in which 1 bit of logical information is lost, the amount of entropy generated is at least k ln 2, and so the energy that must eventually be emitted to the environment is EkT ln 2.

This expression for the minimum energy dissipation from a logically irreversible binary operation was first suggested by John von Neumann [3], but it was first rigorously justified (and with important limits to its applicability stated) by Landauer. For this reason, it is sometimes referred to as being just the Landauer bound or limit, but if we wish to be more generous to its originator, we may prefer to refer to it as the von Neumann-Landauer (VNL) bound instead.

The Reversibility of Physics and Reversible Computing

Landauer's principle (and indeed, the second law of thermodynamics itself) can also be understood to be a direct logical consequence of the underlying reversibility of physics, as is reflected in the general Hamiltonian formulation of mechanics, and in the unitary time-evolution operator of quantum mechanics more specifically.

In the context of reversible physics, the phenomenon of entropy increase (and the observed arrow of time) can be understood to be consequences of the fact that our evolved predictive capabilities are rather limited, and cannot keep perfect track of the exact reversible evolution of complex physical systems, especially since these systems are never perfectly isolated from an unknown external environment, and even the laws of physics themselves are still not known with 100% precision; thus, we (and physical observers generally) always accumulate some uncertainty about the state of physical systems, even if the system's true underlying dynamics is a perfectly reversible one that is subject to no entropy increase if viewed from a hypothetical omniscient perspective in which the dynamical laws are precisely known.

The implementation of reversible computing thus amounts to learning how to characterize and control the physical dynamics of mechanisms to carry out desired computational operations so precisely that we can accumulate a negligible total amount of uncertainty regarding the complete physical state of the mechanism, per each logic operation that is performed. In other words, we would need to precisely track the state of the active energy that is involved in carrying out computational operations within the machine, and design the machine in such a way that the majority of this energy is recovered in an organized form that can reused for subsequent operations, rather than being permitted to dissipate into the form of heat.

Although achieving this goal presents a significant challenge for the design, manufacturing, and characterization of ultra-precise new physical mechanisms for computing, there is at present no fundmantal reason to think that this goal cannot eventually be accomplished, allowing us to someday build computers that generate much less than 1 bit's worth of physical entropy (and dissipate much less than kT ln 2 energy to heat) for each useful logical operation that they carry out internally.

This fact is what motivates much of the research that has been done in reversible computing since the first seminal paper on the topic [2] was published by Charles Bennett of IBM research in 1973. Today, the field has a substantial body of academic literature behind it. A wide variety of reversible device concepts, logic gates, electronic circuits, processor architectures, programming languages, and application algorithms have been designed and analyzed by physicists, electrical engineers, and computer scientists.

But, as of this writing, the field presently still awaits the detailed development of a high-quality, cost-effective, nearly reversible logic device technology, one that includes highly energy-efficient clocking and synchronization mechanisms. This sort of solid engineering progress will be needed before the large body of theoretical research on reversible computing can find practical application in enabling real computer technology to circumvent the various near-term barriers to its energy efficiency, including the von Neumann-Landauer bound, which may only possibly be circumvented by the use of logically reversible computing, due to the most fundamental known laws of physics.

References

[1] R. Landauer, "Irreversibility and heat generation in the computing process," IBM Journal of Research and Development, vol. 5, pp. 183-191, 1961.

[2] C. H. Bennett, "Logical reversibility of computation," IBM Journal of Research and Development, vol. 17, no. 6, pp. 525-532, 1973.

[3] J. von Neumann, Theory of Self-Reproducing Automata, Univ. of Illinois Press, 1966.