Hi Ernst,
First, if you even need to setup several queues for your CE in DIRAC, you do not need to define as many queues in the ARC configuration. You just add CEQueueName option in the DIRAC queue configuration parameters which is the name of the ARC CE queue. Then several DIRAC queues can point to the same ARC queue but with different parameters.
Second, I do not think that you need separate queues for 1,2,4 and 8 cases. Although, you can do it, but 2-core jobs will be eligible to both 4-core and 8-core queues and so on. So, the case with 2 queues with NumberOfProcessors = 1 and 8 will be sufficient. A schematic example of the CS settings is the following:
YourSite
{
CEs
{
{
CEType = ARC
...
Queues
{
1core
{
# This is a single core queue, nothing special
CEQueueName = nordugrid-torque-infra
...
}
8core
{
# This is a 8-core queue which accepts only MP jobs
CEQueueName = nordugrid-torque-infra
...
NumberOfProcessors = 8
RequiredTag = MultiProcessor
LocalCEType = Pool
}
}
}
}
}
As for more pilots submitted than it is necessary, this is a feature of the concept I would say. Indeed if the number of user jobs is small,
the system tends to submit more pilots than it seems reasonable to gran too many resources. However, if the number of user jobs is large
(our usual target case), then all the eligible resources will get a chance to compete for user jobs and pilots will execute more than 1 user
jobs each. So, there is a small waste of resources in the first case, and large resources savings in the second. And you can always try to
set up a compromise solution playing with the queues definitions like above.
Cheers,
Andrei