Live data from Hacker News

Every fast write moves work somewhere else

shayon.dev

11–20 of 26 posts

Re: Every fast write moves work somewhere else

#11
post #9

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.

It’s called constraints and tradeoffs yeah

Sure, but I like how this feels more tactile and how things may bulge in unexpected way.

Like pushing clay around into the right shape of the problem while it’s fighting you.

Constraints and tradeoff feels like the simplified textbook model.

Re: Every fast write moves work somewhere else

#12

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 like minimal irreducible inherent complexity of a problem or a system (waterbed or zero-point would work I guess) and then you can derive some form of a law of conservation of complexity… if you can measure it. You can definitely feel it, though.

edit: see also ‘No Silver Bullet’ and its essential vs accidental complexity; but don’t disregard Kolmogorov, either, even if it isn’t strictly engineering.

Re: Every fast write moves work somewhere else

#13

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.

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!

Re: Every fast write moves work somewhere else

#14

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.

My friend calls it the lump under the carpet. You can move it around, but you can never get rid of it.

Re: Every fast write moves work somewhere else

#15
post #9

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.

It’s called constraints and tradeoffs yeah

You're getting downvoted but I had the same thought. This sounds like engineering. I do believe there are some cases where pushing the problem to a different place is the right thing to do, sometimes that different place is contextually better suited to that task, so you do actually gain performance or capability from moving the problem around.

Re: Every fast write moves work somewhere else

#16
post #9

Earlier quoted context omitted.

It’s called constraints and tradeoffs yeah

You're getting downvoted but I had the same thought. This sounds like engineering. I do believe there are some cases where pushing the problem to a different place is the right thing to do, sometimes that different place is contextually better suited to that task, so you do actually gain performance or capability from moving the problem around.

[deleted]

Re: Every fast write moves work somewhere else

#17

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.

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.

Re: Every fast write moves work somewhere else

#18
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…

if you use the linux kernel that amount of ram is tunable, and write will cause backpressure on its own when this is exceeded.

Re: Every fast write moves work somewhere else

#19

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.

Something that comes to mind right away is: the cloud will eliminate the complexity of managing OSes and hardware.

Instead it moved it to the complexity of devops and complicated cloud APIs.

Re: Every fast write moves work somewhere else

#20

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.

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!

Its amazing how humans come up with the same things independently.
Post reply on HN