Fairshare Scheduling

The priority of jobs is regulated by fairshare scheduling. Whether job A is started before job B depends mainly on two factors:
  • when the job was submitted
  • how many shares are available to the user

In general, a job which is submitted to the batch system before another will also be started before the other. However, a user consumes so-called shares when his or her job runs based on the amount of CPU time used. The more shares a user has, the more his or her jobs will be preferred. As time passes, a user is given new shares. In this manner, equitable access to resources is achieved.

This mechanism only plays a role when jobs compete for resources. If enough resources are available, a job will also be started, even if the owner no longer has any shares.