Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
client: job scheduler tweaks to avoid idle CPUs
- allow overcommitment by > 1 CPU. E.g. If there are two 6-CPU jobs on an 8 CPU machine, run them both. - Prefer MT jobs to ST jobs in general. When reorder the run list (i.e. converting "preliminary" to "final" list), prefer job J1 to J2 if: 1) J1 is EDF and J2 isn't 2) J1 uses GPUs and J2 doesn't 3) J1 is in the middle of a timeslice and J2 isn't 4) J1 uses more CPUs than J2 5) J1's project has higher scheduling priority than J2's ... in that order. 4) is new; it replaces the function promote_multi_thread_jobs(), which did something similar but didn't work in some cases.
- Loading branch information