cluster-computingqsubsungridengine

SGE : Prioritize some tasks of a job


I have a job array where the load of each task isn't well balanced. The last task will take about 5 times longer to execute than other tasks, so I would want to execute this task before others to avoid waiting after this task to finish (using only one slot...).

How can I do that ?

I already tried increasing the priority of the last task using :
qalter -p 100 job_id -t task_id
But I get the following error : "denied: the selected option works only on jobs and not on tasks"


Solution

  • Some tasks of a job can be put on hold with the command qalter -h and the option -t.

    So, a way to prioritize some task would be to put on hold all other task until the tasks to prioritize have started.

    Example : if we want to put on hold the tasks of the job 30500 that are on the queue except the last one (100):
    qalter -h u 30500 -t 1:99

    Then, when the task 100 started, we can remove the hold with:
    qalter -h U 30500 -t 1:99