Live data from Hacker News

Backpressure in Distributed Systems

blog.pranshu-raj.me

11–16 of 16 posts

Re: Backpressure in Distributed Systems

#12

Off topic: a guaranteed way to start a flame war in an automotive forum is to state that there is no such thing as "backpressure" and that fluid dynamics and the continuity equation fully explain why restricting exhaust pipe diameter results in increased performance. Light the fire and then sit back and enjoy.

I wanna tell them how torque vs horsepower isn't real, horsepower is all that matters unless your transmission sucks

(Not to say that the width of the power band doesn't matter)

Re: Backpressure in Distributed Systems

#14

I have often found limiting the buffer size as a simple way to communicate back to producers that more work can't be taken. Then what happens is all a producer strategy to drop work or wait for a period of time then drop or just hold onto the work until the buffer has a clear space. Its about the simplest message from consumer to producer you can do and how games tend to do backpressure and how Go channels work.

Can you give examples of which games have implemented this (if open source) for reference?

Re: Backpressure in Distributed Systems

#15

I have often found limiting the buffer size as a simple way to communicate back to producers that more work can't be taken. Then what happens is all a producer strategy to drop work or wait for a period of time then drop or just hold onto the work until the buffer has a clear space. Its about the simplest message from consumer to producer you can do and how games tend to do backpressure and how Go channels work.

Can you give examples of which games have implemented this (if open source) for reference?

It is how DirectX works. The call to present that ends the stream of the commands to the GPU and tells it to render causes the CPU to be stalled waiting for this to be possible. This causes a backpressure into the game engine as the next simulation can't start or at the very least the next frame can't be started to be processed until it returns. It has been used by GPU makers to frame pace games as well to avoid stuttering.

So its not just some games, its all games its part of the core of how DX works.

Re: Backpressure in Distributed Systems

#16
This whole topic seems to be a re-discovery of https://en.wikipedia.org/wiki/Control_theory and https://en.wikipedia.org/wiki/System_dynamics with non-linearities and saturation.

In the same vein, on the consumer side we talk of admission control (which is just another name for "drop incoming messages") and throttling...

Post reply on HN