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:
ValueResult
0Disable turbo boost.
100Limits turbo boost to 100 MHz.
200Limits turbo boost to 200 MHz.
300Limits turbo boost to 300 MHz.
400Limits 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-params option.
    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 (or all_comp for 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.
    1. To list the current kernel parameters:
      smw# cnode list
      
    2. To change the turbo_boost_limit kernel 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
    3. To remove the change, if needed, use one of these commands:
      smw# cnode update --filter group=compute \
      --remove-parameter turbo_boost_limit

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_limit
where nidlist is a comma-separated list of NIDs.