Search code examples
cluster-computingschedulingpbs

pbs walltime effect on scheduling


I am wondering if any parameters of a PBS job such as walltime are taken into account by PBS's scheduling algorithm and have an effect on the priority of a job. Unfortunately I wasn't able to find details on the PBS scheduling. Can anybody tell me or point me to it?

In addition is there a way to see which job is executed next?


Solution

  • Yes, PBS Professional uses walltime attributes to estimate when this or that job will run. One specific case when this is useful is when backfilling is turned on.

    Backfilling is a policy that helps jobs with large resource requirements to get their chance to run. Sometimes large job may be stalled for a certain amount of time because smaller jobs that were submitted after this job consume resource chunks as soon as they become available. When backfilling is enabled the scheduler follows a specific algorithm.

    1. The scheduler selects one stalled job and marks it as the highest priority job or the top job.
    2. Then it uses walltime attributes of running jobs to calculate when at the latest the resources necessary to run the top job will become available and records the estimated time to begin for the top job.
    3. Next it puts on hold all the jobs in the queue that may consume the resources preselected for the backfilling job but will not terminate before the time the scheduler expects the backfilling job to begin.
    4. When the estimated time to begin the top job is reached the algorithm ensures that the resources are available unless the walltime limits were changed by the administrator or nodes went offline.

    This is one of the more frequently used scenarios when walltime attributes are used by the scheduler.

    Edited following Arun's suggestion