[Mpi3-rma] RMA proposal 1 update

Underwood, Keith D keith.d.underwood at intel.com
Wed May 26 12:06:41 CDT 2010

No, lock and lockall are variants of the same primitive in the same synchronization/exposure/completion model.  And, it is not collective - then it would just be MPI_Win_fence()...


----- Original Message -----
From: mpi3-rma-bounces at lists.mpi-forum.org <mpi3-rma-bounces at lists.mpi-forum.org>
To: MPI 3.0 Remote Memory Access working group <mpi3-rma at lists.mpi-forum.org>
Sent: Wed May 26 09:51:59 2010
Subject: Re: [Mpi3-rma] RMA proposal 1 update

On 05/26/2010 11:40 AM, Rajeev Thakur wrote:
>> Yes, you do -- so my notes (a) and (b) below are only for the "if 
>> lockall is only for shared locks" case.
> Not just lockall. The user would have to assert that no other process
> will call regular lock with an exclusive lock.

Correct. But if it's a different synchronization primitive, we don't 
have to care about that case.

>> I think there are two parts here -- (1) to remove the restriction on 
>> whether only one lock can be acquired; and (2) to provide the lockall 
>> convenience function.
>> (1) is a minor change to the standard and should be included.
> If you allow nested locks with exclusive locks, the user code may
> deadlock depending on what the implementatation chooses to do: block on
> a lock or defer everything until unlock. The user code may work in some
> cases, and may not work in other cases.

That's a user error, and is to be dealt by other tools outside of the 
scope of MPI.

There are a lot of ways a user can screw up even within the current MPI 
standard. We can't drop flexibility because someone might screw up.

  -- Pavan

Pavan Balaji
mpi3-rma mailing list
mpi3-rma at lists.mpi-forum.org

More information about the mpiwg-rma mailing list