[Mpi3-tools] MPI_T session question

William Gropp wgropp at illinois.edu
Sat Aug 17 14:11:23 CDT 2013


MPI, where it implements the performance variables, doesn't need to store more than one - only in the session structure would there be copies.  That's a big difference, because the performance variables may be on critical paths, and keeping their access simple and fast is vital.  I view (without having participated) the design of the session as a place to put all of the overhead out of the critical path, including potential thread safety overheads.  My comment about a high quality implementation is that it is possible, with good and careful design, to avoid most of the extra costs in the case of a single active session (probably one indirection and a branch).

Bill

William Gropp
Director, Parallel Computing Institute
Deputy Director for Research
Institute for Advanced Computing Applications and Technologies
Thomas M. Siebel Chair in Computer Science
University of Illinois Urbana-Champaign




On Aug 17, 2013, at 1:12 PM, Pavan Balaji wrote:

> 
> Sure.  That was my first thought as well, but that doesn't reduce the number of variables being stored in most cases.  And will probably get messy in the THREAD_MULTIPLE case when we need to support reset of a variable on one session and read of the same value on another session.
> 
> -- Pavan
> 
> On 08/17/2013 10:14 AM, William Gropp wrote:
>> I believe that the answer is yes, but note that in many/most/all cases,
>> the session can record the value of the underlying MPI implementation
>> variable at start time and then compute the difference.  It does mean
>> that the access in a session may not be as simple as a memory reference,
>> though a high-quality implementation could optimize for a single session.
>> 
>> Bill
>> 
>> William Gropp
>> Director, Parallel Computing Institute
>> Deputy Director for Research
>> Institute for Advanced Computing Applications and Technologies
>> Thomas M. Siebel Chair in Computer Science
>> University of Illinois Urbana-Champaign
>> 
>> 
>> 
>> 
>> On Aug 17, 2013, at 10:08 AM, Pavan Balaji wrote:
>> 
>>> Folks,
>>> 
>>> If an application has multiple sessions and does a PVAR_START on all
>>> sessions, is the intention that the MPI implementation will keep track
>>> of each pvar on each of the sessions?  Since when the pvar_start is
>>> called for each session is different, the values of these variables
>>> can be different.  So is the MPI implementation expected to replicate
>>> these variables per session?  Is this true for the read-only ones as
>>> well, since the start time can be different for each session?
>>> 
>>> -- Pavan
>>> 
>>> --
>>> Pavan Balaji
>>> http://www.mcs.anl.gov/~balaji
>>> _______________________________________________
>>> Mpi3-tools mailing list
>>> Mpi3-tools at lists.mpi-forum.org
>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-tools
>> 
>> 
>> 
>> _______________________________________________
>> Mpi3-tools mailing list
>> Mpi3-tools at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-tools
>> 
> 
> -- 
> Pavan Balaji
> http://www.mcs.anl.gov/~balaji

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-tools/attachments/20130817/816b9c6f/attachment-0001.html>


More information about the mpiwg-tools mailing list