Keep CALM and CRDT On
Shadaj Laddad, Conor Power, Mae Milano, Alvin Cheung, Natacha Crooks, Joseph M. Hellerstein
摘要
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 𝑠𝑡𝑎𝑡𝑒.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper4
- CRDV: Conflict-free Replicated Data ViewsNuno Faria, José PereiraSIGMOD 2025 · 被引用 3 次
- PRDTs: Composable Design and Verification of Consensus Protocols using Replicated Data TypesJulian Haas, Ragnar Mogk, Annette Bieniusa, Mira MeziniOOPSLA 2026 · 被引用 1 次
- Functional Meaning for Parallel StreamingNick Rioux, Steve ZdancewicPLDI 2025 · 被引用 1 次
- Arbitration-Free Consistency Is Available (and Vice Versa)Hagit Attiya, Constantin Enea, Enrique Román-CalvoPOPL 2026
它引用的顶会 Paper5
- Katara: synthesizing CRDTs with verified liftingShadaj Laddad, Conor Power, Mae Milano, Alvin Cheung 等OOPSLA 2022 · 被引用 24 次
- FlightTracker: Consistency across Read-Optimized Online Stores at FacebookXiao Shi, Scott Pruett, Kevin Doherty, Jinyu Han 等OSDI 2020 · 被引用 23 次
- ECROs: building global scale systems from sequential codeKevin De Porre, Carla Ferreira, Nuno M. Preguiça, Elisa Gonzalez BoixOOPSLA 2021 · 被引用 15 次
- DSON: JSON CRDT Using Delta-Mutations For Document StoresArik Rinberg, Tomer Solomon, Roee Shlomo, Guy Khazma 等VLDB 2022 · 被引用 6 次
- Cloudburst: Stateful Functions-as-a-ServiceVikram Sreekanti, Chenggang Wu, Xiayue Charles Lin, Johann Schleier-Smith 等VLDB 2020
相关 Paper
- 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 次
- Type-Checking CRDT ConvergenceGeorge Zakhour, Pascal Weisenburger, Guido SalvaneschiPLDI 2023 · 被引用 16 次
- Modular verification of op-based CRDTs in separation logicAbel Nieto, Léon Gondelman, Alban Reynaud, Amin Timany 等OOPSLA 2022 · 被引用 16 次
- Automatically Verifying Replication-Aware LinearizabilityVimala Soundarapandian, Kartik Nagar, Aseem Rastogi, K. C. SivaramakrishnanOOPSLA 2025
