RE: JavaMemoryModel: Write atomicity for volatiles

From: Sarita Adve (sadve@cs.uiuc.edu)
Date: Thu Jul 19 2001 - 10:10:36 EDT


> -----Original Message-----
> From: Bill Pugh [mailto:pugh@cs.umd.edu]
> Sent: Wednesday, July 18, 2001 4:47 PM
> To: Sarita Adve; javamemorymodel@cs.umd.edu
> Subject: Re: JavaMemoryModel: Write atomicity for volatiles
>
>
> At 1:42 PM -0500 7/18/01, Sarita Adve wrote:
> >As far as option (2), it enables reading early from a
> processor's own write
> >buffer. Many systems allow this, including Alpha, SPARC, and
> Intel. However,
> >it turns out that this is not detectable with Alpha and PowerPC
> models (and
> >for that matter with SC).
>
> If you allow SMT (threads sharing a processor), wouldn't it be
> possible for a thread to see writes from other threads on the same
> processor early?
>
> This probably isn't an issue without SMT, because the context switch
> overhead will almost certainly include a memory barrier.

Good point. Please replace the word "processor" in my previous message with
"thread."

So if an SMT allows a thread to read data of another thread early from a
write buffer on the same processor, it is really doing option (3).

As an aside, an SMT does not necessarily mean that *all* structures will be
shared. It is possible to conceive of an SMT with per-thread write buffers
(either in a physical or virtual sense). That is, it is possible to get
benefits of SMT on a system that wants to retain option (2) but not (3).

Sarita

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



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