Document a fallback for CMA (cross memory attach)
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 122
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
Mercury uses CMA for shared memory communication. CMA is not enabled on all systems, and when it is, there are some cases where the OS disables it at runtime.
Even if CMA is enabled for users in general, the OS can disable it in certain situations. For example, if the read bit is not set on the executable, I think CMA is disabled. We have run into this where some binaries have their execute bit set but not their read bit. That enables someone to run a code but not read any of its bits. I wonder if we might see the same thing if we disable the read bit on the UnifyFS client application.
As Phil Carns noted in his email, mercury 2.x has an explicit check for this that will tell users if CMA was detected as supported by the configuration but not runtime enabled. Another reason we should try to move to newer margo/mercury/argobots versions.
We should look for and document fallbacks for those cases where it's needed. If Mercury can switch to use standard shared memory instead, that'd be a good option. Alternatively, we could modify UnifyFS to let the user set up a socket connection between the client and server.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by checking Mercury 2.x's CMA runtime-support check and the existing UnifyFS client/server communication paths. Investigate cases where CMA is unavailable, including executable permission restrictions, then document the supported fallback behavior. Done means the relevant CMA failure cases and fallback options are clearly recorded.
Written by the indexing model from the issue text.
Assessment
- Domain
- distributed-systems, operating-systems
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100