Summary and key takeaways
The one dial. Stability and changeability are one physical property (Cause 0). Anything that keeps data for years resists being written, so wear, write cost and retention move together.
The seven causes, one sentence each: 0. Retention and ease of writing are the same dial.
- Capacity needs space, space needs time: the memory hierarchy is forced.
- Cheap per bit → shared mechanism → coarse granularity: the root of all amplification.
- Every operation has a fixed cost, so there is a natural batch size, and batching trades latency for throughput.
- Knowing where data is must be paid at write time, at read time, or in space (RUM).
- Data is placed before questions are known, so media that cannot update in place grow immutable storage + indirection + garbage collector.
- Markets, not only physics, decide which technologies survive.
The two rules. Costs are conserved (ask "which axis absorbed it?"). Every medium answers four questions: unit of read/write/reclaim, fixed cost, concurrency needed, in place or not.
Four equations:
| Equation | Meaning | Seen in |
|---|---|---|
| Concurrency = Throughput × Latency (Little's Law) | to reach a throughput you must keep this much in flight | NVMe, memory misses, BDP, thread pools |
| R = S / (1 − ρ) | response time explodes as utilization nears 100% | every queue |
| C(N) = N / (1 + α(N−1) + βN(N−1)) | coordination grows as N² and eventually reduces throughput | false sharing, incast, clusters |
| P(slow) = 1 − (1 − p)^N | fan-out amplifies the tail | scatter-gather queries |
Patterns that repeat:
- Granularity mismatch ⇒ amplification, at every scale from 64 B to 128 MB.
- No in-place update ⇒ indirection + GC (SSD FTL, Iceberg manifests, SMR zones).
- Fixed cost moves into software as hardware gets faster (io_uring, DPDK).
- Variance matters more than volume: predictability matters more than raw work.
- Memory-bound work improves only by moving fewer bytes: columnar, compression, pushdown.
- Systems fail non-linearly: fine, fine, fine, then catastrophic. Averages hide it.