Re: JavaMemoryModel: A major problem with CnC

From: Yue Yang (
Date: Thu Jul 31 2003 - 00:25:01 EDT

Maybe "causal loop free" is a better term since this is a requirement as
oppose to a consistency model?

- Yue

On Wed, 30 Jul 2003, Yue Yang wrote:

> I echo with earlier suggestion that we should stop using the term
> "causality", "causal order", "causal consistency", "causal memory" etc for
> the CnC model. Because this will only unnecessarily confuse more people,
> especially those who just joined in.
> The term "causal" has been well defined in the paper "Causal Memory:
> Definitionis, Implementation and Programming" by Ahamad, Neiger, Burns,
> Kohli, and Hutto. These terms have been widely adopted in memory model
> literatures. One of the key requirement there is that a happens-before
> edge (what they call the "write-into order") would be established between
> a write and the read it feeds. Then for each thread, there must be a
> total order following the transitive closure of "write-into" order and
> program order among all operations from that thread and all write
> operations from all other threads. In CnC, there's no such
> "write-into" ordering edges. There's also no per-thread total order
> requirement.
> The "causal" part of CnC, as I gather, is to prevent the "causal loop"
> effect, which produces some value "out of thin air" via the interaction of
> local variables, branch conditions, and the shared memory. This is a new
> challenge for JMM because previous models either don't consider branches
> and local variables, or they are strong enough such that this phenomenon
> didn't show up.
> So I suggest we can call this "causal loop consistency".
> - Yue
> -------------------------------
> JavaMemoryModel mailing list -

JavaMemoryModel mailing list -

This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:49 EDT