Reversible Computing: Solving the heat and speed problem?

McFly

Veteran
http://www.cise.ufl.edu/research/revcomp/

My major (past & present) research area concerns the use of low-power techniques in computing. Not only is low power important in portable/embedded devices, where energy supplies may be limited, but also, it is becoming increasingly important for all compact, high-performance systems, as heat dissipation increasingly becomes a limiting factor on performance. For example, you can run today's Pentiums much faster if you cool them aggressively - a fact which is already the basis of some existing businesses.

However, given necessary limitations on cooling technologies, it turns out that with normal computing techniques, raw computer performance is ultimately limited in proportion to a system's outer surface area. This severely limits our ability to pack circuits densely into small-diameter spaces. Unfortunately, compact system designs are vital, not only for increased portability, but also in order to reduce communication delays in aggressive parallel algorithms.

To enable better performance scaling for parallel machines, and higher performance per Watt in energy-limited systems, my colleagues and I have been investigating the theory, design, and application of novel, thermodynamically reversible computing techniques. Recently-developed "adiabatic" digital electronics enables most of a system's active electrical energy to be reused from one clock cycle to the next, rather than being dissipated on every cycle to heat.

The technique allows us to buy increased energy efficiency, at the cost of lower transistor-count efficiency. Overall, it permits (1) a portable device to perform much more total computation before its battery runs out, (2) a compact heat-limited system to compute much faster given the same size limit and cooling system, or (3) a large supercomputer to run aggressive parallel algorithms faster, period.

The scaling advantages of the reversible approach have been shown to follow from fundamental principles of physics, and therefore, these advantages will remain, regardless of any future developments in computing technology! (Superconductors, quantum computing, molecular computing, etc.) So this is definitely an important research direction to explore for the long run.

Interestingly, in this long term view, taking optimal advantage of thermodynamically reversible techniques requires not just different electronics, but also changes to all higher levels in computing - different logic designs and CPU architectures; different programming languages and algorithms. The reason is that in the reversible approach, as in the laws of physics themselves, information is a conserved quantity - it cannot be destroyed, although it can be uncomputed by careful, deliberate design. If information is simply discarded, as occurs continually (and implicitly) at all levels in traditional computing, it inevitably becomes heat.

Therefore, in the long run, a whole new paradigm within computer science will eventually need to develop (supplementing, not supplanting the old one), in order for us to take full advantage of reversible techniques. Fortunately, we do not have to wait for this "paradigm shift" to happen; we can start taking advantage of these techniques in a more limited fashion, for real applications today.

Of cvourse I don't see this approach in any next gen console, but it could be something to look at for the next-nextgen consoles. The idea is defenitly great. Maybe the PSP2 will have 1TFlop. ;)

Fredi
 
I once wondered why something like this wasn't done, but more for power consumption in portable devices then less heat generated.
 
Reversible computing won't increase performance,in fact, it will decrease it. It simply saves energy and lowers heat, that's all.

It might take off in the mobile market in specialized applications.

Reversible computing simply means you use universal gates which don't erase information, since the only thing which theoretically requires any energy expenditure is erasure. However, all though extra "garbage bits" generated by reversible computing (because you can't get rid of the temporary results of calculations) require either a huge bandwidth/sink to shunt them to (because erasing them uses up energy), or you must "reverse" and "uncompute" results to get rid of them without generating heat.

If you reverse computations, you lose performance spending cycles on "uncomputing". If you don't, and instead choose to preserve all of the bits coming out of the universal gates, you instead face a massive routing and bandwidth problem, which in the end, limits how much you can pack on a chip, and therefore, lowers performance again.

It's a cool technique, but I don't believe it will have much practical application in high performance situations in the future.
 
Wired has now an article about it: http://www.wired.com/news/technology/0,1282,61118,00.html

...

An IBM spokeswoman confirmed that researchers at the company are currently working on reversible computing technology.

Frank plans to continue evangelizing reversible computing until more companies begin to take notice -- and action -- or until a better technology comes along.

"The industry is going to hit a wall unless it begins to pay attention to reversible computing," he said. "I am as certain about this as I am about the laws of physics."

Fredi[/i]
 
Back
Top