Re: comments on 4/8 1-sided version

Jarek Nieplocha (j_nieplocha@pnl.gov)
Mon, 22 Apr 1996 11:14:11 -0700

I agree with Karl Feind that cache flushes at synchronization point are
insufficient for his platform (only T90 since on the T3D the problem can
be avoided, and the T3E is cache consistent).

However, the ideas that he presents as possible solutions are "dangerous" :-)
since they restrict and complicate the elegant thus far RMA semantics to the
degree that makes the RMA model unusable for some apps. I think that the cost
of providing the fully portable RMA interface to the non-cache-coherent hardware
like T90 is too high. Karl could always provide Cray-specific function cri_deliver
required on his non-cache-coherent hardware to access the window locally.

> a) Disallow concurrent local and remote RMA access to a window,
> thus requiring use of MPI_GET when spin-waiting.
> or b) Disallow concurrent local and remote RMA access to a window, with
> one exception. Local loads (but not stores) of the window are OK at
> any time, but MPI_DELIVER must be called to ensure that any
> MPI_PUTs delivered since the last sync point are visible to local
> loads on the target.
> or c) Changed the hide/expose routines' semantics. The hide/expose
> operation takes effect at the next synchronization point.
> This option is really the same as "a".

Jarek