RE: JavaMemoryModel: Agreement to disagree: where things stand

From: Sarita Adve (sadve@cs.uiuc.edu)
Date: Mon Jul 28 2003 - 14:24:40 EDT


Before any decisions are made based on "intuitiveness:"

I have a request pending with Bill to send us the *full* intuitive model.
The version I have seen so far isn't good enough -

The version so far from a previous message from Bill:
        We have now moved to a very simple semantics: consistency and
causality.

        1) Consistency requires that behavior is consistent with both
intra-thread
                    semantics and the write visibility enforced by the
happens-before ordering.

        2) Causality means that an action cannot cause itself to happen. In
other
                    words, it must be possible to explain how a execution
occurred, without
                    there existing an action x requiring that x be assumed to
occur in order to
                    show that x did occur.

        That's it for the core model (excluding stuff like final fields,
etc).

One problem with this version is that it does not cover the prohibited reads
material in the model. Without that, the intuition is incomplete. The
example in the CnC document that motivates prohibited reads shows that
causality isn't always respected in the model, and so it is incorrect to
have programmers use the above intuition. There is also a problem with the
way causality is defined above and the way it is used in the model, but I
should wait until the next revision of the above to comment on that.

Also, I will summarize my intuition in a bit for those who do not have the
time to go through the document.

Sarita

> -----Original Message-----
> From: owner-javamemorymodel@cs.umd.edu
> [mailto:owner-javamemorymodel@cs.umd.edu] On Behalf Of Joshua Bloch
> Sent: Monday, July 28, 2003 12:24 PM
> To: javamemorymodel@cs.umd.edu
> Subject: Re: JavaMemoryModel: Agreement to disagree: where
> things stand
>
>
> Bill,
>
> I prefer the stronger model because it's more intuitive, yet weak
> enough to permit reasonable compiler optimization.
>
> Josh
>
>
> -------------------------------
> JavaMemoryModel mailing list -
> http://www.cs.umd.edu/~pugh/java/memoryModel
>

-------------------------------
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel



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