Resource Usage Limits

Manage resource usage by setting limits.

You can set limits for resource usage by individual users, individual groups, individual projects, generic users, generic groups, generic projects, and the total overall usage. These limits can be defined separately for each queue and for the server. Below are some examples of resource usage limits:

  • UserA can use no more than 6 CPUs, and UserB can use no more than 4 CPUs, at one time anywhere in the HPC cluster.
  • The crashtest group can use no more than 16 CPUs at one time anywhere in the HPC cluster.
  • You wish to allow UserD to use 12 CPUs but limit all other users to 4 CPUs.
  • UserE can use no more than 2 CPUs at one time at Queue1, and 6 CPUs at one time at Queue2.
  • You wish to limit UserF to 10 running jobs in queue Queue3, but allow all other users unlimited jobs running in the same queue.
Set limits based on any of the following attributes:
max_queued
Set the maximum number of jobs allowed to be queued or running in the complex.
max_queued_res
Set the maximum amount of the specified resource allowed to be allocated to jobs queued or running in the complex.
max_run
Set the maximum number of jobs allowed to be running in the complex.
max_run_res
Set the maximum amount of the specified resource allowed to be allocated to running jobs.
max_run_res_soft
Set the soft limit on the amount of the specified resource allowed to be allocated to running jobs.
max_run_soft
Set the soft limit on the number of jobs allowed to be running in the complex.
queued_jobs_threshold
Set the maximum number of jobs allowed to be queued in the complex.
queued_jobs_threshold_res
Set the maximum amount of the specified resource allowed to be allocated to jobs queued in the complex.
To place a limit, you must first decide whether to place the limit at the server or the queue level. You can then choose to further restrict the resource usage by choosing to place the limit at one of the following levels:
Overall
Limit is applied on the total usage of the resource.
User
Limits is applied to the total usage of the resource by a user or a generic user.
Group
Limit is applied to the total usage of the resource by a group or a generic group.
Project
Limit is applied to the total usage of the resource by a project or a generic project.

Server Level Limit Example

The following limits for CPU usage for an HPC cluster are set:

  • The overall server limit is 6 CPUs.
  • The limit for generic users is 4 CPUs.
  • The individual limit for User1 is 2 CPUs.

This means:

  • Generic users (any user except User1) can use no more than 4 CPUs at that cluster.
  • User1 can use no more than 2 CPUs at that cluster.
  • At this cluster, no more than 6 CPUs can be in use at anytime.

Queue Level Limit Example

If the following limits for CPU usage for QueueB are set:
  • The overall queue limit is 6 CPUs.
  • The limit for generic group is 4 CPUs.
  • The individual limit for Group1 is 2 CPUs.

This means:

  • Generic groups (any groups except Group1) can use no more than 4 CPUs from QueueB.
  • Group1 can use no more than 2 CPUs from QueueB.
  • From QueueB, no more than 6 CPUs can be in use at anytime.