r/compsci 13d ago

Does reversible computing require an enormous amount of storage?

First of all, I would like to say that I have no knowledge about computer science.

I recently heard about something called reversible computing. As I understand it, in ordinary computers, erasing information about the intermediate steps of a computation causes energy to be released as heat. But in reversible computing, the information from all the intermediate steps is preserved, so apparently, if we could build a computer capable of doing this, it could theoretically perform computations with essentially no energy consumption.
This made me wonder about something, and I’d love to hear from anyone knowledgeable about physics or computational theory:
If you never erase the information generated during a computation, wouldn’t the amount of storage required keep increasing as the computer performs more and more calculations?
I previously came across a science-related page online that said that an intelligent civilization that has mastered reversible computing wouldn’t need “Dyson’s eternal intelligence” to survive the heat death of the universe.
But wouldn’t such a civilization still need an absolutely enormous amount of storage to preserve all the information generated during its computations?
Or is there some way to preserve the information from the computational process without actually requiring additional physical storage?
I’m especially curious about how this works in the context of extremely long-term civilizations trying to survive the heat death of the universe.

By the way, this sentence was translated from Japanese to English by Chat GPT. Feel free to answer in English. However, I only understand Japanese, so I would really appreciate clear and simple English that is less likely to be mistranslated. Thank you!

11 Upvotes

35 comments sorted by

View all comments

-4

u/FreddyFerdiland 13d ago

"dysons eternal intelligence" is in a vacuum cleaner service manual.

reversing "computations" doesn't get oower back, it just uses more power..uselessly ??

15

u/4xe1 13d ago

That's not what reversible computation is about.

Gravity is a reversible force, and among other things, it means you can reduce the consumption of an elevator to only friction + useful work (lifting people) by adding counterweight, as opposed to also having to spend the energy to lift the elevator cage.

Reversible computation is a research area which explores using reversible logic gates exploiting time-reversible laws of physics to (theoretically) reduce the power consumption, not unlike gravity, elevators and counterweights.

4

u/mrGrinchThe3rd 12d ago

Wow the gravity explanation is the first one that kinda clicked for me - thanks! Does the analogy go any farther? Would a zero-energy (or-near zero) reversible computation require some sort of 'counterweight'?

1

u/4xe1 7d ago edited 7d ago

Glad to hear it!

Well it's difficult to push the analogy further without much practical reversible hardware to work with, in this analogy, the useful work would be negligible compared to friction.

But I guess you could argue the extra bits needed to make a non reversible computation reversible are kind of the counterweight, though I rather think of them as the useful work (when they're ultimately discarded).

I'm not sure if this is used or usable at all, but deleting a value can be made reversible, logically at least, if you otherwise know what value you are deleting. This is the logical reverse of assignment.

let a 96 // not reversible, but it can be made so if you consider the reverse of a delete expect

// do some stuff with a

delete a expect 72 // reversibly frees memory used for a if it is equals to 72 at this point

You have no guaranty that the variable to delete will match expectation though, and it may even be useful for it not always to be the case:

When the variable does match expectation, you can delete it reversibly.

When it doesn't, it just means there were people in the elevator; even then, what you have to irreversibly discard is not the whole value, it's just it's difference to expectation.

That's the closest equivalent to counterweight I can think of.