Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] Dynamic process tutorials?
From: Ralph Castain (rhc_at_[hidden])
Date: 2010-07-12 17:37:23


On Jul 12, 2010, at 3:23 PM, Brian Budge wrote:

> Hi Ralph -
>
> So you can just start this daemon on all of the nodes when the
> machines are booted, for example, and then these connections can be
> made programmatically?

Ummm...not exactly. You have to start only one ompi-server, but it must be on a node that is reachable from everywhere. Then you need to pass an mca param to each singleton telling it how to connect to that ompi-server. The man page on ompi-server gives the info on how to do that.

>
> Sounds great. I look forward to that functionality.
>
> Brian
>
> On Mon, Jul 12, 2010 at 12:38 PM, Ralph Castain <rhc_at_[hidden]> wrote:
>>
>> On Jul 12, 2010, at 11:12 AM, Brian Budge wrote:
>>
>>> HI Ralph -
>>>
>>> Thanks for the reply. I think this patch sounds great! The idea in
>>> our software is that it won't be known until after the program is
>>> running whether or not MPI is needed, so it would be best if the
>>> communication initialization could be done programmatically instead of
>>> through an external program like mpirun. Is there a plan for this to
>>> enter the mainline?
>>
>> Just to clarify: while the revised OMPI will allow singleton connect/accept, it will still only do so in the presence of a running ompi-server. There is no way to wireup singletons without that external agent.
>>
>> However, ompi-server is not specific to any job, so it can be allowed to run in the background as a daemon, used only when required.
>>
>>>
>>> Brian
>>>
>>> On Mon, Jul 12, 2010 at 8:29 AM, Ralph Castain <rhc_at_[hidden]> wrote:
>>>>
>>>> On Jul 12, 2010, at 9:07 AM, Brian Budge wrote:
>>>>
>>>>> Hi Jody -
>>>>>
>>>>> Thanks for the reply. is there a way of "fusing" intercommunicators?
>>>>> Let's say I have a higher level node scheduler, and it makes a new
>>>>> node available to a COMM that is already running. So the master
>>>>> spawns another process for that node. How can the new process
>>>>> communicate with the other already started processes?
>>>>
>>>> They can connect/accept via ompi-server - checkout "man ompi-server". You can also have them all rendezvous at a common mpirun if you prefer by using the appropriate mca param to give the required contact info.
>>>>
>>>>>
>>>>> Also, how can you specify with MPI_Comm_spawn/multiple() how do you
>>>>> specify IP addresses on which to start the processes?
>>>>
>>>> Look at "man MPI_Comm_spawn"
>>>>
>>>>>
>>>>> If my higher level node scheduler needs to take away a process from my
>>>>> COMM, is it good/bad for that node to call MPI_Finalize as it exits?
>>>>
>>>> The entire job will automatically abort if it fails to call Finalize as this is considered an abnormal termination event.
>>>>
>>>>>
>>>>> I would prefer not to use any of the MPI command-line utilities
>>>>> (mpirun/mpiexec) if that's possible.
>>>>
>>>> Not possible at the moment. I have provided a patch to another user on this list that made it possible to use ompi-server as a rendezvous point for singletons, but that isn't in any formal release yet.
>>>>
>>>>>
>>>>> Thanks,
>>>>> Brian
>>>>>
>>>>> On Sat, Jul 10, 2010 at 11:53 PM, jody <jody.xha_at_[hidden]> wrote:
>>>>>> Hi Brian
>>>>>> When you spawn processes with MPI_Comm_spawn(), one of the arguments
>>>>>> will be set to an intercommunicator of thes spawner and the spawnees.
>>>>>> You can use this intercommunicator as the communicator argument
>>>>>> in the MPI_functions.
>>>>>>
>>>>>> Jody
>>>>>> On Fri, Jul 9, 2010 at 5:56 PM, Brian Budge <brian.budge_at_[hidden]> wrote:
>>>>>>> Hi all -
>>>>>>>
>>>>>>> I've been looking at the dynamic process features of mpi-2. I have managed
>>>>>>> to actually launch processes using spawn, but haven't seen examples for
>>>>>>> actually communicating once these processes are launched. I am additionally
>>>>>>> interested in how processes created through multiple spawn calls can
>>>>>>> communicate.
>>>>>>>
>>>>>>> Does anyone know of resources that describe these topics? My google-fu must
>>>>>>> not be up to par :)
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Brian
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> users mailing list
>>>>>>> users_at_[hidden]
>>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> users mailing list
>>>>>> users_at_[hidden]
>>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users_at_[hidden]
>>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> users_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>>>
>>>
>>> _______________________________________________
>>> users mailing list
>>> users_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>>
>> _______________________________________________
>> users mailing list
>> users_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>
>
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users