scheduler/client: add notion of 'strict memory bound' projects #5669
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.
I recently changed the client so that its estimate of a job's WSS is at least wu.rsc_memory_bound.
This addressed a problem with CPDN apps,
which have small WSS for a while and then get big; the client would run too many of these at once
and when they get big the system would run out of RAM and/or swap.
However, some projects have rsc_memory_bound quite a bit larger than actual WSS,
and this change caused the client to run fewer of these jobs, causing idle CPUs in some cases.
Solution: have a per-project 'strict memory bound' flag, specified in config.xml.
For projects that set this (like CPDN) we'll estimate WSS the new way; otherwise we'll use the old way.