Abstract:We define am axiomatic timeless framework for asynchronous distributed systems, together with well-formedness and consistency axioms, which unifies and generalizes the expressive power of current approaches. 1) It combines classic serialization per-process with a global visibility. 2) It defines a physical realizability well-formedness axiom to prevent physically impossible causality cycles, while allowing possible and useful visibility cycles, to allow synchronization-oriented abstractions. 3) Allows adding time-based constraints, from a logical or physical clock, either partially or totally ordered, in an optional and orthogonal way, while keeping models themselves timeless. 4) It simultaneously generalizes from memory to general abstractions, from sequential to concurrent specifications, either total or partial, and beyond serial executions. 5) Defines basic consistency axioms: monotonic visibility, local visibility, and closed past. These are satisfied by what we call serial consistency, but can be used as building blocks for novel consistency models with histories not explainable by any serial execution. 6) Revisits classic pipelined and causal consistency, revealing weaknesses in previous axiomatic models for PRAM and causal memory. 7) Introduces convergence and arbitration as safety properties for consistency models, departing from the use of eventual consistency, which conflates safety and liveness. 8) Formulates and proves the CLAM theorem for asynchronous distributed systems: any wait-free implementation of practically all data abstractions cannot simultaneously satisfy Closed past, Local visibility, Arbitration, and Monotonic visibility. While technically incomparable, the CLAM theorem is practically stronger than the CAP theorem, as it allows reasoning about the design space and possible tradeoffs in highly available partition tolerant systems.
What problem does this paper attempt to address?
This paper attempts to solve several key problems in consistency models in distributed systems, especially how to define and unify different consistency models in asynchronous distributed systems. Specifically, the paper mainly focuses on the following issues:
1. **Limitations of classical consistency models**: Classical consistency models (such as PRAM, causal memory, etc.) can usually only explain specific types of historical records, and in many cases rely on the concept of serial execution. However, many useful abstractions (such as some CRDTs) do not have sequential specifications or cannot be explained by serial execution.
2. **Physically impossible causal loops**: Some classical models allow physically impossible causal loops in historical records (for example, results explained by circular reasoning). This leads to unreasonable execution histories.
3. **Insufficient support for synchronization - oriented abstractions**: Existing frameworks cannot describe synchronization - oriented abstractions with partial concurrency specifications (such as barriers or consensus objects) because they prohibit all loops.
4. **Processing of time information**: Most models are timeless and therefore cannot handle time - order information between operations. However, distributed systems in reality often need to consider time constraints.
5. **Safety properties of convergence and arbitration**: The existing classification systems lack the treatment of convergence and arbitration as safety properties, which are crucial for ensuring system consistency.
### Main contributions of the paper
To solve the above problems, the paper proposes a unified framework and axiomatic system, aiming to solve multiple related aspects simultaneously. The following are the main contributions of the paper:
- **New framework and axiomatic system**: A new, abstract (independent of implementation details), timeless consistency model framework is introduced. This framework combines the global visibility relationship and serialization of each process to avoid symbol clutter and allow for the elegant expression of constraints.
- **Relationship between time and consistency models**: The role of time (physical time, message - passing time, and semantic "happens - before") is clarified, and it is shown how to prune candidate visibility relationships through the knowledge of logical or physical clocks to define time - valid executions.
- **Axiom of physical realizability**: An axiom of physical realizability is proposed, based on the physical - time priority between operations in the same process. This axiom solves the problems of circular reasoning and results appearing out of thin air in classical models.
- **Dimensions of expressiveness**: The framework generalizes representable consistency models in three dimensions: from read / write registers to general abstractions; allowing sequential and concurrent specifications; allowing the description of final executions or models involving (conceptually) re - execution.
- **Consistency axioms**: Three basic consistency axioms (monotonic visibility, local visibility, and closed past) are defined, and serial consistency is introduced, which is stronger than the combination of these three axioms and can explain classical serial executions.
- **Pipeline and causal consistency**: Pipeline consistency and causal consistency are correctly defined, problems in the original definitions are corrected, and they are generalized to arbitrary data types.
- **Convergence and arbitration as safety properties**: Convergence and arbitration are introduced as safety properties into the framework, allowing them to be orthogonally combined with other constraints.
- **New trilemma**: The CLAM theorem is proposed, indicating that in a highly available partition - tolerant distributed system, it is impossible to provide closed past, local visibility, arbitration, and monotonic visibility simultaneously. This leads to a new trilemma (CAL), that is, one of the properties must be given up.
- **Classification system**: A main consistency model classification system using the new framework and newly introduced axioms is proposed, showing methods for comparing different models.
### Conclusion
In general, through in - depth research on consistency models in distributed systems, this paper proposes a more general and powerful framework and axiomatic system, solves the limitations of existing models, and provides new tools and perspectives for future research.