Strart, post, wait, complete

Mark Fallon (mark@hdl.ie)
Wed, 12 Mar 1997 12:31:33 +0000

Yes,

I know we have voted this twice and we did not vote it out at the
last meeting but after examining how these functions are going to
be used and how to implement them I have some serious reservations.

The examples given in the text all seem to fall into this one
simplified case:

post post
start start
... ...
... ...
... ...
complete complete
wait wait

In the above example the two sets of functions are nested, which
is needed if both processes need to do put and gets in the same
epoch. Those who do not have shared memory might do the
transfer at the complete call and send data requested by get back
in the wait call. This will cause the above example and all the
examples given in the chapter to deadlock.

So as a friendly proposal I suggest that if the above example is
going to be the standard practice we should combine the
post and start calls into one and combine the complete and
wait calls into one thus having:

MPI_WIN_POST(group,asset,win)
and
MPI_WIN_COMPLETE()

This not only simplifies the interface for the user but also
simplifies the implementation. Also this way we do not
lose the semantics hard fought over.

Regards,

Mark.

___________________________________________________________________
Mark Fallon
Researcher
Hitachi Dublin Laboratory
O'Reilly Institute, Tel : +353-1-6798911
Trinity College, Fax : +353-1-6798926
Dublin Email : mark.fallon@hdl.ie
Ireland
___________________________________________________________________