The governing arithmetic: three results
Why is the latency floor a conservation law?
Earlier topics had one formula that kept returning. This mechanism has three results that do the same work.
Result 1: the latency floor is a conservation law
For sequential consistency, a read and a write together cost at least the one-way delay between copies:
- the one-way delay between the two nodes
- the time a read takes and the time a write takes
- the spread between the smallest and largest possible delay, d_max − d_min
Data table
| Read latency r | Minimum write latency w |
|---|---|
| 0 µs | 80 ms |
| 1 ms | 79 ms |
| 2 ms | 78 ms |
| 3 ms | 77 ms |
| 4 ms | 76 ms |
| 5 ms | 75 ms |
| 6 ms | 74 ms |
| 7 ms | 73 ms |
| 8 ms | 72 ms |
| 9 ms | 71 ms |
| 10 ms | 70 ms |
| 11 ms | 69 ms |
| 12 ms | 68 ms |
| 13 ms | 67 ms |
| 14 ms | 66 ms |
| 15 ms | 65 ms |
| 16 ms | 64 ms |
| 17 ms | 63 ms |
| 18 ms | 62 ms |
| 19 ms | 61 ms |
| 20 ms | 60 ms |
| 21 ms | 59 ms |
| 22 ms | 58 ms |
| 23 ms | 57 ms |
| 24 ms | 56 ms |
| 25 ms | 55 ms |
| 26 ms | 54 ms |
| 27 ms | 53 ms |
| 28 ms | 52 ms |
| 29 ms | 51 ms |
| 30 ms | 50 ms |
| 31 ms | 49 ms |
| 32 ms | 48 ms |
| 33 ms | 47 ms |
| 34 ms | 46 ms |
| 35 ms | 45 ms |
| 36 ms | 44 ms |
| 37 ms | 43 ms |
| 38 ms | 42 ms |
| 39 ms | 41 ms |
| 40 ms | 40 ms |
| 41 ms | 39 ms |
| 42 ms | 38 ms |
| 43 ms | 37 ms |
| 44 ms | 36 ms |
| 45 ms | 35 ms |
| 46 ms | 34 ms |
| 47 ms | 33 ms |
| 48 ms | 32 ms |
| 49 ms | 31 ms |
| 50 ms | 30 ms |
| 51 ms | 29 ms |
| 52 ms | 28 ms |
| 53 ms | 27 ms |
| 54 ms | 26 ms |
| 55 ms | 25 ms |
| 56 ms | 24 ms |
| 57 ms | 23 ms |
| 58 ms | 22 ms |
| 59 ms | 21 ms |
| 60 ms | 20 ms |
| 61 ms | 19 ms |
| 62 ms | 18 ms |
| 63 ms | 17 ms |
| 64 ms | 16 ms |
| 65 ms | 15 ms |
| 66 ms | 14 ms |
| 67 ms | 13 ms |
| 68 ms | 12 ms |
| 69 ms | 11 ms |
| 70 ms | 10 ms |
| 71 ms | 9 ms |
| 72 ms | 8 ms |
| 73 ms | 7 ms |
| 74 ms | 6 ms |
| 75 ms | 5 ms |
| 76 ms | 4 ms |
| 77 ms | 3 ms |
| 78 ms | 2 ms |
| 79 ms | 1 ms |
| 80 ms | 0 µs |
You may make reads local, or writes local, never both. For linearizability the bound is set by the uncertainty in that delay, not the delay itself: you pay for not knowing the distance. The latency floor derives both bounds and the four products built on them.
Result 2: the anomaly rate is Little's Law again
- inconsistencies in flight
- — average number of items inside the system (the concurrency)
- λ_conflicting (operations that can conflict)
- — arrival rate (items per second)
- W (lag, snapshot age, TTL)
- — average time an item stays in the system (residence time, including waiting)
λ_conflicting is the rate of operations that can conflict. W is the window in which a conflict can happen: replication lag, snapshot age, cache TTL (time to live), or the gap between a read and the write that depends on it.
Two consequences. First, an anomaly rate that you cannot reproduce in a test is the product of two numbers you can measure. Second, the window is almost always the cheaper number to attack: shrink W.
Result 3: composability decides architecture
Composable means: if parts each satisfy the property, the whole built from them satisfies it too, with no extra coordination.
- Linearizability is local (composable): a system made of linearizable objects is linearizable.
- Serializability is not composable. Two independently serializable systems, put together, are not necessarily serializable.
- Sequential consistency is not composable either.
This one asymmetry explains why linearizability is the model that every distributed building block (locks, registers, configuration stores) is specified against. It also explains why "each of our services is transactional" tells you nothing about the pipeline that chains them. And it explains why session guarantees (Sessions, convergence and quorums) break the moment a request enters a component that does not carry the session information.