Understanding the effects of changing the SMT or HT mode
This is a copy/paste from this IBM documentation
Simultaneous multi-threading (SMT) is a function of Power Systems™ servers that allows multiple logical CPUs to share physical core. This same function for Intel is called hyper-threading (HT). The SMT and HT settings can be changed by the system administrator at any time, and it is important to understand how changing these settings affects cpusets and running jobs.
For cpusets
, note the following:
- After lowering the SMT mode or disabling HT for a core:
- The newly disabled CPUs are removed from the existing
cpuset
sched_setaffinity()
automatically skips the newly disabled CPUs- The newly disabled CPUs are removed from the binding list of running processes.
- The newly disabled CPUs are removed from the existing
- When raising the SMT mode or enabling HT for a core, the newly enabled CPUs are not added to the existing cpuset.
- If the SMT or HT mode is changed, the CPU numbering remains the same.
For jobs that are currently running, note the following:
- Lowering the SMT mode or disabling the HT for a core means that the job that is running is updated by the kernel to use the most recently available CPUs.
- When raising the SMT mode or enabling HT for a core, the existing per-job cpuset and the job that is running are not affected. However, the system administrator needs to regenerate the CPUs contained in the
parallel_jobs
cpuset so that the newly enabled CPUs will be available for future jobs.
Source: