What is Reversible Computing and when should we implement it?
This post is also available in: Spanish
Reversible Computing: Moore’s Law, and unconventional computing
The so-called “Moore’s Law” is reaching the limits established since its formulation. We previously published an article on the subject, which serves as an introduction to what we are going to explain today. Let’s start from there and keep your mind open for change….
Gordon E. Moore first formulated his empirical experience – which later became “law” – for a period of one year, but after five years he reformulated it to two years, and established that it would reach its limit in 2007, with a maximum extension of 15 years. If you take a look, at the time of writing this article, we are close to witnessing its extinction.
Why is Moore’s Law headed for death? Although we are making smaller and smaller transistors and are able to gather more and more in the same space, we are gradually leaving the realm of classical physics and moving into the field of quantum mechanics, where materials behave in different ways. In other words, there comes a time when an electron simply cannot pass through such a thin wire; it literally “jams” and its electromagnetic wave “jumps” from one conductor to another, causing unwanted values in the surrounding transistors. We remind you that the speed of an electron by an electrical conductor is slow, compared to the electromagnetic force that practically reaches the speed of light (take it for now as a fact and then look it up in your favourite encyclopaedia).
Gordon Moore (left) and Robert Noyce (both founders of Intel), photo 1970, IntelFreePress
A different thing is the speed of these processors; it is like electrical energy, which supplies our homes at 60 cycles per second (in America, in Europe it is at 50 Hertz) and determines the number of revolutions per minute of the rotor of the generators (powered by nuclear, wind, etc) and motors in our homes and jobs. Also in the case of computers, the higher the cycles, the more energy consumed and heat generated (wasted energy); this represents another limitation, which has been overcome with multi-core CPUs: their grouping and synchronization has allowed the construction of supercomputers and the use of Parallel Computing.
And where does Reversible Computing work?
Reversible Computing is about being able to obtain, from a result, the values that originated it (one by one). As we well know, our computers work with a binary system whose values, true or false ( on/off if we think of transistors as light bulbs), and the logical operations on the bits are diverse. One of them is reversible: the negation (NOT), since its result, just by applying it again, we will obtain the original value.
Other operations are not. AND takes two bits, “multiplies” them and outputs a result: if it is true it means that both bits were true, but if the result is false we will not know for sure what the original values were; therefore, it is irreversible.
Working with trits
Our computers use the positive based binary system (negative based numbering systems can be used for another complete article). Let’s abandon binary computers to think about ternary computers now.
If two are good, three are better, but as you may have suspected we will need more “memory” to represent them. Luckily, computing power and capacity is no problem today.
If we used 0 and 1 before, then we will now use… ¡-1, 0 y 1! (‘negative’,’zero’ and’positive’)
This is called a balanced ternary system, taking zero as the pivot, and it solves one of the problems of our binary computers: dedicating a bit to represent the sign of a number (negative-based numbering systems also solve the sign issue).
Let’s see what our decimal system would look like in binary and balanced ternary:
Decimal system, binary system and balanced ternary system.
To represent the negative numbers in a balanced ternary, simply apply the NOT (reversible operation), that is, invert the signs: the negative seven would be “-+-” and the negative two would be “0-+”.
Does this look advanced to you? A computer based on balanced ternary was developed in the Soviet Union in 1958 and the model was named after a river near the Russian research laboratory: Setun (only 50 specimens were produced).
Here, you’ re getting the hype of Reversible Computing!
Universal gates for Reversible Computing
If we can express logic or arithmetic operations with two or more gates of the same type, we are in the presence of universal gates. But, in addition, we need them to be reversible and one of them is the one invented by the Digital Physicist Edward Fredkin and is called, of course, Fredkin’s Gate. It is usually presented with binary values, but here we will present it with balanced ternary values.
Graphic representation of a Fredkin Gate, Wikipedia
It consists of three input and equal output trits. The first trit always keeps its value: if it is zero, the other two trits keep their values, but if it is positive the other two trits will exchange their values (we will leave the negative of the first trit to indicate, by the way, that the operation is not reversible: for example, when we need to send a result to the «/dev/null», as we currently do in GNU/Linux).
Our layout would look like this:
Reversible Computation and Fredkin Gate
Thus, if we set the value W3=0 we get the operation X3= W1 AND W2
Balanced ternary AND operation
At this point, if we know the result, even if it is zero, we will always know what the values of W1 and W2 were. That is, the algorithm would be reversible (the mathematical demonstration should be for another full article).
From theory to practice
Of course we need more time and memory (more values and more operations) for our new computer and in this scenario the monitoring with Pandora FMS would be practically the same, but with the notable difference that any last data collected by a module could be reversed to compare with the penultimate data collected, so we would have a monitoring that could be audited. A real achievement.
As reality always surpasses fiction, biologists believe that reversible computing in nature is well represented in the messenger Ribonucleic Acid (mRNA), because with its arrival the cells have the instructions to duplicate proteins that are necessary for our life. For us human beings, the resource of time is really limited. We are always developing technology that is faster because our life is limited, but there is a field where time is very abundant: in the exploration of our universe.
Messenger RNA, Wikipedia
Space travel, quantum computers and Reversible Computing
A cubic metre in outer space would have at best two or three atoms: it is practically empty and the temperature drops to minus 273 degrees Celsius (about zero degrees Kelvin). In these conditions there are metals that become superconductive and an electric current can circulate for an indefinite time without any resistance and without wasting any energy, in a physical phenomenon that we have not fully understood. So far, our probes have been shipped with plutonium; as they disintegrate they emit energy at the cost of consuming their own mass, so that computers can perform their basic operations. To communicate with us they get additional energy from the solar panels.
We launched the Voyager 1 space probe 40 years ago and it is now leaving our solar system (heliosphere) and the farther away it is, the less energy it gets from the Sun. So we need computers that work with a minimum amount of energy, and even better: that can even regain the energy used in the calculations. To do this, quantum computers come into play, which could deliver a result (navigation calculations to correct the route, if necessary) to another memory area and reverse the computation to return to its original state with almost the same amount of energy (remember the superconductivity).
Location of Voyager 1 (top) and Voyager 2 (bottom) within the limits of our solar system, NASA
The plan would be that when it reaches another star nearby and gets power back from the solar panels, the main computers would turn on and send a signal pointing to where our planet will be in the future.
If Voyager 1 had this type of computer that we theorized, it could perform the calculation of where we would be in 1.7 years to the future in the year 40272, when passing near another star, and then it could trigger the information collected. Let’s remember that information is obtained from data, and with Reversible Computing just by having the first thing we will also have the second thing. We reckon that by then we’ll have satellite dishes all over our space neighborhood, so we can pick up the very faint signal that arrives, not just from the next artifacts we launch, but even signals from other possible civilizations!
Let’s look at the current reality: NASA estimates that by 2030 the systems on Voyager 1 will shut down forever, as it will run out of radioactive energy and will orbit at a speed of 48,240 kilometers per hour, heading toward the center of our galaxy and making a revolution every 225 million years on Earth, what do you think?
Pandora FMS and Non Conventional Monitoring
Pandora FMS unconventional monitoring
As well as the term Non-Conventional Computing, here at Pandora FMS we have been opting for Non-Conventional Monitoring for a long time, since our motto is Flexibility and we do what we preach. We already offer you the latest techniques for data collection, data consolidation, storage and presentation, whether developed by us or by third parties in an integrated way: you are just a click away!
Please leave your comments below.