A replicated register is linearizable iff every operation can be placed on a single global timeline such that:
Real-time order respected
If op A’s response is observed before op B’s invocation, then A → B on that timeline.
Single-copy illusion
Reads return the value of the latest preceding write on that timeline.
Think of a debugger that single-steps through a distributed execution.
You must be able to insert a vertical tick mark for each op so that the ticks never run backwards.
matchIndex
≥ majority).Let u
= worst-case uncertainty of one-way network delay.
Any algorithm that gives linearizable reads or writes must sometimes stall for ≥ u
.
If the WAN’s 99-th percentile RTT = 600 ms, strong reads cannot always be faster than that.