Relaxed Memory Model Zoo

Per-Object Causal Consistency (PO-Causal)
← Back to the map

Per-Object Causal Consistency PO-Causal

2014 · Burckhardt, Gotsman, Yang, Zawirski · theoretical, formal · axiomatic formalism

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