AWS Thinkbox Discussion Forums

Priority - Pool - Balanced

something is unclear to me with the balancing system.

I have 3 jobs :

Job A - Prio 75 - 1st pool : 32gb - 2nd pool: 16gb
Job B - Prio 65 - 1st pool : 16gb - 2nd pool: 16gb
Job C - Prio 55 - 1st pool : none - 2nd pool: none

I have 11 slaves, 4 that are only in the 16GB pool, 6 that are in the 32gb pool first and as 2nd in the 16GB pool.

The job balancer is set to: Priority - Pool - Balanced

In my head this means it should first finish job A, then continue with job B when slaves in the 16GB pool are available and when slaves of the 32GB are available those should move on to job C, right?

As what happens is that the 32GB slaves are doing job A, and the 16GB slaves are split over job B & C …

Which means that the whole priority settings seems to be overruled by the pool settings and it’s only balancing the load by pool, not priority?

Well, the jobs could be filtered out by the pools. The priority will go in order assuming the second rule holds true.

The extra tricky part that isn’t immediately obvious is that the secondary pool will only be used if no job was found on the first pass through the job scan. Because the 16GB machines are being picked up by the 16gb pool, Deadline will never check the secondary pools. The issue here I think is that the scans are going depth first instead of breadth first. For example:

A B
C D
E F

Here, A C E are going to be checked in one pass, then B D F if the first three pools didn’t work. I think what you expected was the scan to work as A B, then C D, then E F.

I wonder how hard it would be to have a change to that behaviour…

Privacy | Site terms | Cookie preferences