Labs
Each lab takes under an hour on a laptop and turns a claim from this mechanism into a number you measured yourself.
- 1
A shorter timeout makes a failure detector wrong more often
Measure the false-suspicion rate of a heartbeat detector against its timeout ([The arithmetic worth carrying](/mechanisms/coordination/how-it-works/no-shared-present/the-arithmetic), [Failure detection: liveness is a relation, not an attribute](/mechanisms/co
SimulatePython - 2
Fan-out arithmetic and rebalancing time
Check two formulas from [The arithmetic worth carrying](/mechanisms/coordination/how-it-works/no-shared-present/the-arithmetic) and [State has mass](/mechanisms/coordination/how-it-works/distribution-of-data#the-arithmetic-everything-divides-by) with real numbers.
SimulatePython with NumPy - 3
Why two majorities always intersect, and why a lock with a TTL is not enough
See quorum intersection and a stale lock holder ([Consensus: what it delivers and what it costs](/mechanisms/coordination/how-it-works/deciding-without-observing/consensus) and [Locks, leases and fences: why mutual exclusion is unavailable](/mechanisms/co
Simulate · Break itPython - 4
Fencing tokens versus a paused leader (about 30 minutes)
Claim to test: a lease alone leaks at the boundary, and a fence checked by the resource closes the gap (What coordination forbids, item 3).
Break itPython - 5
Escrow removes coordination
Measure the message count of a global budget with and without escrow ([Coordination avoidance, which is where this article should end](/mechanisms/coordination/how-it-works/deciding-without-observing/coordination-avoidance)).
SimulatePython - 6
Fan-out tail and power-of-two-choices (about 45 minutes)
Claim to test: at N = 100 and per-shard p99, about 63% of requests contain a p99 event, and two random choices beat greedy choice on stale load information (see Scatter-gather and Service discovery).
SimulatePython with NumPy - 7
Hedging: when it helps and when it does not (about 40 minutes)
Claim to test: hedging at p95 turns a 1-in-20 slow tail into about 1-in-400 if slowness is attempt-local, and does nothing if it is request-local (see Hedging).
SimulatePython