llnl / llnl/libyogrt

libraries getting a sub-communicator cannot reliably use yogrt

Open
#14 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
8
Forks
10
PR merge metrics
No merged PRs in 30d

Description

Tom writes:

> When writing a library rather than an application, we only get a sub-communicator, so we don't know if we have rank 0 of MPI_COMM_WORLD or not. If we don't, we can't get the time remaining. If the restriction is to avoid n simultaneous queries to the scheduler, perhaps a request from rank 0 of any subcommunicator could get the right value.

The reasons for the current restriction that only rank 0 can call yogrt_remaining() and get the remaining time are described in yogrt_remaining(3).

Since not all resource managers have the same limitations on their ability to handle such queries, and the other concerns could be managed by library or application authors, it may be reasonable to relax this restriction for library authors.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the yogrt_remaining(3) documentation and then locate the implementation of yogrt_remaining(). Determine how rank 0 is identified and how scheduler queries are issued for MPI communicators. Done means establishing and implementing a safe policy for rank 0 of a sub-communicator, with corresponding documentation and tests where the behavior is covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.