Hellerstein & Alvaro
PODS
CAP
Confluence
CRDT
Google
Facebook
Anna
Pat Helland
Monotonic
Akismet
Bloom
‘Building
NoCo
Brooks’
No matching tags
It’s the same for a “For all…” question ( ).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): Consistency as Logical Monotonicity (CALM). A program has a consistent, coordination-free distributed implementation if and only if it is monotonic. We can now refine our original question to this: “What is the family of problems that can be computed in a monotonic fashion, and what problems lie outside that family?” So far we’ve been talking about CALM, consistency, and coordination. 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. CALM shows that monotonicity, a property of a program, implies consistency, a property of the output of any execution of that program. The inverse is also established: non-monotonic programs require runtime enforcement (coordination) to ensure consistent execution.
As said here by