LSF uses fairshare scheduling to divide the processing power of the LSF cluster among users and groups to provide fair access to resources. Without fairshare scheduling a user could submit many long jobs at once and monopolize the cluster's resources for a long time, while other users submit urgent jobs that must wait in queues until all of the first user's jobs are all done.
Fairshare scheduling works by assigning a fixed number of shares to each user or group. These shares represent a fraction of the resources that are available in the cluster. The most important users or groups are the ones with the most shares. A user's dynamic priority depends on their share assignment, the dynamic priority formula, and the resources their jobs have already consumed. LSF tries to place the first job in the queue that belongs to the user with the highest dynamic priority. The order of jobs in the queue is secondary. LSF calculates the dynamic priority based on the following information about each user:
- Number of shares assigned to the user or group. All faculty members, regardless of the number of accounts they own, have the same number of shares and therefore the same access to the facilities
- Resources used by jobs belonging to the user or group
- Number of job slots reserved and in use
- Run time of running jobs
- Cumulative actual CPU time, adjusted so that recently used CPU time is weighted more heavily than CPU time used in the distant past.
Please note that the more resources a user consumes the lower their priority becomes. This insures that “heavy” users cannot dominate the system. Also note that a user's dynamic priority is calculated on a queue by queue basis, and is different in every queue.