Skip to content
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

broker: add function to pmiutil to fetch taskmap #4800

Closed
grondo opened this issue Dec 6, 2022 · 2 comments
Closed

broker: add function to pmiutil to fetch taskmap #4800

grondo opened this issue Dec 6, 2022 · 2 comments

Comments

@grondo
Copy link
Contributor

grondo commented Dec 6, 2022

Problem: The broker can't take advantage of the special flux.taskmap PMI key when PMI_process_mapping is truncated, since it currently only attempts to fetch PMI_process_mapping using pmiutil's broker_pmi_kvs_get().

A new function to fetch and create a struct taskmap should be added to broker/pmiutil.c which can return a taskmap in any of the broker's PMI "modes": singleton, dlopen, wire.1, or pmix. As noted in #4798, and optimization can be used when using the simple_client interface (i.e. wire.1), but the code to fetch and decode flux.taskmap or PMI_process_mapping will have to exposed, since the broker does not use either of the clique functions that result in fetching the taskmap internally.

I'm unsure how the taskmap would be created for the PMIx case.

@garlick
Copy link
Member

garlick commented Dec 9, 2022

Is this resolved by #4798 or did we think there was more to do here? Since flux.taskmap is only present in flux's PMI implementation, is there any reason to support those other "modes"?

@grondo
Copy link
Contributor Author

grondo commented Dec 9, 2022

Right, I think the current implementation is simple enough that we won't gain much by pushing the taskmap fetch into the pmiutil interface. Closing.

@grondo grondo closed this as completed Dec 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants