[mpiwg-rma] Ticket 435 and Re: MPI_Win_allocate_shared and synchronization functions

Thakur, Rajeev thakur at mcs.anl.gov
Wed Jul 2 10:47:44 CDT 2014


Ticket 429 (https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/429) is also connected with whether remote loads/stores are to be considered as local loads/stores or RMA operations. In the discussion on the mailing list about that ticket, some said they should not be considered as local loads/stores. That discussion is now linked from the ticket.

Rajeev


On Jul 2, 2014, at 10:31 AM, Rolf Rabenseifner <rabenseifner at hlrs.de> wrote:

>> In general I am opposed to decreasing the performance of applications
>> by mandating strong synchronization semantics.
>> 
>> I will have to study this particular instance carefully.
> I agree.
> 
> If the user of a shared memory window only want to issue 
> a memory fence, he/she can use the non-collective MPI_Win_sync.
> 
> I would expect that MPI_Win_fence and 
> post-start-complete-wait should be used on a shared memory window
> only if the user wants process-to-process synchronization.
> 
> In all other cases, he/she would use lock/unlock or pure win_sync.
> The proposal does not touch lock/unlock and win_sync.
> 
> A possible alternative would define remote load/store as RMA
> and would terribly touch all synchronization routines.
> We all would be against this, although this was the first idea
> in 2012 with probably the historical remark 
> "This is what I was referring to. I'm in favor of this proposal."
> 
> Rolf
> 
> 
> ----- Original Message -----
>> From: "William Gropp" <wgropp at illinois.edu>
>> To: "Rolf Rabenseifner" <rabenseifner at hlrs.de>
>> Cc: "Bill Gropp" <wgropp at uiuc.edu>, "Rajeev Thakur" <thakur at anl.gov>, "Hubert Ritzdorf"
>> <Hubert.Ritzdorf at EMEA.NEC.COM>, "Pavan Balaji" <balaji at anl.gov>, "Torsten Hoefler" <htor at inf.ethz.ch>, "MPI WG
>> Remote Memory Access working group" <mpiwg-rma at lists.mpi-forum.org>
>> Sent: Wednesday, July 2, 2014 4:46:40 PM
>> Subject: Re: Ticket 435 and Re: MPI_Win_allocate_shared and synchronization functions
>> 
>> In general I am opposed to decreasing the performance of applications
>> by mandating strong synchronization semantics.
>> 
>> 
>> I will have to study this particular instance carefully.
>> 
>> 
>> Bill
>> 
>> 
>> 
>> 
>> 
>> 
>> William Gropp
>> Director, Parallel Computing Institute Thomas M. Siebel Chair in
>> Computer Science
>> 
>> 
>> University of Illinois Urbana-Champaign
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> On Jul 2, 2014, at 9:38 AM, Rolf Rabenseifner wrote:
>> 
>> 
>> 
>> Bill, Rajeev, and all other RMA WG members,
>> 
>> Hubert and Torsten discussed already in 2012 the meaning of
>> the MPI one-sided synchronization routines for MPI-3.0 shared memory.
>> 
>> This question is still unresolved in the MPI-3.0 + errata.
>> 
>> Does the term "RMA Operation" include "a remote load/store
>> from an origin process to the window Memory on a target"?
>> 
>> Or not?
>> 
>> The ticket #435 expects "not".
>> 
>> In this case, MPI_Win_fence and post-start-complete-wait
>> cannot be used for synchronizing the sending process of data
>> with the receiving process of data that use only
>> local and remote load/stores on shared memory windows.
>> 
>> Ticket 435 extends the meaning of
>> MPI_Win_fence and post-start-complete-wait that they
>> provide sender-Receiver synchronization between processes
>> that use local and remote load/stores
>> on shared memory windows.
>> 
>> I hope that all RMA working group members, agree that
>> - currently the behavior of these sync-routines for
>>  shared memory remote load/stores is undefined due to
>>  the undefined definition of "RMA Operation"
>> - and that we need an errata that resolves this problem.
>> 
>> What is your opinion about the solution provided in
>> https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/435 ?
>> 
>> Best regards
>> Rolf
>> 
>> PS: Ticket 435 is the result of a discussion of Pavan, Hubert and I
>> at ISC2014.
>> 
>> ----- Original Message -----
>> 
>> 
>> From: Hubert Ritzdorf
>> 
>> 
>> Sent: Tuesday, September 11, 2012 7:26 PM
>> 
>> 
>> To: mpi3-rma at lists.mpi-forum.org
>> 
>> 
>> Subject: MPI_Win_allocate_shared and synchronization functions
>> 
>> 
>> 
>> 
>> 
>> Hi,
>> 
>> 
>> 
>> 
>> 
>> it's quite unclear what Page 410, Lines 17-19
>> 
>> 
>> 
>> 
>> 
>> A consistent view can be created in the uni?fied
>> 
>> 
>> memory model (see Section 11.4) by utilizing the window
>> 
>> 
>> synchronization functions (see
>> 
>> 
>> Section 11.5)
>> 
>> 
>> 
>> 
>> 
>> really means. Section 11.5 doesn't mention any (load/store) access to
>> 
>> 
>> shared memory.
>> 
>> 
>> Thus, must
>> 
>> 
>> 
>> 
>> 
>> (*) RMA communication calls and RMA operations
>> 
>> 
>>    be interpreted   as RMA communication calls (MPI_GET, MPI_PUT,
>> 
>> 
>> ...) and
>> 
>> 
>>                               ANY load/store access to shared
>> 
>> 
>> window
>> 
>> 
>> (*) put call             as put call and any store to shared memory
>> 
>> 
>> (*) get call             as get call and any load from shared memory
>> 
>> 
>> (*) accumulate call as accumulate call and any load or store access
>> 
>> 
>> to shared window ?
>> 
>> 
>> 
>> 
>> 
>> Example: Assertion MPI_MODE_NOPRECEDE
>> 
>> 
>> 
>> 
>> 
>> Does
>> 
>> 
>> 
>> 
>> 
>> the fence does not complete any sequence of locally issued RMA calls
>> 
>> 
>> 
>> 
>> 
>> mean for windows created by MPI_Win_Allocate_shared ()
>> 
>> 
>> 
>> 
>> 
>> the fence does not complete any sequence of locally issued RMA calls
>> 
>> 
>> or
>> 
>> 
>> any load/store access to the window memory ?
>> 
>> 
>> 
>> 
>> 
>> It's not clear to me. I will be probably not clear for the standard
>> 
>> 
>> MPI user.
>> 
>> 
>> RMA operations are defined only MPI functions for window objects
>> 
>> 
>> (as far as I can see).
>> 
>> 
>> But possibly I'm totally wrong and the synchronization functions
>> 
>> 
>> synchronize
>> 
>> 
>> only the RMA communication calls (MPI_GET, MPI_PUT, ...).
>> 
>> 
>> 
>> 
>> 
>> Hubert
>> 
>> 
>> 
>> 
>> 
>> -----------------------------------------------------------------------------
>> 
>> 
>> 
>> 
>> 
>> Wednesday, September 12, 2012 11:37 AM
>> 
>> 
>> 
>> 
>> 
>> Hubert,
>> 
>> 
>> 
>> 
>> 
>> This is what I was referring to. I'm in favor of this proposal.
>> 
>> 
>> 
>> 
>> 
>> Torsten
>> 
>> 
>> 
>> 
>> --
>> Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de
>> High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
>> University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
>> Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
>> Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)
>> 
>> 
> 
> -- 
> Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de
> High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
> University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
> Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
> Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)
> _______________________________________________
> mpiwg-rma mailing list
> mpiwg-rma at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-rma




More information about the mpiwg-rma mailing list