File: sge_priority.5

package info (click to toggle)
gridengine 6.2-4
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 51,532 kB
  • ctags: 51,172
  • sloc: ansic: 418,155; java: 37,080; sh: 22,593; jsp: 7,699; makefile: 5,292; csh: 4,244; xml: 2,901; cpp: 2,086; perl: 1,895; tcl: 1,188; lisp: 669; ruby: 642; yacc: 393; lex: 266
file content (195 lines) | stat: -rw-r--r-- 5,928 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
'\" t
.\"___INFO__MARK_BEGIN__
.\"
.\" Copyright: 2004 by Sun Microsystems, Inc.
.\"
.\"___INFO__MARK_END__
.\" $RCSfile$     Last Update: $Date$     Revision: $Revision$
.\"
.\"
.\" Some handy macro definitions [from Tom Christensen's man(1) manual page].
.\"
.de SB		\" small and bold
.if !"\\$1"" \\s-2\\fB\&\\$1\\s0\\fR\\$2 \\$3 \\$4 \\$5
..
.\"
.de T		\" switch to typewriter font
.ft CW		\" probably want CW if you don't have TA font
..
.\"
.de TY		\" put $1 in typewriter font
.if t .T
.if n ``\c
\\$1\c
.if t .ft P
.if n \&''\c
\\$2
..
.\"
.de M		\" man page reference
\\fI\\$1\\fR\\|(\\$2)\\$3
..
.TH SGE_PRIORITY 5 "$Date$" "xxRELxx" "xxQS_NAMExx File Formats"
.\"
.SH NAME
sge_priority \- xxQS_NAMExx job priorities
.\"
.\"
.SH DESCRIPTION
xxQS_NAMExx 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 xxQS_NAMExx dispatches jobs to 
queue instances. The run-time priority determines the CPU allocation
that the operating system assigns to jobs.
.\"
.\"
.SS "\fBJOBS DISPATCH PRIORITY\fP"
.\"
.\"
A job's dispatch priority is affected by a number of factors:
.IP "\(bu" 3n
the identity of the submitting user
.IP "\(bu" 3n
the project under which the job is submitted (or alternatively,
the default project of the submitting user)
.IP "\(bu" 3n
any resources requested by the job
.IP "\(bu" 3n
the job's submit time
.IP "\(bu" 3n
the job's initiation deadline time (if specified)
.IP "\(bu" 3n
the -p priority specified for the job (also known as the POSIX
priority "pprio")
.\"
.PP
The effect of each of these is governed by the overall policy setup,
which is split into three top-level contributions.  Each of these is
configured through the
.M sched_conf 5 
parameters \fBweight_priority\fP, \fBweight_ticket\fP and \fBweight_urgency\fP.
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 calculate 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.
.\"
.\"
.PP
.\" urgency policy
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").
.PP
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 
determine 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 comparison to other resources. This is expressed by the
formula:

   hrr      = rurg * assumed_slot_allocation * request

where the resource's urgency value ("rurg") is as specified 
under \fBurgency\fP in 
.M complex 5 , 
the job's assumed_slot_allocation represents the number of slots
supposedly assigned to the job, and the per-slot request is that which was
specified using the -l 
.M qsub 1
option. For string type requests the formula is simply

   hrr      = "rurg"

and directly assigns the resource urgency value
as specified under \fBurgency\fP in 
.M complex 5 . 
.PP
The waiting time contribution represents a weighted weighting time of the
jobs

   wtcontr = waiting_time * weight_waiting_time

with the waiting time in seconds and the \fBweight_waiting_time\fP value 
as specified in 
.M sched_conf 5 .
.PP
The deadline contribution has an increasing effect as jobs approach their
deadline initiation time (see the -dl option in
.M qsub 1 ).
It is defined as the quotient of the \fBweight_deadline\fP 
value from
.M 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.
.\"
.\"
.PP
.\" ticket policy
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 xxQS_NAMExx
Installation and Administration Guide for details.
.\"
.\"
.SS "\fBJOB RUN-TIME PRIORITY\fP"
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) globally using
\fBreprioritize_interval\fP in
.M sched_conf 5
If no dynamic run-time priority adjustment is done 
at a host level, the \fBpriority\fP specification in 
.M queue_conf 5
is in effect.
.PP
Note that urgency and POSIX priorities do \fBNOT\fP affect runtime
priority.
.PP
.SH "SEE ALSO"
.M xxqs_name_sxx_intro 1 ,
.M complex 5 ,
.M qstat 1 ,
.M qsub 1 ,
.M sched_conf 5 ,
.M sge_conf 5
.I xxQS_NAMExx Installation and Administration Guide
.\"
.SH "COPYRIGHT"
See
.M xxqs_name_sxx_intro 1
for a full statement of rights and permissions.