    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.