Submitting jobs to use guarantees

For a job to access guaranteed resources, it must belong to a service class. A job in a service class can use resources that are guaranteed to that service class.

There are two ways a job can be associated with a service class:

For example, you can submit a job to service class myServiceClass: as follows:

bsub –sla myServiceClass ./a.out

Interactions with guarantee policies

About this task

A guarantee pool of host-based resources (slots, hosts, package) includes only hosts in the following states:

  • ok

  • closed_Busy

  • closed_Excl

  • closed_cu_Excl

  • closed_Full

Hosts in other states are temporarily excluded from the pool, and any SLA jobs running on hosts in other states are not counted towards the guarantee.

Advance reservation

Hosts within an advance reservation are excluded from guaranteed resource pools.

Compute units

Configuring guaranteed resource pools and compute units with hosts in common is not recommended. If such configuration is required, do not submit jobs with compute unit requirements using the maxcus, balance, or excl keywords.

Queue-based fairshare

During loan scheduling, shares between queues are not preserved. If SLOT_POOL is defined in lsb.queues both the fairshare and guarantee limits apply.

Exclusive jobs

Using exclusive jobs with slot-type guaranteed resource pools is not recommended. Instead, use host-type pools.

MultiCluster

Leased hosts can be used in a guaranteed resource pool by including a host group with remote hosts in the HOSTS parameter.

Preemption

Guarantee SLA jobs can only be preempted by queues with SLA_GUARANTEES_IGNORE=Y. If a queue does not have this parameter set, jobs in this queue cannot trigger preemption of an SLA job. If an SLA job is suspended (e.g. by a bstop), jobs in queues without the parameter being set cannot make use of the slots released by the suspended job.

Jobs scheduled using loaned resources cannot trigger preemption.

Guarantee SLA jobs can preempt other jobs, and can use preemption to meet guarantees. Normally, jobs attached to guarantee-type SLAs cannot be preempted even if they are running outside any guarantees or outside any pools in which they have guarantees. The exception to this is when you set the parameter SLA_GUARANTEES_IGNORE=y in a preemptive queue to allow the queue to preempt jobs attached to guarantee SLAs.

Chunk jobs

Jobs running on loaned resources cannot be chunked.

Forced jobs (brun)

Jobs that are forced to run using brun can use resources regardless of guarantees.