How to configure a "high priority" submit node using group quotas
Known to work with 8.6 (because of the use of a submit transform)
This recipe shows how to make a "high priority" submit node. That is - a submit node that the negotiator will always match first. It assumes that you are not already using accounting groups with quotas for some other purpose.
The basic mechanism here is that your high priority submit node will automatically put jobs submitted to it into a specific accounting group. Then if the negotiator is configured to allot most of the pools resources to that group, then that schedd will be the first one that the negotiator makes matches for.
To do this, we configure a submit transform on the submit node
config fragment for the high priority submit node
JOB_TRANSFORM_NAMES = SetPriorityGroup $(JOB_TRANSFORM_NAMES) JOB_TRANSFORM_SetPriorityGroup @=END [ Requirements = AccountingGroup is undefined; copy_Owner = "AcctGroupUser"; set_AcctGroup = "Priority"; eval_set_AccountingGroup = strcat("Priority.",Owner"); ] @END
And a group quota in the Negotiator
config fragment for central manager node
GROUP_NAMES = $(GROUP_NAMES) Priority # give the Priority group 90% of the pool resources GROUP_QUOTA_DYNAMIC_Priority = 0.9 GROUP_AUTOREGROUP = true
If the quota set for the
group is as large or nearly as large as the total
of the pool, Then the negotiator will always negotiate for jobs in the
group first. Since jobs submitted on the high priority submit node are automatically in this group, they will be matched first.
If your pool is already configured to use accounting groups with quotas, then you will need to adjust the negotiator configuration in order to use this technique.