[GE users] User job priority sorting with functional policy

Mikael Johansson mpjohans at pcu.helsinki.fi
Sun May 29 00:14:06 BST 2005

Hello All!

With help from the list and Chris Dagdigian's instructions at 
http://bioteam.net/dag/sge6-funct-share-dept.html, I set up a "Functional 
policy" for sorting user jobs to be dispatched based on how many jobs the 
user already has running on the cluster. For this, I modified the 
scheduler configuration with 'qconf -msconf' so that 'weight_user' is 
1.0. The other important settings are (I guess):

weight_user                       1.000000
weight_project                    0.000000
weight_department                 0.000000
weight_job                        0.000000
weight_tickets_functional         100000
weight_tickets_share              0
share_override_tickets            TRUE
share_functional_shares           TRUE
report_pjob_tickets               TRUE
weight_ticket                     9.000000
weight_waiting_time               0.000000
weight_deadline                   3600000.000000
weight_urgency                    0.100000
weight_priority                   0.200000

This works very well, a user with less jobs running is always put in front 
of a user with more jobs running in the waiting queue (qw).

However, I have not figured out how to get internal job ordering for a 
specific user to work. Adjusting the priority with the '-p' parameter is 
not doing what I want. The value of '-p' is only taken into account when 
calculating the "priority value" for the job, and then the weight of '-p' 
is defined by the relative values of 'weight_ticket' and 
'weight_priority'. But 'weight_priority' must be quite low, otherwise 
people could just set -p 1024 to get to the top of the queue...(I guess 
this could be remedied by telling people to always set -p 1024.)

Anyway, I find no simple way for a user to define that he/she wants to 
dispatch a specific job before another in the queue. Adjusting '-p' can 
actually lead to a situation where lowering the priority drops the job 
behind another users jobs. In any case, the user would have to fiddle 
around to a ridiculous extent with different '-p':s to get her/his jobs in 
the order desired. And this order could anyway be readjusted as soon as 
the job distribution in the cluster changes...

Is there a (simple) way of getting the jobs of a user sorted in order of 
their '-p' values (or some other adjustable parameter) without otherwise 
affecting the positions of the users jobs in the dispatch queue?

OK, one ugly solution would be to 'qdel' the jobs that should be 
dispatched later, and resubmitting them, as the time of submission doesn't 
affect the ordering. But this only works in the cases where waiting time 
doesn't count.

Have a nice day,
     Mikael J.

To unsubscribe, e-mail: users-unsubscribe at gridengine.sunsource.net
For additional commands, e-mail: users-help at gridengine.sunsource.net

More information about the gridengine-users mailing list