Keep CALM and CRDT On
Shadaj Laddad, Conor Power, Mae Milano, Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein
Abstract
Despite decades of research and practical experience, developers have few tools for programming reliable distributed applications without resorting to expensive coordination techniques. Conflictfree replicated datatypes (CRDTs) are a promising line of work that enable coordination-free replication and offer certain eventual consistency guarantees in a relatively simple object-oriented API. Yet CRDT guarantees extend only to data updates; observations of CRDT state are unconstrained and unsafe. We propose an agenda that embraces the simplicity of CRDTs, but provides richer, more uniform guarantees. We extend CRDTs with a query model that reasons about which queries are safe without coordination by applying monotonicity results from the CALM Theorem, and lay out a larger agenda for developing CRDT data stores that let developers safely and efficiently interact with replicated application state. State-Based CRDTs We begin by reviewing the definition of state-based CRDTs. CvRDTs encapsulate the current ๐ ๐ก๐๐ก๐ of the replica; let the type of ๐ ๐ก๐๐ก๐ be called ๐ . The API for state-based CRDTs contains three classes of methods, all of which run locally on a single replica's state: Merge: merge is a single, required method that takes a value ๐ฃ of type ๐ as input. It combines ๐ ๐ก๐๐ก๐ with ๐ฃ to generate a value ๐ ๐ก๐๐ก๐ โฒ of type ๐ , and updates itself so that ๐ ๐ก๐๐ก๐ = ๐ ๐ก๐๐ก๐ โฒ . Constraint: the merge function must be ACI. Operations: these are methods that clients use to modify ๐ ๐ก๐๐ก๐. Constraint: operations must be monotonic with respect to the type ๐ . Queries: these are methods that do not modify ๐ ๐ก๐๐ก๐, but return a result that may be dependent on ๐ ๐ก๐๐ก๐.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers4
- CRDV: Conflict-free Replicated Data ViewsNuno Faria, Josรฉ PereiraSIGMOD 2025 ยท 3 citations
- PRDTs: Composable Design and Verification of Consensus Protocols using Replicated Data TypesJulian Haas, Ragnar Mogk, Annette Bieniusa, Mira MeziniOOPSLA 2026 ยท 1 citation
- Functional Meaning for Parallel StreamingNick Rioux, Steve ZdancewicPLDI 2025 ยท 1 citation
- Arbitration-Free Consistency Is Available (and Vice Versa)Hagit Attiya, Constantin Enea, Enrique Romรกn-CalvoPOPL 2026
Builds on5
- Katara: synthesizing CRDTs with verified liftingShadaj Laddad, Conor Power, Mae Milano, Alvin Cheung et al.OOPSLA 2022 ยท 24 citations
- FlightTracker: Consistency across Read-Optimized Online Stores at FacebookXiao Shi, Scott Pruett, Kevin Doherty, Jinyu Han et al.OSDI 2020 ยท 23 citations
- ECROs: building global scale systems from sequential codeKevin De Porre, Carla Ferreira, Nuno M. Preguiรงa, Elisa Gonzalez BoixOOPSLA 2021 ยท 15 citations
- DSON: JSON CRDT Using Delta-Mutations For Document StoresArik Rinberg, Tomer Solomon, Roee Shlomo, Guy Khazma et al.VLDB 2022 ยท 6 citations
- Cloudburst: Stateful Functions-as-a-ServiceVikram Sreekanti, Chenggang Wu, Xiayue Charles Lin, Johann Schleier-Smith et al.VLDB 2020
Related papers
- Composing CRDTs Convergent by ConstructionAlexander Stรคding Dominguez, George Zakhour, Pascal Weisenburger, Guido SalvaneschiOOPSLA 2026
- Abstraction for conflict-free replicated data typesHongjin Liang, Xinyu FengPLDI 2021 ยท 9 citations
- Type-Checking CRDT ConvergenceGeorge Zakhour, Pascal Weisenburger, Guido SalvaneschiPLDI 2023 ยท 16 citations
- Modular verification of op-based CRDTs in separation logicAbel Nieto, Lรฉon Gondelman, Alban Reynaud, Amin Timany et al.OOPSLA 2022 ยท 16 citations
- Automatically Verifying Replication-Aware LinearizabilityVimala Soundarapandian, Kartik Nagar, Aseem Rastogi, K. C. SivaramakrishnanOOPSLA 2025
