Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The benefit of a reversible computer is that there is no minimum amount of energy it must dissipate as heat in order to perform its computations.

Every time a bit of information is erased, a certain amount of energy must be dissipated as heat. A reversible computer doesn't (have to) erase information.

Reversible computing is energy-aware computing taken to its logical extreme.



As the paper points out, there are a bunch of ways in which reversible computers will lose energy, even under ideal circumstances. It's also important not to gloss over the fact that reversible circuits (e.g. CSWAP) are tremendously difficult to create, so it's unlikely we'll be seeing computers built from them anyway; and without reversible circuits at the logic gate level, you don't really gain the expected energy benefits.


Yes, there are large difficulties to creating reversible computers in practice. However, it's the theoretical benefits (such as no minimum power dissipation) that motivate people to work on them.


I get that. The concept of saving energy is what I do understand.

What I don't understand is what kind of applications this could actually be used for. Given the (by-design) limitations of such a system, how would it be actually usable? What real-world scenarios would want this and be able to utilize it?


Reversible computers are turing-complete. The only requirement is you either have to store all intermediate results (no erasing), or you have to periodically "uncompute" them. I don't remember what the minimum bound on the overhead is, but it's manageable.


Conventional processors will eventually run into physical limits of heat dissipation that will impede moore's law. Reversible computers are a way of circumventing this physical limitation because they dissipate less energy as heat.


Physics simulations. I work in drug design, and my field would be enormously benefited by this. Quantum mechanics calculations are naturally reversible.


The interior of the computation is reversible, but the measurement performed at the end most definitely is not. If it were, quantum computers would be able to solve NP-complete problems trivially, and complexity theorists would get pissed that physicists were holding out on them for decades.


Can you expand on this?


Sure. I'll use the quantum circuit model of quantum computation since it removes a lot of non-essential details.

A quantum circuit is analogous to an idealized digital one, in that it is composed of gates with (possibly multiple) inputs and outputs, hooked together by "wires" that "carry" quantum states. However the gates aren't able to perform arbitrary operations; they can only multiply the inputs by unitary matrices to produce the outputs. These kind of matrices are always invertible, so none of the gates can "lose" any information the way some digital gates do. You also can't hook one output to multiple inputs, though you can ignore an output if you want.

However if you want to do some sort of computation whose output makes it into your brain (or a classical computer) you need to measure one or more of the output states. With digital circuits this is trivial; with quantum circuits you have to decide how you want to make the measurement (essentially along what "axis" between zero and one), and the output is in general probabilistic based on the angle between the measurement axis and the actual value. You also only get to do one measurement per output per instance of computation; the original output state will be replaced by the measured value which will usually not be the original output state, and all the intermediate states will already be consumed by the computation itself.

This is why most quantum algorithms are probabilistic. Shor's algorithm (the RSA breaking one) can actually fail even with an ideal quantum computer. However the likelihood of failure is small enough that running the computation a few times is enough to get the right answer with high probability (and it's easy to check if the output is right).

You could take any computable function that takes in N bits, apply it to a superposition of all 2^N possible inputs (encoded as N qubits) with about the same level of effort it takes to apply it to only one classical input. However there's no measurement which can recover the 2^N different outputs in one shot, or find the input associated with a specific output value. Most of the ingenuity in designing quantum algorithms comes in smuggling data out of quantum states by cleverly causing interference to push the possible output values into alignment with your measurement axis.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: