At 09:10 PM 7/01/2004, Sarita Adve wrote:
>At this point, I feel that SC- has distinct advantages over the Manson/Pugh
>(M/P) model. Unfortunately, Bill, Jeremy, and I cannot come to a consensus,
>and so we need your feedback to ensure the right decision is made.
When I look at test case 5 in
I would be more sympathetic to its being forbidden if test case 2 was not
allowed (I'm not suggesting that test case 2 be disalllowed).
If I deliberately code a data race that is in some sense similar to test
case 5, then before I can make use of the fact that the out of thin air
result is forbidden, I have to prove that there is no chain of inferences,
of arbitrary complexity, that allows some reordering that removes the out
of thin air property.
Needless to say, I'm not going to do that, even if I trusted my skills in
this area - I'll simply write the code some other way.
So I'm inclined to agree with Sarita in that M/P is too strong. If I
understand SC-, it at least guarantees that a value will not be stored into
a memory location unless there exists some chain of events, albeit in
different executions, that lead to the value being stored. Somewhere, I
would have to have written code that very clearly created that value.
So there are degrees of out-of-thin-air-ness. M/P provides a stronger
definition of out of thin air, but not one that I as a programmer am going
to be able to make much use of.
On my present understanding of SC-, I would be happy with it, with the
caveat that I remain unconvinced, as indicated in a previous unanswered
posting, that the global total order property for race free executions is
JavaMemoryModel mailing list - http://www.cs.umd.edu/~pugh/java/memoryModel
This archive was generated by hypermail 2b29 : Thu Oct 13 2005 - 07:00:56 EDT