JavaMemoryModel: Results of discussions with Sarita

From: Bill Pugh (pugh@cs.umd.edu)
Date: Fri Aug 01 2003 - 15:06:59 EDT


Sarita, Jeremy and I have been talking about a number of issues.
I'm going to follow up with detailed messages on each of these, but I
just wanted to give you a quick overview.

* I've put up a web page with causality examples:
          http://www.cs.umd.edu/~pugh/java/memoryModel/CausalityTestCases.html
   these consist of the original 5, Sarita's example (#6), plus 4 new
   test cases, one of which I believe should be forbidden (#10).

* Sarita's SC-2 model actually does allow the behavior in question in test 5;
   previously we had thought that SC-2 prohibited the behavior in test 5.

* Sarita's SC-3 model forbids the behavior in a new test case, new causality
   test case #7. Simple compiler transformations allow this behavior, so we have
   to allow it.

* Sarita has agreed with us that reasoning over an SC ordering doesn't
   seem to work, and that reasoning over a causal order seems to be the way to
   go. Sarita says she can understand the Manson/Pugh document released last
   night, and would like to propose a variation of it. This variation
   simplifies the model, and weakens the model to allow the behavior in test
   cases 5 and 10, but still forbids the behavior in test case 4.

* A key issue for the JMM expert group and community to think about
   is whether we want to allow or forbid the behavior in test cases 5 and 10.
   Forbidding test cases 5 and 10 would forbid certain optimistic
transformations
   that might be possible in future architectures, or other transformations
   we are unaware of.

More on bullets 2-5 in following emails.

Sarita, please correct me if I've misstated any of your thoughts.

        Bill

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



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