Set the Turbo Boost Limit
Describes how to implement turbo boost limits for Intel processors to reduce a Cray system's power consumption and reduce performance variability.
Turbo boost limiting is supported on the Intel® Xeon® processor Scalable family. Turbo boost limiting is NOT supported on Intel® Xeon Phi™ "Knights Landing" (KNL) or on Intel® Xeon® "Sandy Bridge" processors.
Because Intel processors have a high degree of variability in the amount of turbo boost each processor can supply, limiting the amount of turbo boost can reduce performance variability and reduce power consumption. Turbo boost can be limited by setting the
turbo_boost_limit kernel parameter to one of these valid values:| Value | Result |
|---|---|
| 0 | Disable turbo boost. |
| 100 | Limits turbo boost to 100 MHz. |
| 200 | Limits turbo boost to 200 MHz. |
| 300 | Limits turbo boost to 300 MHz. |
| 400 | Limits turbo boost to 400 MHz. |
| 999 (default) | No limit is applied. |
The limit applies only when a high number of cores are active. On an N-core processor, the limit is in effect when the active core count is N, N-1, N-2, or N-3. For example, on a 12-core processor, the limit is in effect when 12, 11, 10, or 9 cores are active.
Set or Change the Turbo Boost Limit Parameter
Set or change the turbo boost limit parameter using one of the following methods:
- TEMPORARY. To make a one-time non-persistent change, warm boot the compute nodes using the
--compute-boot-paramsoption.smw> xtbootsys --reboot -L DEFAULT --compute-boot-params \ turbo_boost_limit=value idlist
where value is one of the values listed above and idlist is a comma-separated list of compute node cnames (orall_compfor all compute nodes) to be booted. This configuration change is not persisted. - PERMANENT. To make a persistent change, use cnode (as root) to change the parameter, and then reboot the nodes. Note that the following commands target all nodes or all compute nodes. To specify individual nodes, add their cnames at the end of the command line.
- To list the current kernel parameters:
smw# cnode list
- To change the
turbo_boost_limitkernel parameter for all compute nodes, substitute one of the values listed above for value in this command:smw# cnode update --filter group=compute \ --add-parameter turbo_boost_limit=value
- To remove the change, if needed, use one of these commands:
smw# cnode update --filter group=compute \ --remove-parameter turbo_boost_limit
- To list the current kernel parameters:
Verify that the Turbo Boost Limit Parameter was Changed
If desired, the
turbo_boost_limit change can be verified on the nodes after they have been rebooted. To verify, look at the contents of the following file on the target NIDs. login> aprun -L nidlist cat /sys/module/cray_power_management/\ parameters/turbo_boost_limitwhere nidlist is a comma-separated list of NIDs.