Keeping CALM: When Distributed Consistency is Easy

01/07/2019
by   Joseph M. Hellerstein, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/16/2021

BuDDI: A Declarative Bloom Language for CALM Programming

Coordination protocols help programmers of distributed systems reason ab...
research
10/23/2022

Keep CALM and CRDT On

Despite decades of research and practical experience, developers have fe...
research
01/21/2023

Consistency vs. Availability in Distributed Real-Time Systems

In distributed applications, Brewer's CAP theorem tells us that when net...
research
09/16/2021

Quantifying and Generalizing the CAP Theorem

In distributed applications, Brewer's CAP theorem tells us that when net...
research
01/04/2021

New Directions in Cloud Programming

Nearly twenty years after the launch of AWS, it remains difficult for mo...
research
01/09/2018

A detailed treatment of Doob's theorem

Doob's theorem provides guarantees of consistent estimation and posterio...
research
09/18/2019

BigData Applications from Graph Analytics to Machine Learning by Aggregates in Recursion

In the past, the semantic issues raised by the non-monotonic nature of a...

Please sign up or login with your details

Forgot password? Click here to reset