Usage: VovPreemptRule -rulename NAME [OPTIONS]
Options:
-pool POOLNAME -- The rule belongs to a pool of rules.
At most one preemption can occur for each pool
in each preemption cycle (default: mainpool)
-rulename NAME -- Required.
-ruletype TYPE -- The type of preemption rule. Allowed values are
GENERIC, FAST_FAIRSHARE, MULTIQUEUE, RESERVE_RESOURCES,
RESERVE_TASKERS, and FREE_TASKERS (default: GENERIC)
-order INTEGER -- Specify the order of evaluation of rules within the same pool.
Rules are evaluated from low to high order. If not specified
the order is assigned automatically based on order of declaration.
Typical range is small positives from 0 to 1000, but the order
can be any integer.
-enabled BOOL -- To enable and disable the rule.
-enable BOOL -- Same as -enabled (obsolete).
-debug BOOL -- To control debugging flag for this rule.
-fireonce BOOL -- To control the fire-once flag.
-preempting SELRULE -- A selection rule for the top job in a bucket.
-waitingfor RESLIST -- If set, the top job in the bucket must be waiting
for at least one of the
given resources in order to trigger a preemption.
If the RESLIST contains the string 'HW', then
preemption is triggered if a job waits for a slot.
-bucketage TIMESPEC -- Only apply the preemption if the bucket age
is greater than the specified value.
-multiqueueres RESLIST -- Trigger preemption if a multiqueue resource (rank>20)
is imbalanced.
-mqthresh THRESHOLD -- Percent reduction in MQ allocation that triggers
preemption. Default 0.1=10%
-donotdisturb TIMESPEC -- Do not preempt a job that was a top-job (i.e. a job
that triggered some preemption) for at least the specified
time (default 10m)
-preemptable SELRULE -- A selection rule for the running jobs
that should be preempted. Any field of the
form @FIELD@ is replaced by the corresponding
value for the top job in the bucket.
-preempttaskerspec SPEC -- If preempting job is waiting for hardware,
preempt taskers that match the given SPEC.
The SPEC may include "TaskerList:NAMEOFTASKERLIST"
and selection rules for taskers, like "HOSTNAME=lnx01,lnx02 RANDOM>5000"
Used for FREE_TASKERS rules.
-preempttaskersnum N -- For FREE_TASKERS rules, how many taskers to preempt for each bucket
that matches the preempting rule. In any case, we never preempt more
taskers than there are jobs in the bucket. Default is 1.
Use a higher number if you are preempting many jobs for better performance.
-killage TIMESPEC -- Jobs younger than this age are simply killed
and resubmitted. Limited to 7 days max and default
is 0 which implies that killage is not used.
-method METHOD -- The method to be used to recover license
resources from the job. Allowed values are
SUSPEND, LMREMOVE, RESERVE, AUTOMATIC.
If AUTOMATIC, then each license is removed using
the specific method defined with VovPreemptMethod.
Default: AUTOMATIC
-skipresumedjob TIMESPEC -- Do not preempt jobs that have been resumed
no more than TIMESPEC ago.
Default: 2m
-reservetime TIMESPEC -- How long resources should be reserved for the
top job when attempting preemption (default 20)
-reservetype RESTYPE -- Deprecated. Use reservefor.
-reservenum N -- How many taskers are to be reserved for RESERVE_TASKERS rule type.
Default: 1
-reservetasker TASKERNAMES -- If a job is waiting for hardware, this is a space-separated list
of taskers to reserve for the job. It is also possible to include
a tasker list by using the keyword 'TASKERList:NAME_OF_TASKER_LIST'.
-preempttaskerspec is used if the field is empty.
-reservefor RESSPEC -- Specify how to reserve a tasker. The RESSPEC is
a space-separated list of KEY VALUE, where KEY is
one of BUCKET USER GROUP JOBCLASS JOBPROJ OSGROUP JOBID and VALUE
is a comma-separated list of values (also symbolic like @USER@).
VALUE of BUCKET and JOBID entered here is ignored and
preempting job ID and bucket ID are used.
Default is BUCKET.
-resumeres RESLIST -- List of resources to append to the resumer job.
RESLIST can contain field references (e.g. @HOST@)
which are taken from the preempted job.
-resumedelay TIMESPEC -- Set the minimum delay before executing the resumer job,
where TIMESPEC is the span of time between job
suspension and future time when the resumer job
will be considered for scheduling again.
Default: 5s
-numjobs N -- The maximum number of jobs preempted per bucket per
preemption cycle.
-maxattempts N -- The maximum number of attempts to match the rule for a
preempting job. Setting this to zero (0) disables the check
meaning that the rule can be matched an unlimited number of times
which is useful for example for RESERVE_* type rules.
-sortjobsby N -- Criteria to sort/order potential preemptable jobs.
Format is:
<fieldname> [ASC|DESC] [, <fieldname> [ASC|DESC]]*.
Default is 'PRIORITY ASC, AGE ASC'.