Skip to content

v2.x: pmix/pmix112: Correct --enable-pmix-dstore option #2859

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 6, 2017

Conversation

kawashima-fj
Copy link
Member

@jjhursey This is the intended option, right?

The Open MPI configure option to enable PMIx shared meory dstore
is now --enable-pmix-dstore, not --enable-pmix3-dstore.
Without this fix, The --disable-dstore is always passed to PMIx
configure regardless of the Open MPI configure option.

And, == is bash extention.

This bug exists only in v2.x branch. No master and v2.0.x.

Signed-off-by: KAWASHIMA Takahiro t-kawashima@jp.fujitsu.com

@kawashima-fj kawashima-fj added this to the v2.1.0 milestone Jan 27, 2017
@kawashima-fj kawashima-fj requested a review from jjhursey January 27, 2017 08:08
@hppritcha
Copy link
Member

bot:lanl:retest

Copy link
Member

@jjhursey jjhursey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are correct in your fix. Just once change requested so the fix matched the logic in master. Thanks!

@@ -43,7 +43,7 @@ AC_DEFUN([MCA_opal_pmix_pmix112_CONFIG],[
[AC_HELP_STRING([--enable-pmix-dstore],
[Enable PMIx shared memory data store (default: disabled)])])
AC_MSG_CHECKING([if PMIx shared memory data store is enabled])
if test "$enable_pmix3_dstore" == "yes"; then
if test "$enable_pmix_dstore" = "yes"; then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's change this selection statement to match master to make it easier to compare the branches:

    if test "$enable_pmix_dstore" != "no"; then

@kawashima-fj kawashima-fj force-pushed the pr/v2.x/config-pmix-dstore branch from 9fa9e6d to 3e903aa Compare February 1, 2017 07:09
@kawashima-fj
Copy link
Member Author

@jjhursey Updated. Please review again.

I confirmed options passed to PMIx with this change.

  • Open MPI with --enable-pmix-dstore → PMIx --enable-dstore
  • Open MPI with --disable-pmix-dstore → PMIx --disable-dstore
  • Open MPI without --{enable,disable}-pmix-dstore → PMIx --enable-dstore

@kawashima-fj
Copy link
Member Author

Failure of LANL-disable-dlopen is caused by enabling dstore because --disable-dstore was default for the embedded PMIx before this PR and this PR changes it. LANL-disable-dlopen runs an MPI program as a singleton. So singleton + dstore seems to have a problem.

I can reproduce the problem on my local environment. An MPI program spawned by mpiexec runs successfully but singleton fails. The singleton ESS in MPI program forks orted with the --hnp option and receives an orted URI via read. The URL does not have an expected format (probably an empty string). We need to check orted --hnp with dstore.

In source code, the fork_hnp function in orte/mca/ess/singleton/ess_singleton_module.c returns ORTE_ERR_BAD_PARAM.

https://github.com/open-mpi/ompi/blob/v2.x/orte/mca/ess/singleton/ess_singleton_module.c#L615

@rhc54
Copy link
Contributor

rhc54 commented Feb 1, 2017

Ok, will take a look - thx!

Copy link
Member

@jjhursey jjhursey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks!

@jjhursey
Copy link
Member

jjhursey commented Feb 1, 2017

We can address the LANL-disable-dlopen runtime issue in a separate PR since this PR is only uncovering an existing issue.
@jsquyres @hppritcha I think this PR is ready to go.

The Open MPI `configure` option to enable PMIx shared meory dstore
is now `--enable-pmix-dstore`, not `--enable-pmix3-dstore`.
Without this fix, The `--disable-dstore` is always passed to PMIx
`configure` regardless of the Open MPI `configure` option.

And, == is bash extention.

The default is still `--disable-pmix-dstore`.

Signed-off-by: KAWASHIMA Takahiro <t-kawashima@jp.fujitsu.com>
@kawashima-fj kawashima-fj force-pushed the pr/v2.x/config-pmix-dstore branch from 3e903aa to 757d85b Compare February 2, 2017 00:46
@kawashima-fj
Copy link
Member Author

@jjhursey @rhc54 @jsquyres @hppritcha Pulling this PR without fixing the singleton + dstore problem will cause LANL-disable-dlopen failure on all PRs for v2.x branch. Let's split the changes if we cannot resolve the problem soon.

  1. Fix --enable-pmix3-dstore option
  2. Fix singleton + dstore
  3. Change the default

I reverted the default in the commit a few minutes ago to address only 1. Without 1, we cannot enable dstore of embedded PIMx through the Open MPI configure option.

I confirmed that the problem exists only in v2.x branch.

@jjhursey
Copy link
Member

jjhursey commented Feb 6, 2017

@kawashima-fj This looks good, and preserves the default disabled behavior for this feature. I agree with your plan noted in this comment.

Now that PR #2909 is in, I think all that is left is a PR making dstore default enabled. Is that correct?

@kawashima-fj
Copy link
Member Author

@jjhursey Yes. Correct. I made a PR #2932 to enable it by default to complete our work. Thanks.

@kawashima-fj kawashima-fj deleted the pr/v2.x/config-pmix-dstore branch February 7, 2017 02:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants