{subsubsection: specifying quotas} -Each job then specifies what group it should be in with the "+AccountingGroup = "group_name.username" syntax. +Each job then specifies what group it should be in with the "+AccountingGroup = "group_name.username" syntax. See also: https://htcondor-wiki.cs.wisc.edu/index.cgi/tktview?tn=2728 {subsubsection: quota terminology} Note: The term "quota" is overloaded. Sometimes in the code and documentation, it means "the amount assigned by the @@ -105,12 +105,22 @@ The following steps are iterated GROUP_QUOTA_MAX_ALLOCATION_ROUNDS times: 1: (starting after 1st round) re-set 'requested' values to current usage -2: (re)compute quota allocations -3: allow all groups to renegotiate +1: (re)compute quota allocations +1: allow all groups to renegotiate {subsubsection: Round Robin Rate} Round robin rate is a method to address the 'overlapping effective pool' problem: this is a scenario where the jobs in two or more accounting groups are in fact competing for a subset of the total available resources. For example, if a pool has 100 linux machines and 100 windows machines, and 200 jobs from 2 accounting groups are competing only for the linux machines. Without intervention, the first group to negotiate can acquire all 100 linux machines and starve the 2nd group. +To address this problem, there is a loop around negotiation that operates like so: +1: (initialize all quota limits at zero) +1: increase each quota limit by the round robin rate (up to allocated quota) +1: run negotiation with those limits +1: repeat + +Round robin rate is convigured via: GROUP_QUOTA_ROUND_ROBIN_RATE, which defaults to "infinity", which emulates legacy behavior. + +(note: There is some interest in developing alternative approaches to allocation rounds and round robin rate that require fewer nested loops on top of basic negotiation) + {subsubsection: accounting group negotiation order} we sort the submitters in "starvation order", by GROUP_SORT_EXPR, defaults to the ratio of current group usage / configured group quota