Convert Old VovPreemptPolicy into VovPreemptRule
An old and currently unsupported preemption policy is used for this
example:
VovPreemptPolicy License:ncverilog -type OWNERSHIP:GROUP -delay 150 \
-method SUSPEND+LMREMOVE -forcelmremove \
-owners {
Group:AAA 7
Group:BBB 8
Group:CCC 10
}
## Note: this type of preemption policy is no longer supported because it
## results in a quadratic number O(N**2) of rules where N is the
## number of owners.
This is replaced by a FairShare driven preemption. Assume that the jobs to be balanced are in FairShare groups called /xxx/AAA /xxx/BBB and /xxx/CCC and that these groups have been assigned weights of 700 800 and 1000 respectively
Two implementations are suggested:
- Implementation for scripted preemption daemon (pre 2013.09)
-
## For preemption daemon before 2013.09 VovPreemptRule -rulename fsConversion \ -preempting "FSGROUP~/xxx/ FS_EXCESS_RUNNING<0 FS_COUNT_RUNNING<2" -waitingfor "License:ncverilog" \ -preemptable "FSGROUP~/xxx/ FS_EXCESS_RUNNING>0 FS_COUNT_RUNNING>2 FS_RANK9>@FS_RANK9@" -method SUSPEND+LMREMOVE
- Implementation for binary preemption daemon (2013.09 and later)
-
## For preemption daemon 2013.09 and later VovPreemptRule -rulename fsConversion -poolname somePoolName \ -ruletype "FAST_FAIRSHARE" \ -preempting "FSGROUP~/xxx/ FS_EXCESS_RUNNING<0FS_COUNT_RUNNING<2" \ -waitingfor "License:ncverilog" \ -preemptable "FSGROUP~/xxx/ FS_EXCESS_RUNNING>0 FS_COUNT_RUNNING>2 FS_RANK9>@FS_RANK9@" -method SUSPEND+LMREMOVE