[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] Group Quotas: What's the Difference Between GROUP_AUTOREGROUP and GROUP_ACCEPT_SURPLUS?

On 02/10/2014 10:10 AM, Uri Schneider wrote:

Hello all,


I am using group quotas in my setup, in the following manner:

·         I have three groups, and I allocate 0.75 of the cluster's slots to them. Let's say each group gets a quota of 0.25.

·         The rest I leave unallocated.

·         I have configured PREEMPTION_REQUIREMENTS to allow preemption if the submitter is under its quota and the running job belongs to a group which is over the quota. So, each group is guaranteed its quota, usually without waiting.


My intention is that empty slots can be used by any group, even if the group is over its quota. From the documentation I learned that I can use both GROUP_AUTOREGROUP and GROUP_ACCEPT_SURPLUS for this purpose.


With GROUP_AUTOREGROUP, after all groups have negotiated for resources, subject to their quotas, if there are any unmatched slots left over, there is an additional negotiation round.  In this final round, the accounting groups are ignored, all the submitters with idle jobs (from all groups) effectively form a one new, ad-hoc group, and negotiate within that, according to their user priorities.

With GROUP_ACCEPT_SURPLUS, there is not an additional negotiation round.  The negotiator assumes that all jobs will match all machines, and predicts how many resources each group will consume.  If any group has GROUP_ACCEPT_SURPLUS, and demand above quota, and the prediction shows that there will be idle jobs, the effective quota for that group is temporarily raised by this amount for the negotiation round.  This additional surplus quota is handed out to groups proportionally to their original quota assignment.  Then, negotiation is run as usual.