[mpich-discuss] MPI_WIN_FENCE versus MPI_WIN_{LOCK|UNLOCK}
Jim Dinan
dinan at mcs.anl.gov
Fri Jun 1 14:30:29 CDT 2012
Hi Jed,
That's a good point, and you can also use MPI_Win_test instead of wait
to avoid blocking. IIRC, this is still slightly more synchronizing than
passive mode if you have multiple readers/writers in the active mode
epoch. All processes that access the window during the exposure epoch
will need to be specified in the group argument to post/start and
wait/test will need to also ensure that all processes in that group have
called complete. So, if you can use intermediate data from the writers,
passive mode will give you more concurrency.
A different way to summarize this is that the communication itself
should be as efficient or more efficient in active mode since both
parties can drive it. Passive mode gives you access to more concurrency.
~Jim.
On 6/1/12 2:00 PM, Jed Brown wrote:
> On Fri, Jun 1, 2012 at 1:48 PM, Jim Dinan <dinan at mcs.anl.gov
> <mailto:dinan at mcs.anl.gov>> wrote:
>
> Both post/start/complete/wait and fence are active mode RMA
> communication.
>
> They could be slower, e.g. because of load imbalance or system
> noise, which would cause processes to wait for others to arrive.
> Passive mode RMA is fully asynchronous.
>
>
> It may be asynchronous, but the target process would normally need
> knowledge at some point that the data has been delivered or that it has
> been accessed so that it can use it or modify it.
>
> If you were doing active mode and didn't need to know for a while,
> wouldn't you move the wait back to some later point?
>
>
> _______________________________________________
> mpich-discuss mailing list mpich-discuss at mcs.anl.gov
> To manage subscription options or unsubscribe:
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
More information about the mpich-discuss
mailing list