Make result queue poll for shutdown, and tidy up at shutdown #3709
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 poll happens at the configured htex poll period, which defaults to 10ms.
Under heavy result load, this shoudn't result in much additional load: the poll loop will already be looping a lot to process the results.
Under lower result load, there is a slight observable increase in CPU usage: a 30second sleep task shows this before this PR:
before:
real 0m37.451s
user 0m2.160s
sys 0m0.376s
run 2, user 2.160s
run 3, user 2.116s
and this after this PR:
real 0m37.473s
user 0m2.400s
sys 0m0.557s
Run 2, 2.457s
Run 3, 2.452s
At shutdown, the ZMQ socket for incoming results is closed.
This reduces both the number of threads and number of file descriptors left behind by the
--config local
tests. For example:$ pytest parsl/tests/test_monitoring/ --config local
Before this PR, at end of test: 32 threads, 451 fds open.
After this PR, at end of test: 1 thread, 48 fds open.
This is part of PR #3397 shutdown tidyup.
Description
Please include a summary of the change and (optionally) which issue is fixed. Please also include
relevant motivation and context.
Changed Behaviour
nothing should be really visible to normal users. Increased CPU usage in the above documented situations.
Type of change