docs: add distributed MPICH/Hydra workflow - #490
Draft
alan-lira wants to merge 1 commit into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #485
Summary
This pull request adds a practical guide for running MANA across multiple nodes with MPICH and Hydra.
I prepared this guide while converting a working two-node checkpoint-and-restart environment into a repeatable validation workflow. During that process, several small configuration details caused failures that initially appeared to be MPI or MANA problems.
Examples included accidentally selecting Open MPI compiler wrappers, launching remote ranks from a directory that did not exist on every node, allowing SSH to consume the remaining lines of a hostfile loop, placing
.mana.rcoutside theHOMEseen by remote ranks, and restarting from a working directory that was incompatible with the current restart wrapper.The purpose of this guide is to collect those details in one place and make the complete distributed workflow easier to reproduce, validate, and diagnose.
What the guide covers
The guide explains:
ssh -nis important inside hostfile loops;-wdir;HOMEand.mana.rc;.tmpfiles;PMI_FDdependency relates to the separate DMTCP proposal;Why this documentation is useful
A distributed checkpoint-and-restart failure often occurs in a different layer from the visible symptom.
For example:
.mana.rccan look like a MANA launch problem;The guide therefore recommends validating the environment incrementally:
This ordering made the distributed setup significantly easier to debug.
Relationship to the other proposals
The guide documents the current-main workflow and identifies places where companion proposals simplify it.
In particular:
PMI_FDhandling observed in the validated MPICH/Hydra environment.Those source changes are intentionally not included in this documentation branch.
Validation
The guide is based on a successful end-to-end validation using:
MPI_Allreducecorrectness;The documentation uses generic paths and hostnames. It does not contain cluster provisioning, private SSH material, scheduler credentials, checkpoint images, or benchmark source code.
Documentation location
I am opening this as a draft because I would appreciate guidance on the preferred long-term location.
The guide currently lives under
doc/, with a small link from the main README. I understand that MANA also maintains documentation through the MANA Manual and a separate documentation project.I am happy to move or divide the material according to the maintainers' preference. Possible options include:
Scope
This pull request changes documentation only.
It does not modify coordinator behavior, restart behavior, the lower half, the DMTCP submodule, or the multi-node test implementation.