Hi cam,
First, let me explain the concepts of "subjobs" and "jobslots" that Qube uses.
Subjobs are basically instances of your jobs, and are the things that actually run
on the farm. For example, if you specify a renderman job to use 8 subjobs, you're
really telling the system to execute (up to) 8 instances of renderman to process the
job's frames. For historical reasons, our submission dialogs refer to these as "CPUs"--
i.e., you specify 8 "CPUs" when submitting your job, which really means you're asking
for 8 "subjobs" or instances (that is, there's no specific connection with physical
number of CPUs) to carry out the job.
Jobslots are the number of subjobs that a given worker (render node) can process at a
time. By default, workers have as many jobslots as there are cores on the node, so
an 8-core machine will have 8 jobslots, and therefore be able to process 8 subjobs
at once.
In your scenario, you can keep the workers to have the default number of jobslots,
which is 8, but when you submit your jobs, you can tell the system that your subjobs
each require N procs. More specifically, each job you submit can have "resource
reservations" attached to them, and if you specify a "reservation" of
"host.processors=4", for example, you are saying that this job's subjob will occupy
4 jobslots when run.
So, for instance, if you're submitting software B job, you'll want to specify
"host.processors=4". That will allow the system to run only 2 subjobs of this
"software B" type on your 8-core nodes at once.
I hope that helps!
-shinya.