Per-Object Causal Consistency PO-Causal
Per-object (per-key) causal consistency: causal consistency restricted to a per-object happens-before order hbo = ((so ∩ ob) ∪ vis)+, as described by Burckhardt, Gotsman, Yang & Zawirski (POPL 2014) and Viotti & Vukolić (ACM Computing Surveys 2016, §3.9). In Burckhardt's framework it is eventual consistency (EVENTUAL+THINAIR) plus the per-object ordering axioms POCV/POCA, whereas (cross-object) causal consistency additionally imposes the stronger COCV/COCA. Hence it sits strictly between eventual consistency (weaker) and causal consistency (stronger).
Properties
Property vector author-extrapolated — set only where the model’s definition pins the cell down (unknown cells are omitted); cells citing a specific source are marked.
- Reasoning guarantees
- no Coherence
- Atomicity guarantees
- no Multicopy atomic
Ordering relationships
- Strictly weaker than
- Causal Consistency — Burckhardt, Gotsman, Yang & Zawirski, POPL 2014, §7: (cross-object) causal consistency imposes the ordering axioms COCV/COCA, while per-object causal consistency imposes only the weaker per-object axioms POCV/POCA over the per-object happens-before order (Viotti & Vukolić 2016, §3.9). COCV/COCA disallow strictly more anomalies, so cross-object causal consistency is strictly stronger than per-object causal consistency.
- Strictly stronger than
- Eventual Consistency (basic) (EC) — Burckhardt, Gotsman, Yang & Zawirski, POPL 2014, §7: an execution is per-object causally consistent iff it is eventually consistent (EVENTUAL+THINAIR) AND satisfies the per-object ordering axioms POCV/POCA. Adding those axioms disallows strictly more anomalies (e.g. Fig. 14(b), §3.1), so eventual consistency is strictly weaker than per-object causal consistency.
References
- Sebastian Burckhardt, Alexey Gotsman, Hongseok Yang, Marek Zawirski. Replicated Data Types: Specification, Verification, Optimality. POPL 2014, 2014. doi:10.1145/2535838.2535848
- Paolo Viotti, Marko Vukolić. Consistency in Non-Transactional Distributed Storage Systems. ACM Computing Surveys 49(1), 2016. doi:10.1145/2926965