NAME
sge_priority - Sun Grid Engine job priorities
DESCRIPTION
Sun Grid Engine provide means for controlling job dispatch
and run-time priorities. The dispatch priority indicates the
importance of pending jobs compared with each other and
determines the order in which Sun Grid Engine dispatches
jobs to queue instances. The run-time priority determines
the CPU allocation that the operating system assigns to
jobs.
JOBS DISPATCH PRIORITY
A job's dispatch priority is affected by a number of fac-
tors:
o the identity of the submitting user
o the project under which the job is submitted (or alterna-
tively, the default project of the submitting user)
o any resources requested by the job
o the job's submit time
o the job's initiation deadline time (if specified)
o the -p priority specified for the job (also known as the
POSIX priority "pprio")
The effect of each of these is governed by the overall pol-
icy setup, which is split into three top-level contribu-
tions. Each of these is configured through the
sched_conf(5) parameters weight_priority, weight_ticket and
weight_urgency. These three parameters control to what
degree POSIX priority, ticket policy, and urgency policy are
in effect. To facilitate interpretation, the raw priorities
("tckts"/"urg"/"ppri") are normalized
("ntckts"/"nurg"/"npprior") before they are used to calcu-
late job priorities ("prio"). Normalization maps each raw
urgency/ticket/priority value into a range between 0 and 1.
npprior = normalized(ppri)
nurg = normalized(urg)
ntckts = normalized(tckts)
prio = weight_priority * pprio +
weight_urgency * nurg +
weight_ticket * ntckts
The higher a job's priority value, the earlier it gets
dispatched.
The urgency policy defines an urgency value for each job.
The urgency value
urg = rrcontr + wtcontr + dlcontr
consists of the resource requirement contribution
("rrcontr"), the waiting time contribution ("wtcontr") and
the deadline contribution ("dlcontr").
The resource requirement contribution is adding up all
resource requirements of a job into a single numeric value.
rrcontr = Sum over all(hrr)
with an "hrr" for each hard resource request. Depending on
the resource type two different methods are used to deter-
mine the value to be used for "hrr" here. For numeric type
resource requests, the "hrr" represents how much of a
resource a job requests (on a per-slot basis for pe jobs)
and how "important" this resource is considered in com-
parison to other resources. This is expressed by the for-
mula:
hrr = rurg * assumed_slot_allocation * request
where the resource's urgency value ("rurg") is as specified
under urgency in complex(5), the job's
assumed_slot_allocation represents the number of slots sup-
posedly assigned to the job, and the per-slot request is
that which was specified using the -l qsub(1) option. For
string type requests the formula is simply
hrr = "rurg"
and directly assigns the resource urgency value as specified
under urgency in complex(5).
The waiting time contribution represents a weighted weight-
ing time of the jobs
wtcontr = waiting_time * weight_waiting_time
with the waiting time in seconds and the weight_waiting_time
value as specified in sched_conf(5).
The deadline contribution has an increasing effect as jobs
approach their deadline initiation time (see the -dl option
in qsub(1)). It is defined as the quotient of the
weight_deadline value from sched_conf(5) and the (steadily
decreasing) free time in seconds until deadline initiation
time
dlcontr = weight_deadline / free_time
or is set to 0 for non-deadline jobs. After the deadline
passes, the value is static and equal to weight_deadline.
The ticket policy unites functional, override and share tree
policies in the ticket value ("tckts"), as is defined as the
sum of the specific ticket values ("ftckt"/"otckt"/"stckt")
for each sub-policy (functional, override, share):
tckts = ftckt + otckt + stckt
The ticket policies provide a broad range of means for
influencing both job dispatch and runtime priorities on a
per job, per user, per project, and per department basis.
See the Sun Grid Engine Installation and Administration
Guide for details.
JOB RUN-TIME PRIORITY
The run-time priority can be dynamically adjusted in order
to meet the goals set with the ticket policy. Dynamic run-
time priority adjustment can be turned off (default) glo-
bally using reprioritize_interval in sched_conf(5) If no
dynamic run-time priority adjustment is done at a host
level, the priority specification in queue_conf(5) is in
effect.
Note that urgency and POSIX priorities do NOT affect runtime
priority.
SEE ALSO
sge_intro(1), complex(5), qstat(1), qsub(1), sched_conf(5),
sge_conf(5) Sun Grid Engine Installation and Administration
COPYRIGHT
See sge_intro(1) for a full statement of rights and permis-
sions.
Man(1) output converted with
man2html