[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