Priority calculation

The resource allocation queue holds resource requests that are sorted and processed by their job priority. The priorities of all jobs in the queue will be recalculated each time a job changes its status or resources are released or newly added to the FSE implementation. These job priorities are dynamically increasing according to their age and phase of the job. A new job enters the queue with its initial priority; in case this priority is not high enough to be processed immediately, it is recalculated and increased over time thus enabling each job to be processed in a reasonable time.

Depending on a job type, the priority formula differs for administrative and backup jobs that have a system-wide priority, and jobs that are associated with a particular FSE partition (migration, recall, recovery, and maintenance). The priority calculation is based on the parameters set in the related partition or system policy, and on several additional factors:

Phase

The phase of a job increases if it requires additional resources. This is relevant for migration jobs when the following is true:

The phase is increased by 1 if a copy was made and other copies are still waiting for resources.

The medium volume is full, therefore a new split for the file is needed.

It is also relevant for recall jobs when the following is true:

The phase is increased by 1 when a split of a file is recalled which spans over multiple media volumes.

Other jobs do not have a phase.

TimeStep

The value by which the priority is increased for each elapsed second of ElapsedTime.

JobTypePriority

Depending on the job type, the value of one of the following variables is used for this parameter:

SystemAdminPriority, SystemBackupPriority (defined in the FSE system configuration file)

MigrationPriority, RecallPriority, RecoveryPriority, MaintPriority (defined in the FSE partition configuration file)

ElapsedTime

The time in seconds since the job was started.

PhaseFactor

The value by which the priority of a job is increased after each phase.

Administrative and backup job priority calculation

For administrative and backup jobs, the priority is calculated by the following formula:

Priority = JobTypePriority

+(ElapsedTime * TimeStep * JobTypePriority/10000)

+(Phase * PhaseFactor)

Migration, recall, recovery, and maintenance job priority calculation

For migration, recall, recovery, and maintenance jobs, the priority is calculated by the following formula:

Priority = PartitionPriority * JobTypePriority

+(ElapsedTime * TimeStep * JobTypePriority/100)

+(Phase * PhaseFactor)

NOTE: You can manually increase or decrease a job priority using the fsejob --prioritycommand.

146 Migration, release, recall, and deletion