NAME
sge_priority - Grid Engine job priorities
DESCRIPTION
The SGE_PRIORITY man page describes means in Grid Engine for
controlling job priorities.
Grid Engine provide means for controlling job dispatch and
run-time priorities. The dispatch priority is about the
importance of pending jobs compared with each other and
determines the order in which Grid Engine dispatches jobs to
queues instances. The run-time priority is about the operat-
ing system priorities of running jobs that influences the
CPU allocation which the operating system assigns to jobs.
JOBS DISPATCH PRIORITY
A job's dispatch priority is affected by the job's submit(1)
-p priority (often also called POSIX priority "ppri"), the
job's submit time, the job's deadline initiation time and
the overall policy set-up.
The overall policy set-up can be set through 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 easier control, the base priorities
("tckts"/"urg"/"pprio") are normalized
("ntckts"/"nurg"/"npprior") before they are used to calcu-
late job priorities ("prio"):
npprior = normalized(ppri)
nurg = normalized(urg)
ntckts = normalized(tckts)
prio = weight_priority * pprio +
weight_urgency * nurg +
weight_ticket * ntckts
Normalizing maps each base urgency/ticket/priority value
into a range between 0 and 1. The higher a jobs priority
value the earlier it gets an assignment.
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 and on how many
slots) and how "important" this resource is considered in
comparison to other resources. This is expressed by the for-
mula:
hrr = rurg * assumed_slot_allocation * request
with the resources urgency value ("rurg") as specified under
urgency in complex(5), the job's assumed_slot_allocation
representing the number of slots a job supposedly gets and
the per slot request as 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 = wheight_deadline / free_time
or is set to 0 for non-deadline jobs.
The ticket policy unites functional, override and share tree
policies in the ticket value ("tckts") being defined as the
sum of the specific ticket values ("ftckt"/"otckt"/"stckt")
for each sub-policy
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 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.
SEE ALSO
sge_intro(1), complex(5), qstat(1), qsub(1), sched_conf(5),
sge_conf(5) Grid Engine Installation and Administration
Guide
COPYRIGHT
See sge_intro(1) for a full statement of rights and permis-
sions.
Man(1) output converted with
man2html