One of the more innovative and important results in my work is an idea now known as the CALM Theorem. CALM came from a desire to sidestep expensive "coordination" services whenever possible, including database transactions and consensus services (e.g., Paxos, RAFT). This desire came up naturally with web-scale data (e.g., "NoSQL" systems like Dynamo) and geo-distributed cloud computing (e.g., AWS). Unfortunately, when we abandon the familiar foundations of coordination, we risk unpredictable behavior if nodes make decisions based on stale or inconsistent data.
In this note I explain the CALM Theorem and reflect on why I think it's both important and a good example of the principle to Invent and Simplify.
Let's begin with terminology. CALM is an acronym: Consistency As Logical Monotonicity. That is a mouthful for sure, so we'll break it down.