Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [OMPI svn] svn:open-mpi r21480
From: Ralph Castain (rhc_at_[hidden])
Date: 2009-06-22 12:03:58


Yes, but look at orte/mca/plm/rsh/plm_rsh_module.c:

    /* ensure that only the ssh plm is selected on the remote daemon */
    var = mca_base_param_environ_variable("plm", NULL, NULL);
    opal_setenv(var, "rsh", true, &env);
    free(var);

This is done in "ssh_child", right before we fork_exec the ssh command to
launch the remote daemon. This is why slave spawn works, for example.

I agree that tree_spawn doesn't seem to work right now, but it is not due to
the plm not being selected. There are other factors involved.

Ralph

On Mon, Jun 22, 2009 at 9:58 AM, Iain Bason <Iain.Bason_at_[hidden]> wrote:

> Ralph Castain wrote:
>
>> I'm sorry, but this change is incorrect.
>>
>> If you look in orte/mca/ess/base/ess_base_std_orted.c, you will see that
>> -all- orteds, regardless of how they are launched, open and select the PLM.
>>
>
> I believe you are mistaken. Look in plm_base_launch_support.c:
>
> /* The daemon will attempt to open the PLM on the remote
> * end. Only a few environments allow this, so the daemon
> * only opens the PLM -if- it is specifically told to do
> * so by giving it a specific PLM module. To ensure we avoid
> * confusion, do not include any directives here
> */
> if (0 == strcmp(orted_cmd_line[i+1], "plm")) {
> continue;
> }
>
> That code strips out anything like "-mca plm rsh" from the command
> line passed to a remote daemon.
>
> Meanwhile, over in ess_base_std_orted.c:
>
> /* some environments allow remote launches - e.g., ssh - so
> * open the PLM and select something -only- if we are given
> * a specific module to use
> */
> mca_base_param_reg_string_name("plm", NULL,
> "Which plm component to use (empty =
> none)",
> false, false,
> NULL, &plm_to_use);
> if (NULL == plm_to_use) {
> plm_in_use = false;
> } else {
> plm_in_use = true;
> if (ORTE_SUCCESS != (ret = orte_plm_base_open())) {
> ORTE_ERROR_LOG(ret);
> error = "orte_plm_base_open";
> goto error;
> }
> if (ORTE_SUCCESS != (ret = orte_plm_base_select())) {
> ORTE_ERROR_LOG(ret);
> error = "orte_plm_base_select";
> goto error;
> }
> }
>
> So a PLM is loaded only if specified with "-mca plm foo", but that -mca
> flag is stripped out when launching the remote daemon.
>
> I also ran into this issue with tree spawning. (I didn't putback a fix
> because
> I couldn't get tree spawning actually to improve performance. My fix was
> not to strip out the "-mca plm foo" parameters if tree spawning had been
> requested.)
>
> Iain
>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>