[mpich-discuss] MCS lock and MPI RMA problem
Balaji, Pavan
balaji at anl.gov
Mon Mar 13 23:50:02 CDT 2017
> On Mar 13, 2017, at 1:43 PM, Ask Jakobsen <afj at qeye-labs.com> wrote:
> I have discovered that the code from the book in mcs-lock.c deviates from "High-Performance Distributed RMA Locks" pseudo code (see Listing 3 in paper) and the original MCS paper "Algorithms for scalable Sync on shared memory multiprocessors". If I add to the original mcs-lock.c code
>
> lmem[nextRank]=-1;
This change will be incorrect.
Apart from the fact that you are modidying the window outside of the epoch (which is not allowed), it'll conflict with the MODE_NOCHECK hint. With MODE_NOCHECK, you are promising that the window buffer will not be accessed without shared-mode RMA routines (PUT/GET to different locations or atomic operations only). The reason I suggested that optimization was because all accesses to lmem were through RMA and the algorithm was already ensuring atomicity. If you change lmem through a direct store operation, that hint will no longer be valid.
I think you should ignore what the paper says and reason through the algorithm yourself. That's causing more of a distraction than help at this point.
-- Pavan
_______________________________________________
discuss mailing list discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss
More information about the discuss
mailing list