[Mpi3-rma] Updated Proposal 1
Jeff Hammond
jhammond at mcs.anl.gov
Sun Nov 28 11:09:23 CST 2010
>> What is the use case multi-element RMW anyways? I'm definitely going
>> to need message-atomic put, but I'll do the portable i.e. MPI version
>> with RMW-lock + put + RMW-unlock.
>
> For dynamic windows, a portable pointer will be something like <process,
> displacement>. If you want to build lock-free data structures, you'd want
> to do swap on pointers. If you can't do both atomically, then you will need
> to do things differently anyway. Providing a count for this function could
> be misleading, I'd suggest some text to clarify.
That requires multi-element i.e. message-level atomicity. As Torsten
said earlier, "the current RMA doesn't offer more than element-wise
atomicity and we don't plan to extend this." The appropriate way to
do message-level atomicity is active-messages or RMW-lock + RMA +
RMW-unlock.
> Jeff, unless you need trylock there are more efficient ways to do one-sided
> locking on top of existing MPI-2 RMA that don't require polling over the
> network. I can point you to code if you're interested, I think it's in an
> MPICH example somewhere.
I'm going to want lock, trylock and unlock, so if the approach you
alludes to only provides lock/unlock, then it doesn't work for me.
Besides, I'm not interested in what one can hack on top of MPI-2.
This discussion should be about the right answer for the right reason
within MPI-3.
Jeff
--
Jeff Hammond
Argonne Leadership Computing Facility
jhammond at alcf.anl.gov / (630) 252-5381
http://www.linkedin.com/in/jeffhammond
More information about the mpiwg-rma
mailing list