Stephan Grell's Weblog
Stephan Grell's Weblog

20050425 Montag April 25, 2005

N1GE 6 - Scheduler Hacks: The ticket policy hierarchy
The N1GE 6 support fair share scheduling through its ticket policy. The ticket policy consists of three different parts:

- the Share Tree policy
- the functional policy
- the override policy

The share tree and the functional policy have a fixed amount of tickets, which gets distributed over all jobs in the system. The override policy is open. If "share override tickets" or "share functional tickets" are enabled, the ticket amount of a job depends in its submission time. The ticket amount in the share tree always depends on the submission time as well as the past usage. Of course to all three of them depend on the assignments from the configuration.

The statement, that the jobs' ticket amount depends on the submission time is a bit simple. An additional parameter comes into play through the Ticket Policy Hierarchy. It specifies the order in which the different ticket policies are called. The default is: OFS, which means:

1. O = override ticket policy
2. F = functional ticket policy
3. S = share tree policy

The real dependency for the final tickets are:

compute override tickets:
 - assigned tickets by the configuration
 - job submission time

compute functional tickets:
 - assigned tickets by the configuration
 - assigned override tickets
 - job submission time

compute share tree tickets:
 - assigned tickets by the configuration
 - usage
 - assigned override tickets
 - assigned functional tickets.
 - job submission time

As you see, the previous computed tickets have an effect on the following ticket policy. The next example will demonstrate it.

Setup:
qconf -msconf
   ticket_policy_hierarchy   OFS
   weight_tickets_functional         100000
   weight_tickets_share              0
   weight_ticket                     1.000000
   weight_waiting_time               0.000000
   weight_deadline                   3600000.000000
   weight_urgency                    0.000000
   weight_priority                   0.000000

qconf -aprj PRJ1
   name PRJ1
   oticket 10
   fshare 0
   acl NONE
   xacl NONE

qconf -muser <NAME>
   fshare 100

Jobs:
7 jobs without a project:
   qsub $SGE_ROOT/examples/jobs/sleeper.sh

2 PRJ1 jobs:
   qsub -P PRJ1 $SGE_ROOT/examples/jobs/sleeper.sh

qstat output:
JobId     P      S   Project  Tot-Tkt   ovrts   otckt  ftckt   stckt   shr
--------------------------------------------------------
223690 1.00000   qw     PRJ1   25010       0      10   25000       0    0.35
223691 0.50000   qw     PRJ1   12505       0       5   12500       0    0.18
223683 0.33320   qw       NA    8333       0       0    8333       0    0.12
223684 0.24990   qw       NA    6250       0       0    6250       0    0.09
223685 0.19992   qw       NA    5000       0       0    5000       0    0.07
223686 0.16660   qw       NA    4166       0       0    4166       0    0.06
223687 0.14280   qw       NA    3571       0       0    3571       0    0.05
223688 0.12495   qw       NA    3125       0       0    3125       0    0.04
223689 0.11107   qw       NA    2777       0       0    2777       0    0.04

Setup change:
I know modify the policy hierarchy:

qconf -msconf
   ticket_policy_hierarchy   FSO

and the qstat output changes to:
JobId     P      S   Project  Tot-Tkt   ovrts   otckt  ftckt   stckt   shr
--------------------------------------------------------
223683 1.00000   qw       NA   25000       0       0   25000       0    0.35
223684 0.50000   qw       NA   12500       0       0   12500       0    0.18
223685 0.33333   qw       NA    8333       0       0    8333       0    0.12
223686 0.25000   qw       NA    6250       0       0    6250       0    0.09
223687 0.20000   qw       NA    5000       0       0    5000       0    0.07
223688 0.16667   qw       NA    4166       0       0    4166       0    0.06
223689 0.14286   qw       NA    3571       0       0    3571       0    0.05
223690 0.12540   qw     PRJ1    3135       0      10    3125       0    0.04
223691 0.11131   qw     PRJ1    2782       0       5    2777       0    0.04

( Apr 25 2005, 12:27:04 PM CEST ) Permalink Kommentare [0]


Archive
Sprache
Links
Referenzierte URLs