Keeping CALM: when distributed consistency is easy
With exactly the same graph, and exactly the same edge discovery algorithm, if we’d been interested in the property of reachability rather than unreachability, then that would have been monotonic. It’s time to meet the CALM Theorem (Consistency as Logical Monotonicity):
The CALM theorem delineates the frontier between the possible (that’s the ‘if’ part) and the impossible (the ‘only if’ part). Going further, the Bloom language was explicitly designed to support CALM application development:
If you can’t find a monotonic implementation for every feature of an application, one good strategy is keep coordination off the critical path.