Replace hostname gather/scatter with more scalable algorithm
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 122
- Forks
- 34
- PR merge metrics
- No merged PRs in 30d
Description
To determine which MPI ranks are on the same node, this code gathers hostnames to rank 0, rank 0 computes the local rank ids, and then the result is scattered back out.
here:
https://github.com/LLNL/UnifyCR/blob/3c7e3a941480b0d27182628d9fef0eec9d1d875c/client/src/unifycr.c#L2393
and here:
https://github.com/LLNL/UnifyCR/blob/3c7e3a941480b0d27182628d9fef0eec9d1d875c/server/src/unifycr_init.c#L277
A more scalable method would be to use MPI_Comm_split_type (added in MPI-3):
https://www.open-mpi.org/doc/v2.0/man3/MPI_Comm_split_type.3.php
or via rankstr (ECP VeloC component):
https://github.com/ECP-VeloC/rankstr
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 reading the hostname gather/scatter code at client/src/unifycr.c:2393 and server/src/unifycr_init.c:277, then compare the MPI_Comm_split_type and rankstr approaches linked in the issue. Done means replacing the current rank-locality algorithm with a more scalable implementation in the affected paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- distributed-systems, hpc
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100