1
Proposal on Priority Classes (v2)
7
The purpose of the priority class work package is to provide one consistent
8
priority concept (GE and GEEE) that allows enforcing a strict hierarchy of
9
job priority classes. Strict means that higher privileged jobs are started
10
before less privileged jobs if appropriate resources are available.
12
2. Current GE priority concept
14
With GE we do have such a priority class concept allowing any user to
15
assign any priority to a job in the range between -1023 and 0 at submission
16
time, whereas higher numbers correspond with higher priorities. For assigning
17
priorities the POSIX switch "-p <priority>" switch is used. The same switch
18
can be used after job submission for lowering the initial job priority.
19
The default job class is 0. Priviledged users (i.e. GE operators/managers)
20
can assign priorities to any job at any time in the range between -1023 and
23
3. Current GEEE priority concept
25
In GEEE the "-p <priority>" switch also exists, but unfortunately it's effect
26
on scheduling is less clear: Depending on the setup of GEEE policies it can
29
(1) weight the ticket distribution resulting from GEEE share tree/functional
30
policy and thus prioritize jobs among each other of the same user or project (?)
32
(2) use the functional policy to implement simple job based strict priority
33
dispatching similar to GE priority
35
(3) achieve various combinations of (1) and (2)
37
unfortunately none of these GEEE options satisfies the requirements as fulfilled
38
with GE. The priority concept with (1) is completely different, since it
39
adresses a different problem apparently. The priority concept with (2) is close to
40
GE priority concept but this approach has some drawbacks and negative implications
42
- being just an emulation of GE priorty concept certain scheduler optimizations
43
in effect with original GE priority can't take place
44
- since the functional policy is used to implement this priority concept the
45
functional policy can't be used in conjunction with strict job based priorties
46
- in opposite to GE the priority of running jobs can't be changed
47
this is a constrain resulting from certain needs of option (1)
48
- in opposite to GE this priority concept is not available out-of-the-box,
49
but instead must be implemented explicitly
51
option (3) is a combination of (1) and (2).
55
There is a difference with the priority concepts provided by the two products
56
GE and GEEE. This is of some practice significance as GEEE is considered to be
57
a superset of GE. Thus sites upgrading from GE to GEEE will expect that
58
any feature they had with GE will available in the same manner with GEEE. This
59
can be achieved by implementing (2), though by doing so these sites looses
60
functional policy as an important configuration option. Besides the share tree
61
policy the functional policy is the main reason for sites to decide for GEEE
64
3. WP1: Implement GE priority classes concept as native GEEE feature
66
It is obvious that it is necessary to bring both priority concepts in on line.
67
The GE priority is clear and easy enough to be implemented also in GEEE as a
70
In the GEEE scheduler the GE priority must have absolute precedence compared with
71
the GEEE internal ticket concept. That means jobs with higher GE priority will be
72
considered first for dispatching regardless of the ticket amount the job gained from
73
different GEEE policies. Only for jobs with the same GE priority the GEEE tickets
74
are considered to decide with job is dispatched first.
78
1. The decision to be taken is about the GEEE -p submit option. Currently it is
79
overcharged with two priority concepts. Since both of these priority concepts do
80
make sense there must be means for the user to differ which priority concept is
81
meant. One possible solution is to introduce a new GEEE-only option to be used
82
for controlling GEEE intra-user/intra-project priority concept e.g.
83
"-ip <priority>". By doing so the "-p <priority>" can be used exclusively for
84
controlling GE priority also with GEEE.
86
2. Shannon: It should be very easy to replace the use of "job priority" in GEEE
87
with a concept of "user job tickets" which would simply be the number of
88
tickets each user associates with his job. The GEEE policies would then
89
directly use this "user job tickets" value instead of job priority. I would
90
also prefer using the tickets terminology instead of priority to be consistent
91
with the rest of GEEE.
93
5. WP2: Finer-grained control on privileged priority classes
95
Having the GE priority concept available in GEEE provides the basic prerequisite
96
for further improvements with priority classes. One major deficiency of the GE priority
97
is that priorities higher than 0 can be only assigned to jobs by privileged users. This
98
can make frequent manual intervention by GE managers/operator necessary. It is possible
99
to reduce the amount of cases in which manual interventions by managers/operators becomes
100
necessary by adding trusted users to the operators ACL. However operators are allowed to
101
assign *any* priority to their jobs. Also they could be attempted to misuse their operator
102
privileges in other respect. Thus a more fine grained instruments for controlling access
103
to high job priorities might be desirable at sites where users are not disciplined enough.
105
To adress this it is conceivable to provide more fine-grained means for controlling
106
access to privileged priority classes. With the 'command_line' setting the job class
107
design provides the administrator with a possibility to assign privileged and
108
unprivileged priority classes to certain job classes. Since the access to the job class
109
object is controlled by (x)user_lists job classes can be used for this purpose.
111
To make the specification complete it is necessary to describe the relation between
112
-p <priority> option specified by the user at command line and the -p <priority> option
113
contained in the JC 'command_line'. A reasonable relation could be to use the JC priority
114
as the default and highest priority allowed when overriding JC priority by the job
119
1. Further investigation on the relation between JC priority and job priority
120
is required to figure out what appears to be a reasonable behaviour in case
121
the JC priority changes.