[MPICH] How do I get the communicator of the spawned group in the spawnee?
Rajeev Thakur
thakur at mcs.anl.gov
Tue Jul 5 11:46:46 CDT 2005
Ignore my previous message. It got sent accidentally.
> Is MPICH an open source project? I mean if I changed the code
> to be "fault tolerent" in this situation would you consider
> adding the changes to the code base?
Yes, we welcome code changes.
> Is there a way to allow
> this kind of behavior within the bounds of the "official" 2.0
> standard? The two behavours I "need" are:
The MPI standard already allows in the sense that it leaves it up to the
implementation.
Rajeev
> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of David Minor
> Sent: Tuesday, July 05, 2005 12:05 AM
> To: 'mpich-discuss at mcs.anl.gov'
> Subject: RE: [MPICH] How do I get the communicator of the
> spawned group in the spawnee?
>
> Hello Rajeev,
> It's interesting that if I send signal -9 to any one of
> the children after calling disconnect on the comworld of the
> parent, all the children die gracefully, the parent remains
> alive and I can restart the children, I tried this many times
> and didn't see any problems, so it seems like the
> infrastructure is in place to handle this kind of thing. Is
> MPICH an open source project? I mean if I changed the code
> to be "fault tolerent" in this situation would you consider
> adding the changes to the code base? Is there a way to allow
> this kind of behavior within the bounds of the "official" 2.0
> standard? The two behavours I "need" are:
>
> 1) Ability to kill and restart all the children without
> affecting the parent (this is in case a child goes into a
> near infinite loop on an algorithm).
> 2) That if one child dies all the children will die without
> affecting the parent.
>
> Since our application runs user code not under our control
> these are "essential" features for us. Unfortunetly windows
> compatibility is another "essential" feature so we are
> somewhat limited in our choice of MPI implementations.
>
> Regards,
> David
>
> -----Original Message-----
> From: Rajeev Thakur [mailto:thakur at mcs.anl.gov]
> Sent: Monday, July 04, 2005 6:58 PM
> To: David Minor
> Subject: RE: [MPICH] How do I get the communicator of
> the spawned group in the spawnee?
>
>
> David,
> The communicator passed to MPI_Abort must be a
> valid communicator on the process calling MPI_Abort.
> Therefore, you cannot abort only the child. However, a child
> could die on its own, and one would like this case to be
> handled gracefully, without taking down the parent. This is
> up to the implementation to handle. A "fault tolerant"
> implementation will try to do this. MPICH2 doesn't support it
> yet, but we hope to do it sometime in the future.
>
> Rajeev
>
>
>
> ________________________________
>
> From: David Minor [mailto:david-m at orbotech.com]
> Sent: Monday, July 04, 2005 12:11 AM
> To: 'Rajeev Thakur'
> Subject: RE: [MPICH] How do I get the
> communicator of the spawned group in the spawnee?
>
>
> Hello Rajeev,
> Using the intercommunicator I can communicate
> with the spawned processes, but I cannot call an abort on
> them without aborting the parent. I would like for the
> spawned proceeese to be able to crash, or be aborted, without
> crashing the parent process, which could then spawn them
> again. I thought that if the parent process could get a
> communicator only to the spawned processes I'd be able to do this.
> David
>
> -----Original Message-----
> From: Rajeev Thakur [mailto:thakur at mcs.anl.gov]
> Sent: Sunday, July 03, 2005 6:48 PM
> To: David Minor; mpich-discuss at mcs.anl.gov
> Subject: RE: [MPICH] How do I get the
> communicator of the spawned group in the spawnee?
>
>
> The intercommunicator returned by
> MPI_Comm_spawn is the one you are looking for.
>
> MPI_Comm_get_parent on the spawned
> processes returns an intercommunicator that has the spawned
> processes in one group and the parent processes in the other
> group. MPI_Comm_spawn on the spawnees returns the same
> intercommunicator, which can be used for communication with
> the spawned processes.
>
> Rajeev
>
>
>
> ________________________________
>
> From:
> owner-mpich-discuss at mcs.anl.gov
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of David Minor
> Sent: Sunday, July 03, 2005 9:15 AM
> To: mpich-discuss at mcs.anl.gov
> Subject: [MPICH] How do I get
> the communicator of the spawned group in the spawnee?
>
>
>
> Hello List,
>
> intercomm.Get_parent() from the
> spawned processes returns me the communicator of the spawnee,
> but how do I get the communicator of the
>
> spawned processes from the
> spawnee? intercomm.Get_remote_group() returns me the group,
> but how do I get the communicator?
>
> Thanks,
> David Minor
>
>
More information about the mpich-discuss
mailing list