Relaxed Memory Model Zoo

Causal+ (Convergent Causal) Consistency
← Back to the map

Causal+ (Convergent Causal) Consistency

2011 · Lloyd, Freedman, Kaminsky, Andersen · theoretical, formal · axiomatic formalism

Convergent causal consistency, introduced with the COPS wide-area store. It augments causal consistency with strong convergence: replicas that have applied the same set of writes have equivalent state, so concurrent (causally unrelated) conflicting writes are resolved identically at every replica via commutative/associative handler functions. Viotti & Vukolić (ACM Computing Surveys 2016, Eq. 27) express it as Causal+ = Causality ∧ StrongConvergence, i.e. causal+ strengthens causal consistency exactly as strong eventual consistency strengthens eventual consistency, so it is strictly stronger than the causal consistency of that framework — causal convergence (CCv), not causal memory. Incomparable to real-time causal consistency, and to causal memory.

Cat model

Expressible in cat author-extrapolated

Causality plus convergence: convergence is the totality of the per-object arbitration order, which cat's co already provides. (The eventual-delivery assumption it inherits from the replicated setting is, as for EC, outside cat.) Lloyd et al. 2011

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 stronger than
  • Causal Convergence (CCv) — Causal+ = Causality ∧ StrongConvergence (Viotti & Vukolić 2016, Eq. 27; Lloyd et al., COPS, SOSP 2011). V-V's Causality (Eq. 26) is the visibility/arbitration causal consistency that Bouajjani et al. name CCv, so this containment is against CCv. Adding strong convergence disallows strictly more behaviours, so CCv is strictly weaker than causal+. Re-homed from the Causal node, where the same note had been read as a containment against causal memory.
Incomparable with
  • Causal Consistency — Causal+ = CCv ∧ StrongConvergence, and CCv is incomparable to causal memory, so the two are incomparable rather than ordered. This replaces a strictly_weaker edge that read the Viotti-Vukolić containment (Eq. 27) as being against causal memory; it is against CCv. Witnesses, both Bouajjani et al. POPL 2017 Fig. 2: history (2a) is CM but not CCv, hence not causal+; history (2b) is CCv and not CM, and reads each of x, y and z exactly once, so StrongConvergence (V-V Eq. 17, constraining only reads with equal visible-write sets) is vacuous on it — it is causal+ but not CM.
  • Real-Time Causal Consistency (RTCausal) — Causal+ and real-time causal consistency are incomparable (Viotti & Vukolić 2016, §3.5): real-time causality does not imply strong convergence, and causal+ does not impose real-time ordering — each forbids a behaviour the other allows. (V-V correct Lloyd et al.'s original claim that real-time causal is stronger than causal+.)

References

  • Wyatt Lloyd, Michael J. Freedman, Michael Kaminsky, David G. Andersen. Don't Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS. SOSP 2011, 2011. doi:10.1145/2043556.2043593
  • Paolo Viotti, Marko Vukolić. Consistency in Non-Transactional Distributed Storage Systems. ACM Computing Surveys 49(1), 2016. doi:10.1145/2926965