[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