We use sun grid engine(actually open scheduler grid) as drms. Suppose we have 3 users: uA, uB, uC. uA submit 100000 jobs then uB submit 10 jobs then uC submit 1 job. With default scheduling policy, grid engine will run uA's 100000 jobs and then uB's 10 and then uC's 1 job, thus uB and uC need to wait a long time.
We hope the scheduler can select jobs to run like this:
first, select 1 uA's job, 1 uB's job, 1 uC's job
then, select 19 uA's jobs, 19 uB's jobs
then, select uA's other jobs
How to set the policy to fit this?
I have done this by setting up a share tree policy with a single user = default. You also need to set a rapid half-life decay on prioritization (I used 1 hour). Also, place 0 priority weight on job waiting time. (Put 100% on the share tree policy.) I did this poking around in qmon and experimenting with different values.