Skip to content
About
Main content

Glossary

116 terms, in the sense this mechanism uses them. The platform glossary has every term across all mechanisms.

a^N (availability ceiling)
Availability of a service with N hard dependencies, each available with probability a; for example 0.999^30 = about 97%.
Admission control
Declining new work before any resources are committed to it.
Aging
Raising a waiting task's priority over time to prevent starvation.
AIMD
Additive increase, multiplicative decrease: a rate-control rule that grows slowly and cuts sharply when congestion appears.
Availability
Availability is the fraction of time a service works. 99.9% is "three nines", 99.99% is "four nines". Over a year of 8,760 hours, 99.9% allows about 8.76 hours of downtime and 99.99% allows about 52.6 minutes.1 other meaning →
Backlog
Work that accumulated while a system could not keep up, waiting to be processed.
Backpressure
A signal from a consumer, based on its actual state, that makes the producer slow down.If a slow step cannot keep up, it tells the step before it to slow down, and that step tells the one before it, until the source stops reading. We study this in Part 8.
Bimodality
A system that is stable in two very different states (healthy and degraded) with nothing stable in between.
Bistability / metastable
A system with two stable states; a metastable failure stays in the bad one after the trigger is gone.
Blast radius
The part of the system or the number of users affected when one failure happens.How much damage one mistake or one stolen secret can cause.
Bounded queue
A queue with a maximum length that rejects new work when full, turning waiting into a fast error.
Branching process (R)
A model where each request causes R new requests on average; R < 1 dies out, R > 1 grows.
Broadcast join
A join that copies the small side to every executor so the large side does not move.
Brownout
Serving all users a reduced response (for example without recommendations) instead of refusing some users.
Bufferbloat
Excess latency caused by large buffers that stay full, with no gain in throughput.
Buffering
Storing excess work inside the system; latency and memory grow without bound.Latency is how long one operation takes. Throughput is how much work finishes per second. Buffering means putting a queue or a temporary store between a fast side and a slow side, so neither one waits for the other.
Bulkhead
A partition of resources so a failure in one part cannot consume the resources of another.
Cache stampede
Many requests miss the same expired or missing cache key and all go to the backend together.
Capacity
How much work a system can finish per second (C, or μ for one server). Utilization ρ = arrival rate ÷ capacity is the share of it in use.Load is how much work arrives per second, written λ (lambda, "arrival rate"). Capacity is how much work the system can finish per second, written C (or μ, "mu", for one server). Utilization is the fraction of capacity in use, ρ = λ / C (rho). At ρ = 0.5 the system is half busy.
Cell
An independent full copy of a service serving a subset of customers to limit blast radius.
Circuit breaker
A mechanism that stops calls to a failing dependency (closed, open, half-open).
Coffman conditions
The four conditions for deadlock: mutual exclusion, hold-and-wait, no preemption, circular wait.
Compaction
Rewriting many small files into fewer larger ones.An LSM-tree (Log-Structured Merge tree) is a storage structure that never changes files in place. It collects writes in memory, writes them as sorted, immutable files, and later compacts (merges and rewrites) the files in the background to remove old versions and deleted entries. A tombstone is a marker that says "this key was deleted"; compaction removes the key and the marker. Compaction costs disk and CPU. Write amplification is the ratio of bytes the storage actually writes to bytes the application asked to write. A Bloom filter is a small structure that answers "definitely not in this file" or "maybe in this file", so reads can skip most files.
Congestion collapse
A state where throughput stays high while goodput falls because work is wasted.
Control
The data plane is the part of a system that handles user requests (route this packet, answer this query). The control plane is the part that manages the system (add servers, change configuration, update routing tables, decide who is healthy).
Control plane vs data plane
The control plane manages the system (autoscaler, config, discovery); the data plane serves requests.
Convoy effect
Threads moving in lockstep behind a lock after its holder was descheduled; throughput falls to context-switch speed.
Critical section
A piece of code protected by a lock so that one thread at a time runs it.
Data plane
Where the real data is stored and moved.The data plane is where the real data moves (storage, Spark, the warehouse). The control plane is the layer that only sends commands and receives status. The orchestrator is a control plane.
Dead time
Total delay between a real state change and the effect of a controller's response to it.
Dead-letter queue (DLQ)
A holding area for records rejected by validation.A place where a pipeline puts records it could not process or did not accept, so they are kept instead of lost.
Deadline propagation
Passing the remaining time budget of a request down the call chain so each hop can drop expired work.
Deadlock
A group of waiters in a cycle, each holding what another needs, so none progress.
Debt window
The gap between peak write absorption (buffer size) and sustained throughput (bandwidth over write amplification).
Decorrelated jitter
A backoff method where each delay is random and based on the previous delay, so clients do not stay synchronized.
Deferred work
Work postponed to a later phase (collection, compaction, catch-up) that must use the same resource as foreground work.
Delay (in a loop)
The time between a change in system state and the reaction to it; long delay makes control unstable.
Differential observability
Different observers (health checker, client, peers) see different health for the same component.
Discard at dequeue
Checking a request's deadline when it leaves the queue and dropping it at no cost if it has expired.
Efficiency opposes independence
Sharing, standardizing and automating make components fail together.
Eviction cap (fail open)
A limit on how many nodes a health checker may remove; beyond it, nobody is removed and a human is paged.
Fail-slow
A component that keeps working but very slowly; harder to detect than one that stops.
Fail-stop
A component that either works correctly or stops and is clearly dead.
Failure detector
A mechanism that decides whether a component has failed, usually from timeouts; it cannot be perfectly correct in an asynchronous system.Any piece of software that decides "that machine is dead". Since a machine cannot announce its own death, every detector works by waiting for a heartbeat or reply that does not come. So every detector is a timeout in disguise.
Feedback
When a process's output influences its own input. Negative feedback opposes change and stabilises (a thermostat); positive feedback reinforces it and runs away (a microphone near its own loudspeaker).A feedback loop exists when the output of a process influences its own input. A thermostat is the classic example: the room temperature turns the heater on or off, and the heater changes the room temperature. In negative feedback the correction opposes the change (the thermostat). In positive feedback the change reinforces itself (a microphone near its own loudspeaker squeals louder and louder).
Fencing
A mechanism (such as a token number) that makes a stale or old leader unable to write after a failover.
FIFO / LIFO
First in, first out and last in, first out queue orders.
Gain
The ratio of extra output to input in a loop; how many extra requests each request causes.
Garbage collection (GC)
Runtime component that finds unreachable objects and reclaims their memory.In Java, Go, C# and similar languages you never call free. A background component, the garbage collector, finds objects that nothing refers to any more and reclaims their memory. A tracing collector does this by starting from known roots (variables) and following every reference to mark the objects that are still live. The live set is the total size of all live objects. A generational collector splits the heap into a young generation (new objects, collected often and cheaply) and an old generation (objects that survived several collections). Pauses are moments when the program is stopped so the collector can work.
Generational GC
A collector that treats young objects separately, relying on most objects dying young.
Goodput
Completed work whose result is still wanted.Throughput is work completed per second. Goodput is work completed per second whose result is still wanted. If a client has already given up (timed out), finishing its request adds throughput but no goodput.
Goodput vs throughput
Throughput counts all work done; goodput counts only work that someone still wanted.
Gray failure
A partial failure that a component's own health check does not see but that clients experience.
Half-open state
Breaker state where a few probe requests test whether the callee recovered.
Hard vs soft dependency
A hard dependency must work for the request to succeed; a soft one has a fallback or can be skipped.
Head-of-line blocking
An item at the front of a queue blocking all items behind it.
Headroom
Spare capacity held to absorb growth during the autoscaling loop delay (ramp rate × delay).
Hedged request
Sending a duplicate request after a delay and using the first answer, to reduce the effect of random slow responses.
Hot key
A key with far more rows than average.One key that receives far more traffic than others (a famous artist's tickets, one celebrity's profile). Traffic to keys is often Zipf-distributed: a few keys take most of the load.
Hysteresis
Behavior that depends on history: the threshold to enter a state differs from the threshold to leave it.A system whose behavior depends on its recent past, so it does not flip back and forth at a single threshold. A thermostat that turns on at 19 °C and off at 21 °C has a 2-degree hysteresis band. It avoids flapping, at the price of a wider swing.
Independence
Two events are independent if one happening tells you nothing about the other. Most reliability arithmetic assumes that failures are independent. This mechanism shows how often that assumption is false.
Jitter
Randomness added to waiting times to avoid synchronized clients.
k (degraded-mode amplification)
Work done per unit of useful demand when the system is in the degraded state.
Latency
Time one operation takes from request to response.Throughput is work finished per second. Latency is how long one operation takes. Little's Law links them to the number of operations in progress: L = λ × W, where λ is the arrival rate (per second), W is the average time one operation spends in the system, and L is how many are inside the system at the same time. Example: 1,000 requests per second, each taking 20 ms (0.02 s), means 1,000 × 0.02 = 20 requests in flight at any moment. This is an identity, not a design choice.
Leverage 1/(1-h)
How strongly a cache hit rate h protects the backend: miss traffic is 1 - h, so a drop in h multiplies backend load.
Little's Law
L = λW: average items in a system = arrival rate × average time in the system.Throughput is work finished per second. Latency is how long one operation takes. Little's Law links them to the number of operations in progress: L = λ × W, where λ is the arrival rate (per second), W is the average time one operation spends in the system, and L is how many are inside the system at the same time. Example: 1,000 requests per second, each taking 20 ms (0.02 s), means 1,000 × 0.02 = 20 requests in flight at any moment. This is an identity, not a design choice.
Live set
Total size of the objects that are still reachable; determines tracing GC cost.
Livelock
Threads constantly change state in response to each other and make no progress.
Load
How much work arrives per second, written λ (the arrival rate). Divided by capacity it gives utilization ρ, the share of capacity in use.Load is how much work arrives per second, written λ (lambda, "arrival rate"). Capacity is how much work the system can finish per second, written C (or μ, "mu", for one server). Utilization is the fraction of capacity in use, ρ = λ / C (rho). At ρ = 0.5 the system is half busy.
Load shedding
Deliberately dropping work already accepted to keep the rest healthy.
Lock-free structure
A data structure that lets threads make progress without holding a lock.
Loop
A chain in which a system's output affects its own input.
LSM-tree
Log-structured merge tree: buffer writes in memory, flush sorted runs, merge in the background.An LSM-tree (Log-Structured Merge tree) is a storage structure that never changes files in place. It collects writes in memory, writes them as sorted, immutable files, and later compacts (merges and rewrites) the files in the background to remove old versions and deleted entries. A tombstone is a marker that says "this key was deleted"; compaction removes the key and the marker. Compaction costs disk and CPU. Write amplification is the ratio of bytes the storage actually writes to bytes the application asked to write. A Bloom filter is a small structure that answers "definitely not in this file" or "maybe in this file", so reads can skip most files.
Masking
Hiding a failure by retries, correction or fallback; it moves the failure into a channel with no counter.1 other meaning →
Memtable
The in-memory write buffer of an LSM-tree.
Multiplexing
Carrying many independent streams over one connection.1 other meaning →
Off-heap memory
Memory outside the managed heap, invisible to the garbage collector, managed explicitly.
Peer-relative comparison
Judging a node by comparing it with the others in a homogeneous group instead of with a fixed threshold.
Percentile (p50, p99, p99.9)
The value below which that fraction of observations fall.p50 is the median latency, p99 is the latency that 99% of requests beat. The slowest requests are the tail. When one request needs answers from many servers (a fan-out) it must wait for the slowest one. With 100 servers that each have a 1% chance of being slow, the chance that at least one is slow is 1 − 0.99¹⁰⁰ = 63%. So the user-facing tail is much worse than any single server's tail.
phi-accrual detector
A failure detector that outputs a suspicion level from observed heartbeat timing instead of a yes or no.
Poison pill
A record that fails deterministically on every retry and can block an ordered partition.
Poisson arrivals
A model of independent random arrivals at a constant average rate.
Power-of-two-choices
Pick two servers at random and send to the less loaded; avoids herding.
Premature promotion
Moving objects to the old generation too early because their request was still in flight.
Priority ceiling
A lock carries the highest priority of any task that may take it, and the holder runs at that priority.
Priority inheritance
A lock holder temporarily takes the priority of the highest-priority waiter.
Priority inversion
A high-priority task effectively runs at lower priority because it waits for a resource held by a lower one.
Queue
A line of work waiting for its turn, like people waiting at a bank counter. A scheduler is the part of a system that decides who is served next.1 other meaning →
QUIC
A transport protocol that makes streams independent, used by HTTP/3.
Repellor
A state the system moves away from, so it does not stay there (an unstable point between two stable states).
Replay storm
Overload caused by reprocessing a backlog at full speed after an outage.
Retry
If an ack does not arrive within some time, the sender gives up waiting (a timeout) and often sends again (a retry). Retrying is useful, but it can create duplicates, as you will see.
Retry amplification
The multiplication of load by retries: (1 + r)^d for r retries over d tiers.
Retry budget
A limit that allows retries only up to a fraction of recent successful requests.
RUM trade-off
Read, update and memory amplification: improving one worsens another.
Salting
Adding a random suffix to a hot key so it splits into k sub-keys.
Shared fate
Components that fail together because they share a resource, code, configuration or deploy path.
Shuffle sharding
Assigning each tenant a random subset of k nodes out of n so that few tenants share the same subset.
Slow-start / progressive readmission
Raising admitted traffic in steps as a restarted component warms up.
Starvation
One class of work is never served while the system is otherwise busy.
Static stability
The ability of the data plane to keep working with last known state when the control plane fails.
Straggler
A task much slower than its peers.
Tail (a log)
The slowest requests, such as those above p99.p50 is the median latency, p99 is the latency that 99% of requests beat. The slowest requests are the tail. When one request needs answers from many servers (a fan-out) it must wait for the slowest one. With 100 servers that each have a 1% chance of being slow, the chance that at least one is slow is 1 − 0.99¹⁰⁰ = 63%. So the user-facing tail is much worse than any single server's tail.
The queueing wall
The sharp rise of response time as utilization approaches 1: R ≈ S / (1 − ρ) gives 2S at ρ = 0.5, 10S at 0.9 and 100S at 0.99. It grows slowly, then very fast.A single server with random arrivals has average response time roughly R = S / (1 − ρ), where S is the service time with no waiting. At ρ = 0.5, R = 2S. At ρ = 0.9, R = 10S. At ρ = 0.99, R = 100S. Response time does not grow in a straight line. It grows slowly and then very fast as ρ approaches 1. This is the queueing nonlinearity.
Throughput
Work completed per unit of time.Throughput is work finished per second. Latency is how long one operation takes. Little's Law links them to the number of operations in progress: L = λ × W, where λ is the arrival rate (per second), W is the average time one operation spends in the system, and L is how many are inside the system at the same time. Example: 1,000 requests per second, each taking 20 ms (0.02 s), means 1,000 × 0.02 = 20 requests in flight at any moment. This is an identity, not a design choice.
Thundering herd
Many clients acting at the same time, such as retrying or refreshing together.
Tied request
Requests enqueued at two replicas, each cancelling the other when it starts.
Timeout
The maximum time a caller waits before giving up.A timeout is the longest a caller waits for a reply before giving up. A retry is sending the same request again after a failure or timeout. Retries help when the failure was a rare accident. They add load when the failure is caused by overload.
Token bucket
A limiter that adds tokens at rate R up to capacity C; allows bursts up to C.
Trigger vs sustaining effect
The trigger starts an incident; the sustaining effect keeps it going after the trigger is gone.
USL beta (retrograde)
The coherency term of the Universal Scalability Law; when it is positive, throughput falls past a peak load.
Utilization (ρ)
The fraction of time a resource is busy.Utilization (ρ, "rho") is the fraction of time a server is busy. For random arrivals, average response time grows like S ÷ (1 − ρ), where S is the service time: 2×S at 50%, 5×S at 80%, 10×S at 90%, 100×S at 99%. Queues are caused by variability meeting load, and the curve has a wall at 100%. The last few percent of utilization cost more than the first eighty.
Warm pool
Pre-started spare instances that reduce provisioning delay.
Write amplification
Bytes written per byte of user data.If you write 1 MB of data and the system physically writes 10 MB (because of rewriting and merging), the write amplification is 10.
Write stall
A deliberate halt of writes when compaction debt crosses a threshold.
Zipf distribution
A distribution where the r-th most common value has frequency about 1/r of the top one.In many workloads a few items are requested very often and most items are requested rarely. Zipf's law says the item of popularity rank i (rank 1 is the most popular) is requested with frequency proportional to i^(−α). The number α (alpha) is the popularity exponent. A larger α means a steeper concentration on the top items.