I have a situation which might be beyond the design capabilites of QB.
All of our docker build agents are set up with a 1-1 mapping between resource count and CPU cores (minus one for over head). So an 8-core machine has a resource count of 7, a 24-core machine supports 23, etc. This usually works well fbecause most of our builds are single-threaded; using the resource counts, we guarantee that each job gets one CPU all to its own.
However, we have a new type of job which takes advantage of parallelism in 'gmake' to complete builds faster. These jobs get the best performance when they have access to 3-5 cores (more than that gives diminishing returns).
We tried changing the mapping of resources to cores to 4-1, but then my jobs that run single-threaded were also allocated four cores, wasting precious time. I could have different machines for each type of job, but then on days when there are no big jobs running, agents are sitting idle. In theory any machine should be able to run a combination of both types of jobs, making optimal use of the CPU.
Do you have any suggestions how I could accomplish my goals?