DCDBPLSEJan 7, 2019

Keeping CALM: When Distributed Consistency is Easy

arXiv:1901.01930v229 citations
Originality Highly original
AI Analysis

This work addresses the problem of reducing coordination costs while maintaining consistency for developers of distributed applications, offering a foundational theoretical insight rather than an incremental improvement.

The paper introduces the CALM Theorem, which precisely identifies when coordination is required in distributed systems by linking consistent, coordination-free implementations to monotonic logic, providing a theoretical foundation for developers to design such systems.

A key concern in modern distributed systems is to avoid the cost of coordination while maintaining consistent semantics. Until recently, there was no answer to the question of when coordination is actually required. In this paper we present an informal introduction to the CALM Theorem, which answers this question precisely by moving up from traditional storage consistency to consider properties of programs. CALM is an acronym for "consistency as logical monotonicity". The CALM Theorem shows that the programs that have consistent, coordination-free distributed implementations are exactly the programs that can be expressed in monotonic logic. This theoretical result has practical implications for developers of distributed applications. We show how CALM provides a constructive application-level counterpart to conventional "systems" wisdom, such as the apparently negative results of the CAP Theorem. We also discuss ways that monotonic thinking can influence distributed systems design, and how new programming language designs and tools can help developers write consistent, coordination-free code.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes