Given the following (worker, instance) configuration [(a,1), (b,2), (c,3)] all the 6 worker instances a1, b1, b2, c1, c2, c3 can run concurrently.
Add an engine parameter that can limit the global number of instances concurrently working.
Eventually the instances to run should belong to different workers, if possible.
For example, in case of max 3 instances, a1, b1, c3 would be preferable over a1, b1, b2.