[Mpi3-rma] Alternative RMA discussion

Torsten Hoefler htor at cs.indiana.edu
Tue Nov 24 19:52:58 CST 2009

Hi Jeff,
> Is "The outcome of conflicting accesses to the same memory locations is
> undefined" necessary because of the need to support cache incoherent
> architectures?
Also, but "conflicting" means that there is at least a single write
involved. Read-only access never causes conflicts. 

Also remember, that even well-accepted cache-coherent CPU memory models
don't have very strong consistency semantics for conflicting accesses
(e.g., x86 writes are not atomic when the written data crosses a page or
cache-line boundary -- ugly but true).

> Most application codes that use GA/ARMCI require multiple gets
> (read-only) and multiple accumulates within a single epoch.  Heck,
> merely allowing unlimited read-only access would solve most of my
> problems.
Yes, RO access will be fine, accumulates have stronger semantics
(atomicity; also in the current spec). However, don't expect that you
can read the result of an accumulate in the same epoch without strong
memory semantics in the underlying implementation (cf. proposed
MPI_RMA_query()). Get_accumulate could be used to emulate this on weaker
architectures though ;).

> Is it possible for the standard to allow processes to expose read-only
> windows which cannot be modified within a epoch, but for which
> unlimited local and remote gets are permitted?
It is not possible to mark a window read-only as a protection mechanism.
However, it is possible to issue unlimited local/remote gets in an
epoch. The completion of those depends on the machine's memory model and
the used synchronization model.


 bash$ :(){ :|:&};: --------------------- http://www.unixer.de/ -----
Torsten Hoefler       | Postdoctoral Fellow
Open Systems Lab      | Indiana University    
150 S. Woodlawn Ave.  | Bloomington, IN, 474045, USA
Lindley Hall Room 135 | +01 (812) 856-0501

More information about the mpiwg-rma mailing list