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
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@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel