[Mpi3-hybridpm] Reminder for the hybrid telecon tomorrow

Schulz, Martin schulzm at llnl.gov
Mon Apr 22 17:17:14 CDT 2013


Hi Pavan,

On Apr 22, 2013, at 3:13 PM, Pavan Balaji <balaji at mcs.anl.gov>
 wrote:

> 
> I need to read the rest of the emails, so my email might not capture the
> entire context --
> 
> Some MPI implementations might need an explicit *real* finalize at some
> point, if they need to clean up OS resources.  For most MPI

I was wondering about that - what platforms would be affected by this? OS resources shouldn't be an issue, since the OS should take care of this at process termination. Network resources may be a different issue, though.

> implementations this might not be a problem.  For some MPI
> implementations + compiler combinations, we can ask the compiler to
> throw an "at_exit()" callback to do the cleanup.  But this is something

In most OSes, this should be doable at library end as well.

> we need to explicitly consider before making a decision.

Agreed.

Martin


> 
> -- Pavan
> 
> On 04/22/2013 05:09 PM US Central Time, Schulz, Martin wrote:
>> Would we actually specify what "not being initialized" anymore means, except that users are no longer allowed to call MPI routines before they call MPI_Init again? If so, the impact on the implementation should be minimal, since it could just keep MPI "alive" under the hood.
>> 
>> Martin
>> 
>> 
>> On Apr 22, 2013, at 12:08 PM, Jim Dinan <dinan at mcs.anl.gov> wrote:
>> 
>>> I think the new semantics for MPI_Init() would be backward compatible, but we could also add a new routine: MPI_Init_awesome().  :)
>>> 
>>> On 4/22/13 11:42 AM, Jeff Squyres (jsquyres) wrote:
>>>> Sayantan and I talked about this on the phone today.  It seems like re-initialization might be a good idea, but a good first step might be asking all the hardware/software vendors if there's a technical reason they don't allow re-initialzation today (other than "because it's not required by MPI").  I.e., I think that some API's/networks (like PSM) don't allow re-initialization -- is there a technical reason for that, or is it just an overcome-able software limitation?
>>>> 
>>>> I'm not a big fan of re-defining the default behavior of MPI_INIT, however -- I think there might be a big impact on legacy applications.
>>>> 
>>>> 
>>>> 
>>>> On Apr 19, 2013, at 3:06 PM, Jim Dinan <dinan at mcs.anl.gov> wrote:
>>>> 
>>>>> Another issue that ought to consider is that MPI currently can only be initialized/finalized once.  This requirement breaks the "MPI is a library" semantic and leads to some of the nastiness Jeff S. mentioned below.  I think we should re-evaluate if this restriction is really required, or if it's just convenient for implementers.
>>>>> 
>>>>> Another suggestion on this front -- Why not modify the semantics of MPI_Init to match what we want?
>>>>> 
>>>>> MPI_Init:
>>>>> 
>>>>> - Always THREAD_MULTIPLE
>>>>> - Always a thread safe call
>>>>> - Ref-counted
>>>>> - Can be used to initialize/finalize MPI multiple times
>>>>> - Cannot be combined with MPI_Init_thread
>>>>> 
>>>>> If apps really care about getting rid of threading overhead, then they should use MPI_Init_thread() and use the thread level argument to give a performance hint.
>>>>> 
>>>>> ~Jim.
>>>>> 
>>>>> On 4/19/13 1:11 PM, Jeff Squyres (jsquyres) wrote:
>>>>>> Points to think about for the Monday teleconf...
>>>>>> 
>>>>>> With regards to ref-counted MPI_INIT / MPI_FINALIZE (https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/302):
>>>>>> 
>>>>>> PROBLEMS IT SOLVES:
>>>>>> - multiple, separate libraries in a single process needing access to MPI
>>>>>>  ==> works best when all entities call MPI_INIT* at the beginning of time, work for a "long" period of time, and then call MPI_FINALIZE at the end of time (i.e., there's no race condition -- see below)
>>>>>> 
>>>>>> PROBLEMS IT DOES NOT SOLVE:
>>>>>> - Implementation not providing MPI_THREAD_MULTIPLE support (e.g., if the separate libraries are in different threads and someone already initialized MPI with THREAD_SINGLE, other threads can't know if it's safe to call MPI_INIT* or not)
>>>>>> - The "finalize" problem (i.e., can't guarantee to know if MPI has been finalized or not -- there's a race between calling MPI_FINALIZED, seeing that MPI is not finalized, and then calling MPI_INIT)
>>>>>> 
>>>>>> PROBLEMS IT CREATES:
>>>>>> - Will need to change the definition of "main thread"
>>>>>> - Possibly also need to change the definitions of MPI_THREAD_SERIALIZED and MPI_THREAD_FUNNELED
>>>>>> 
>>>>>> OPEN QUESTIONS:
>>>>>> - Do we still need to keep the restriction that the thread that initializes MPI is the same thread that finalizes MPI?
>>>>>> - Should we allow re-initialization?  This effectively solves some (but not all) of the problems that have been discussed, but probably opens a new can of worms...
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> On Apr 12, 2013, at 8:27 AM, Pavan Balaji <balaji at mcs.anl.gov> wrote:
>>>>>> 
>>>>>>> All,
>>>>>>> 
>>>>>>> Jim and I will be late for the April 22nd meeting.  So we decided to
>>>>>>> move the endpoints discussion to the telecon after this one.
>>>>>>> 
>>>>>>> I chatted with Jeff Squyres yesterday.  He'll be driving the April 22nd
>>>>>>> telecon to discuss more details on the ref-counted init/finalize issue.
>>>>>>> He'll be sending out some notes before the call for discussion.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> 
>>>>>>> -- Pavan
>>>>>>> 
>>>>>>> On 04/08/2013 11:47 AM US Central Time, Pavan Balaji wrote:
>>>>>>>> 
>>>>>>>> The next call will be on April 22nd, 11am central.  Same telecon number.
>>>>>>>> 
>>>>>>>> -- Pavan
>>>>>>>> 
>>>>>>>> On 04/08/2013 11:42 AM US Central Time, Jim Dinan wrote:
>>>>>>>>> Meeting notes are on the wiki:
>>>>>>>>> 
>>>>>>>>> https://svn.mpi-forum.org/trac/mpi-forum-web/wiki/MPI3Hybrid/notes-2013-04-08
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> ~Jim.
>>>>>>>>> 
>>>>>>>>> On 4/7/13 12:45 PM, Pavan Balaji wrote:
>>>>>>>>>> All,
>>>>>>>>>> 
>>>>>>>>>> This is a reminder that we'll have our hybrid telecon tomorrow at 11am.
>>>>>>>>>> Here's the telecon information:
>>>>>>>>>> 
>>>>>>>>>> International dial-in number: 1-719-234-7800
>>>>>>>>>> Domestic dial-in number: 1-888-850-4523
>>>>>>>>>> Participant Passcode: 314159
>>>>>>>>>> 
>>>>>>>>>> The main item we'll be discussing is Jeff Squyres' ref-count proposal.
>>>>>>>>>> 
>>>>>>>>>> https://svn.mpi-forum.org/trac/mpi-forum-web/ticket/302
>>>>>>>>>> 
>>>>>>>>>> -- Pavan
>>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> Mpi3-hybridpm mailing list
>>>>>>>>> Mpi3-hybridpm at lists.mpi-forum.org
>>>>>>>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-hybridpm
>>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Pavan Balaji
>>>>>>> http://www.mcs.anl.gov/~balaji
>>>>>> 
>>>>>> 
>>>>> _______________________________________________
>>>>> Mpi3-hybridpm mailing list
>>>>> Mpi3-hybridpm at lists.mpi-forum.org
>>>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-hybridpm
>>>> 
>>>> 
>>> _______________________________________________
>>> Mpi3-hybridpm mailing list
>>> Mpi3-hybridpm at lists.mpi-forum.org
>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-hybridpm
>> 
>> ________________________________________________________________________
>> Martin Schulz, schulzm at llnl.gov, http://people.llnl.gov/schulzm
>> CASC @ Lawrence Livermore National Laboratory, Livermore, USA
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Mpi3-hybridpm mailing list
>> Mpi3-hybridpm at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-hybridpm
>> 
> 
> -- 
> Pavan Balaji
> http://www.mcs.anl.gov/~balaji

________________________________________________________________________
Martin Schulz, schulzm at llnl.gov, http://people.llnl.gov/schulzm
CASC @ Lawrence Livermore National Laboratory, Livermore, USA







More information about the mpiwg-hybridpm mailing list