Overview
SmartShare is a feature in which the system automatically expands job instances to fill up idle, or "surplus", worker job slots. The expansion is automatically balanced among jobs, so that each job gets an equal number of surplus job slots.
...
SmartShare from a user's perspective
Anchor |
---|
| user_perspective |
---|
| user_perspective |
---|
|
When SmartShare is enabled, jobs will automatically start using it. Note that SmartShare is only only applicable to agenda-based jobs.
...
- The instances that were automatically expanded by SmartShare ("secondary instances") run at low priority, and are the first subject to pre-emption in order to run primary instances from other jobs. Secondary instances may also be pre-empted in order to run secondary instances from other jobs, to balance the number of secondary instances among all jobs.
- The method of pre-emption can either be "aggressive", meaning the instance is immediately terminated, or "passive", meaning the instance is allowed to finish processing the current agenda item before terminating, and is configured by the site administrator (see
supervisor_smart_share_preempt_policy
below). - The default smart share pre-emption mode is "aggressive"; secondary instances will be stopped immediately in order to accomplish the balancing of jobs as quickly as possible
Anchor |
---|
| configuration |
---|
| configuration |
---|
|
Excerpt |
---|
Configuring SmartShare Tip |
---|
SmartShare is automatically enabled for new 6.6+ installs and upgrades alike. To opt out, the site administrator can set the supervisor_smart_share_mode and and supervisor_smart_share_preempt_policy in qb.conf on the Supervisor machine: supervisor_smart_share_mode = none
supervisor_smart_share_preempt_policy = disabled
|
- supervisor_smart_share_mode
- Can be either “jobs” or “none”.
- default: "jobs"
- Setting it to “jobs” will make the system try to balance the number of the automatically-expanded “secondary" instances on a job-to-job basis
- Setting it to “none” disables SmartShare.
- supervisor_smart_share_preempt_policy
- method of preemption for secondary instances
- aggressive, passive, disabled
- default: aggressive
- supervisor_default_max_cpus
- used to set the site-wide default value of “max_cpus” if not given at submission
- default: -1
- Note: “*” can be used in the qb.conf file too, instead of -1
- supervisor_max_cpus_limit
- largest value of “max_cpus” that can be used on any job
- default 100
- Note: if any job specifies a value greater than this, the system will silently cap it to this value
|