Reversible Computation can revolutionize IT
Imagine a world where computers didn't use any energy, where they didn't produce any heat and where you would have the answer and then get the question. This is the world that the researchers at the MicroPower project have been working towards, using reversible computation as their tool.
When doing research, you have to choose a path - you can either work to improve current standards, or you can dive into the risky and unknown and create new standards. In the MicroPower project the researchers chose the second way, going on a mission to produce a reversible computer.
The project was a joint research project between the Research Section of Algorithmics and Programming Languages (APL) at Department of Computer Science and ELIS at Ghent University, a leading centre for reversible microelectronics, bringing together the leading experts in reversible software and reversible hardware.
A quest for the ability to go forward and backwards
The difference between conventional computing and reversible computing is simple in theory - one offers one-way computing, and the other offers two-way computing. In the case of reversible computation, not only can you ask a question and get the answer, you can also state the answer and obtain the question.
Why this is useful is a major question that Alex de Vos, researcher at Ghent University, tries to answer in a short video about the MicroPower project:
In short, it's all about power consumption, and how energy is used and regained.
Reinventing the standards
While ELIS worked on developing the hardware part of the project, the APL Section at DIKU brought in the knowledge of programming languages and logic design, both teams working in experimental topics. When working with reversibility there is almost no prior research and standards - you have to start from scratch, creating both new programming languages and models for concepts that have been standard in the general computing world for several years.
One particular challenge the APL Section worked on is compilation of reversible high-level programs to reversible machine code, focusing on ensuring that the reversible characteristics are preserved by the translation: if the source code can be run backwards on some data, so can the target code.
This presents special challenges - for instance, it is made difficult by the fact that reversibility is more fine-grained at the machine code level than in a high-level language. A high-level reversible programming language can utilize seemingly irreversible subcomponents (say, expression evaluation), but still be reversible. These components must be dealt with entirely reversibly by the translated code, which is very non-trivial to do efficiently.
Another problem which may be more familiar to compiler writers comes from the fact that ordinary register allocation techniques do not work for reversible assembler code. At DIKU, new compiler techniques have been developed to deal with this, and other such problems that arise from the desire for useful reversible programming languages.
It is necessary to reduce the energy consumption of computers
In 1961, Rolf Landauer showed that, in principle, it is possible to construct a computer that works without consuming electrical energy, and thus without producing heat, giving birth to Landauer's Principle. Although we are still far from a computer with no energy consumption at all, scientists hope that this principle can help reduce power consumption in computers. Since computers today are responsible for 2,5% of the total energy consumption worldwide, anything that can help reduce this volume is wanted, however there are other reasons why reversibility can revolutionize computing.
Part of the problem lies in the hardware
Reducing energy consumption and heat production is a big problem in modern computing, since hardware manufacturers are facing a problem - they are reaching a limit as to how much faster computers can get without overheating, since the heat cannot travel away fast enough from the increasingly smaller and more powerful computer chips.
Although the MicroPower Project has now finished, the APL section have not left reversibility alone - their new project, Foundations of Reversible Computing (FoRC), are focused on a more theoretical aspect of reversibility, which can provide tools for further research and implementations in the future.
In August 2014, postdoc at Dept. of Computer Science in Copenhagen, Holger Bock Axelsen appeared on the regional Copenhagen television channel Tv2 Lorry, giving a presentation of his work on reversible computation and the world's power consumption (in Danish):