Interface 1: equiv_class_
enabledisable scheduler attribute
- Visibility: PrivatePublic
- Change Control: Unstable Experimental
- Permissions: Write: Manager Read: Everyone
- Details: Using this attribute admin can enable disable the equivalence class capability in the scheduler
- Usage: boolean
- Visibility: Public
- Change Control: Stable
- Permissions: Write: Manager Read: Everyone Details: Using this attribute admin can exclude certain resources from being considered when building the equivalence classes. These resources are excluded from both the Resource_list and select resources.
- Usage: comma separated list of resources Example: equiv_class_exclude: walltime, software
- . The behavior is enabled by default.
- Type: boolean
- Usage: qmgr> set sched equiv_class_disable = True
- Default: Unset
Interface 2: equiv_class_exclude scheduler attribute
Equivalence classes are a way to group identical similar jobs together. Once one job in a class can not run, the scheduler knows the rest of the jobs in that class can not run.
Similar is defined by the following attributes and resources:
If there are any user limits(soft or hard), euser
If there are any group limits(soft or hard), egroup
If there are any project limits(soft or hard), project
If there are queue limits, queue
All resources in the sched_config resources line in the select statement
All resources in the sched_config resources line from Resource_List (qsub -l)
How they The place statement
How equivalence classes work:
- The scheduler sorts jobs into priority order. This may include sorting algorithms such as the job_sort_formula or fairshare.
- The scheduler starts considering jobs in sorted order
- If calendaring is enabled, the first N (backfill_depth=N) jobs that can not run will be added to the calendar.
- After calendering has finished, equivalence classes come into play. Any time a job can not run, the rest of the jobs in its class are not considered during the cycle.
There is a new qmgr scheduler object attribute named 'equiv_class_enable' which will switch between the old and new behavior of this feature.
Usage: qmgr> s sched equiv_class_enable: True
...
- .
The external behavior of this feature is seen in the following way in the scheduler logs:
...