dlopen: More refactoring, add test to measure communication counts#27872
Open
dlongnecke-cray wants to merge 4 commits into
Open
dlopen: More refactoring, add test to measure communication counts#27872dlongnecke-cray wants to merge 4 commits into
dlongnecke-cray wants to merge 4 commits into
Conversation
Before, the code would do things like explicitly synchronize on e.g., 'Locales[0]'. Now, the code will synchronize 'on this' instead. While here, improve/remove comments and add a new helper routine. Signed-off-by: David Longnecker <dlongnecke-cray@users.noreply.github.com>
Signed-off-by: David Longnecker <dlongnecke-cray@users.noreply.github.com>
Signed-off-by: David Longnecker <dlongnecke-cray@users.noreply.github.com>
Also do some code cleanup and add a new method 'addOrSet' to the map record which replaces overloaded functionality. Signed-off-by: David Longnecker <dlongnecke-cray@users.noreply.github.com>
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.
This PR adds a test to measure communication counts for different dynamic loading events. It also does some more refactoring of the internal dynamic loading code as well as the code in the test directory.
Originally, the goal of this PR was to adjust the strategy used when loading a symbol from a binary so that it only generated 2 comm events: one when emplacing on the binary's locale, and another when emplacing on
here. However, I identified that this would not be possible without a significant refactor to the code and the representation of wide procedures.In lieu of making this adjustment, I've added a long comment with a
TODOin an appropriate spot that identifies our options here. However, I don't think it's worth pursuing this adjustment until we have compelling evidence that a lazy emplacement strategy is required (certainly not before the compiler introduces optimizations to localize procedure pointers).This PR also adds a new
commCounterclass that I added to help with measuring comm events. I've added it to thetest/dynamic-loadingdirectory because it is harmless there, but I may add a more robust version somewhere developer-visible in the future.