Backpressure
Description
Flow + feedback loop: when downstream processing slows, the slowdown propagates upstream as a signal to throttle. Without backpressure, fast upstream + slow downstream produces buffer overflow, dropped work, or cascading failure; with backpressure, the system self-regulates to the bottleneck rate. One of the most reliably-applicable higher-order concepts across queues, supply chains, traffic merges, and social dynamics.Triggers
User-initiated: Three recurring trigger patterns:- Producer-faster-than-consumer — user describes a system where producer-rate exceeds consumer-rate (“the LLM calls are queueing faster than they can complete”, “we’re getting 429s under load”) → backpressure as the missing mechanism.
- Cascading-failure report — user reports “things falling over” or downstream slowdown propagating upstream as crashes/timeouts rather than throttling → backpressure-absence as the diagnosis.
- Retry-without-throttle proposal — user proposes adding retry logic without throttling (“add exponential backoff”) → backpressure-as-missing-pair (e.g., “retry backoff is mathematically doomed against a 60s sliding-window quota… continuous-refill Token Bucket beats literal sliding-window array”).
Exclusions
- Asynchronous fire-and-forget systems — no feedback channel, no backpressure possible by construction. Different failure mode: overflow.
- Hard-real-time systems — when downstream slowdown isn’t acceptable as a signal (must meet deadline), backpressure becomes “we have a problem” rather than “we self-regulate.”
Structure
Relationships
- hysteresis — backpressure systems often exhibit hysteresis: once throttled, return to full throughput depends on the path taken, not just current state.
Examples
TCP flow control via the receive window (RFC 9293, obsoleting RFC 793); the Reactive Streams specification and its RxJava `Flowable` implementation (`request(n)` demand signalling). · computer-science
TCP flow control via the receive window (RFC 9293, obsoleting RFC 793); the Reactive Streams specification and its RxJava `Flowable` implementation (`request(n)` demand signalling). · computer-science
Flowable type. Rather than a push-only model where a fast producer can swamp a slow consumer, Reactive Streams is pull-driven at the demand layer: a subscriber calls request(n) to state how many items it can currently handle, and the publisher may emit no more than that until further demand arrives. The consumer’s capacity becomes the regulator. Without this signal, the system has no backpressure and fails by overflow — in RxJava, literally a MissingBackpressureException or an out-of-memory crash.Inference: backpressure requires a real reverse channel for demand, not just a buffer. A buffer only postpones overrun; the system self-regulates to the bottleneck rate only when the slow consumer can signal its rate back to the producer.John R. Walker, The Restaurant: From Concept to Operation, 6th ed. (Wiley, 2010) — on the expediter's role coordinating production flow at the pass. · human-physical-performance-and-recreation
John R. Walker, The Restaurant: From Concept to Operation, 6th ed. (Wiley, 2010) — on the expediter's role coordinating production flow at the pass. · human-physical-performance-and-recreation
Guyton & Hall, Textbook of Medical Physiology (chapter on the heart as a pump); mechanism originally established by Otto Frank (1895, Zeitschrift für Biologie) and Ernest Starling (Linacre Lecture, 1918). · biology
Guyton & Hall, Textbook of Medical Physiology (chapter on the heart as a pump); mechanism originally established by Otto Frank (1895, Zeitschrift für Biologie) and Ernest Starling (Linacre Lecture, 1918). · biology
Papageorgiou, M., Hadj-Salem, H., & Blosseville, J.-M. (1991), "ALINEA: A local feedback control law for on-ramp metering," Transportation Research Record 1320:58–64. · transportation
Papageorgiou, M., Hadj-Salem, H., & Blosseville, J.-M. (1991), "ALINEA: A local feedback control law for on-ramp metering," Transportation Research Record 1320:58–64. · transportation
Spiller RC et al. (1984), "The ileal brake — inhibition of jejunal motility after ileal fat perfusion in man," Gut 25(4):365–374. · biology
Spiller RC et al. (1984), "The ileal brake — inhibition of jejunal motility after ileal fat perfusion in man," Gut 25(4):365–374. · biology
Merge-cascade ordering · computer-science
Merge-cascade ordering · computer-science
API Standard 520, Sizing, Selection, and Installation of Pressure-relieving Devices (American Petroleum Institute), Part I: Sizing and Selection; Part II: Installation. · engineering-and-technology
API Standard 520, Sizing, Selection, and Installation of Pressure-relieving Devices (American Petroleum Institute), Part I: Sizing and Selection; Part II: Installation. · engineering-and-technology
Reactive Streams specification. · computer-science
Reactive Streams specification. · computer-science
request(n), and publishers must not emit more elements than have been requested. The spec is implemented by RxJava, Project Reactor, Akka Streams, and the standard java.util.concurrent.Flow types in JDK 9+.Inference: This is the engineering canonicalization of the backpressure primitive. Earlier reactive libraries treated backpressure as an afterthought or a runtime concern; Reactive Streams treats it as a structural constraint enforced at the type-system level — the consumer can never be overwhelmed because it controls how much it has asked for.