JavaMemoryModel: Trip report from Sun East

From: Bill Pugh (pugh@cs.umd.edu)
Date: Fri Jul 09 1999 - 11:01:55 EDT


I just got back from a 2 day trip to Sun East. A quick trip report:

I sat down with Guy Steele and went problems with the existing memory
model; in particular my claim that the JMM is stronger than
Coherence. Guy didn't find
any problems with my analysis, agrees that the current JMM has a
serious flaw, didn't see anyway to fix it, and didn't think he could
be confident in any patched version of the current JMM (slightly
putting words into Guy's mouth).
No surprises, but I feel more comfortable now that I've gone over the
problems at length with Guy.

So I think we can declare that the existing JMM is dead, and that it
will need to be replaced, not patched. And I can get rid of my slides
that try to explain the existing JMM.

Anybody trying to understand the current JMM or do research based on
it, your work will be of historical interest only.

I talked about the problems with implementing Java under a relaxed
memory model, and about what guarantees we wanted to make. I got the
usual reaction:

    * Some people said "That is going to be impossible to implement efficiently
        on relaxed memory machines. How can you even think of making that
        safety guarantee?"

    * Some people said "Not having that would be like not guaranteeing
        that reads/writes of integers are atomic. How can you even think of
        _not_ making that safety guarantee?"

Another interesting comment is a confirmation of something I've heard
from a number of other people: that all Sparc systems run under TSO
(Total store order); far too much of Sun's software breaks if you use
a more relaxed memory model.

Also see the other note I'm sending out, on why class initialization
safety is hard.

        Bill
-------------------------------
This is the JavaMemoryModel mailing list, managed by Majordomo 1.94.4.

To send a message to the list, email JavaMemoryModel@cs.umd.edu
To send a request to the list, email majordomo@cs.umd.edu and put
your request in the body of the message (use the request "help" for help).
For more information, visit http://www.cs.umd.edu/~pugh/java/memoryModel



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