The priority of jobs is regulated by fairshare scheduling
Whether job A is started before job B depends mainly on two
- 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.