Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • cpu.shares (these are set as 1000*ncpus; the scaling factor is irrelevant as long as it is used consistently within all the cgroups in the pbspro.slice cgroup around all jobsparent cgroup directory that houses the per-job cgroup directories.)
  • cpu.cfs_quota_us

for the different jobs, after having created a per-job cgroup directory in the controller's hierarchy (as we do for other controllers).

...

When ncpus_are_cores is set and use_ hyperthreads is set, the quotas are multiplied by the number of threads per coreĀ  detected on the host. If cpusets are not used and the application threads are e.g. placed on the A threads of all cores, then the applications are "lucky" and will run faster than if the threads were placed on the A and B threads of a lesser number of CPU cores, although that advantage will disappear if all CPU threads are in use.

Functionality outside of the cgroup hook

...

made possible by enabling the cpu controller

A site may adapt the main pbspro .sliceparent directory's cpu.cfs_quota_us and cpu.shares, in order to leave "some" more room for the operating system (e.g. throttling all jobs on the system to use only 95% of the CPU resources on the node by using the quota). cpu.shares shold then be compared to the values set by systemd in e.g. system.slice and user.slice.

...