Live data from Hacker News

Every fast write moves work somewhere else

shayon.dev

21–26 of 26 posts

Re: Every fast write moves work somewhere else

#21

Today I learned there’s a name for the general version of this idea. https://en.wikipedia.org/wiki/Waterbed_theory At a certain point in a solution everything you do to optimize (“push”) in one area will cause a negative effect in a different area (“bulge”). But this is a nice concrete example.

I had heard of it in reference to auto sales being a balloon. If they show you a squeezed price, fees bulge on the other end of the deal.

Re: Every fast write moves work somewhere else

#22
post #10

Another fun failure mode in the same vein: if you are emulating an NVMe device and declare that a write operation is successful once bytes are in memory, you will quickly find yourself buffering arbitrarily large amounts of data as "persist to disk" (SSD speed) falls behind "acknowledge writes" (RAM speed). If you do not add backpressure to your system intentionally, it will be added for you – and you may not like wh…

UFS WriteBooster not only have a buffer that eventually need to be flushed, since it uses flash cells with pseudo-SLC behavior, the write amplification is even higher, to the point that they give it a special flag because using it all the time will just kill the media faster.

Re: Every fast write moves work somewhere else

#23

Earlier quoted context omitted.

Oh thank you for sharing! I had tried describing this earlier in my career and had call it "The complexity shell game" as in attempts to hide complexity only serve to move it around and to trick yourself it's gone. I would much rather use an existing standardized term, so I'm switching to Waterbed Theory, thank you!

I call it the conservation of effort. If you are able to save mental energy in one place, it necessarily has been spent in another.

That's not entirely true though. There are sometimes true wins in things like finding better perspectives, e.g. models that are both simpler and more accurate, good abstractions that separate concerns cleanly, stuff like that.

Re: Every fast write moves work somewhere else

#24

Earlier quoted context omitted.

I call it the conservation of effort. If you are able to save mental energy in one place, it necessarily has been spent in another.

That's not entirely true though. There are sometimes true wins in things like finding better perspectives, e.g. models that are both simpler and more accurate, good abstractions that separate concerns cleanly, stuff like that.

You still have to find these things though. Even if you didn't do it, someone, somewhere did spend all that mental energy. There are no shortcuts to saving effort in a closed environment. Same way you can't reduce total energy in a closed system. In fact these two are closely related.

Re: Every fast write moves work somewhere else

#25

Earlier quoted context omitted.

That's not entirely true though. There are sometimes true wins in things like finding better perspectives, e.g. models that are both simpler and more accurate, good abstractions that separate concerns cleanly, stuff like that.

You still have to find these things though. Even if you didn't do it, someone, somewhere did spend all that mental energy. There are no shortcuts to saving effort in a closed environment. Same way you can't reduce total energy in a closed system. In fact these two are closely related.

This seems like it requires such narrow definitions of things like "closed environment" that it loses applicability to the real world. It's a heuristic worth considering, but not a universal principle.

Re: Every fast write moves work somewhere else

#26

Earlier quoted context omitted.

You still have to find these things though. Even if you didn't do it, someone, somewhere did spend all that mental energy. There are no shortcuts to saving effort in a closed environment. Same way you can't reduce total energy in a closed system. In fact these two are closely related.

This seems like it requires such narrow definitions of things like "closed environment" that it loses applicability to the real world. It's a heuristic worth considering, but not a universal principle.

It's not that hard though. Until we integrate extraterrestrial code into our package managers, you can call earth our closed environment. And if your company has strict offline and library requirements, you could even define it for your place of work.
Post reply on HN