Opinion: researchers apply reversibility to many different areas so what would it mean for computation?
Computers are forgetful. They delete old information all the time. If they need to add two numbers somewhere in the middle of the algorithm which enables you to read this text, the computer will do so, merrily erase the numbers and only keep the result. That is perfectly understandable as it frees the memory for new data on the way from inputs to outputs. But what happens if you want to run it backwards and go back to the inputs?
Computer says no. It simply doesn’t have enough information to trace back the computation and tell us what were the inputs it started with. The result was 12 and it was a result of addition, but was it 1+11 or 7+5 or 6+6? Computer couldn’t tell. It’s not that the computer never had that information - it was there at the beginning, after all. It has just lost it in the process as the priority was to efficiently use the available memory resources, not to leave breadcrumbs for backtracking.
For some reason, we don’t see this loss as significant. It is not like mass or energy was lost. It didn’t create a mini black hole in the microprocessor. It just freed some memory for the bits to come. Information feels abstract to us and not a part of physics. Pounds, kilos, joules and calories are from the physics book, bits are in the Information Technology book.
From RTÉ Radio 1's Morning Ireland, Niall Wilson, Infrastructure Manager at the Irish Centre for High-End Computing, discusses Ireland's new €5.4 million supercomputer
The truth is somewhat different and the universe doesn’t discriminate: it is made of matter, energy and information. And when a bit of information is lost in a computer somewhere in that universe, some energy must go as well.
Thanks to the work of Rolf Landauer in the early 1960s, we know exactly how much energy the computing device has to dissipate if it erases a bit from existence (this value is today known as Landauer’s limit). While it is miniscule, the losses do add up. If we make sure computers don’t forget information on their way from point A to point B and leave enough of Ariadne’s thread to go back, no energy dissipation is necessary. If you are afraid of running out of thread (memory), just undo the intermediate operations and "uncompute" the results occupying the memory. To continue the thread analogy, unravel the sweater once you’ve worn it.
Your next laptop will still be irreversible, but we can see the glimpse of the reversible computation promise if we look far enough
Opponents complained that the most interesting computation is irreversible. Proponents retorted by showing irreversible computation could be made reversible with additional diary-keeping elements. The opponents still didn’t like it: even the simplest irreversible operations like addition would ask for more components to work in reversible fashion. They could afford ignoring reversible computation for decades (unless they were into quantum computing, where reversibility was a conditio sine qua non from the beginning.
Rejecting the almost free computational lunch was justifiable in the past with the promises of the existing technology. The race to pack more transistors into small area chips and make computers faster has ran for decades, and the current technological processes are reaching a plateau stage. It is time to look for a paradigm shift and reversible computation is a strong candidate. Of course, it will take a while, and your next laptop will still be irreversible, but we can see the glimpse of the reversible computation promise if we look far enough.
From RTÉ Archives, a RTÉ News report by Joe O'Brien on the Computex exhibition in Dublin's RDS in 1986
At the same time, the very notion of reversibility and its relationship with matter, energy and information transgresses the bounds of computation technology, and spreads over science and technology. Researchers study reversibility in chemical reactions, software debugging and the physics of materials. They ask such fundamental questions in these different areas as how far does reversibility go? How does irreversibility emerge? How useful is it to make things reversible and undo an instruction in software code, unboil an egg or send a signal backwards?
I applied this set of questions to the area of telecommunications, trying to make them cheaper and more efficient. If so many aspects of a system we deal with have the potential to be reversible, what good does it make to actually reverse them? Is there a secret natural principle encoded in playing a sound backwards?
There is more to reversibility than just coming to the place you started from. It is a way to check if you have done things correctly. If everything is right, as your maths teacher said, you should end up with the initial statement. It's a way to undo mistakes and return to the place where you made the last choice in the computer game to allow you to pick the other option. It's a way to do inverse operations (for example, addition backwards is subtraction). Finally, it is the ultimate sign of knowing all about the process (no information loss) - not too different from being able to tell the alphabet backwards.
The views expressed here are those of the author and do not represent or reflect the views of RTÉ