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: Iain Bason (Iain.Bason_at_[hidden])
Date: 2009-06-22 11:58:22


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