Running Average Power Limit
by Srinivas Pandruvada
RAPL Evolution
The thermal design power (TDP) represents the maximum amount of power the cooling system in a computer is required to dissipate. For example, for a processor with TDP of 35W, Intel guarantees the OEM that if it implements a chassis and cooling system capable of dissipating that much heat, the chip will operate as intended. This is the power budget under which the system needs to operate. But this is not the same as the maximum power the processor can consume. It is possible for the processor to consume more than the TDP power for a short period of time without it being “thermally significant”. Using basic physics, heat will take some time to propagate, so a short burst may not necessarily violate TDP.
Let’s analyze how a TDP can influence performance.
With a single core CPU, an application demanding performance will get full performance, as long as it is under TDP.
If one more core is added, a multi-threaded workload can demand full performance on both cores. If the CPU is using maximum frequency on both cores, this will consume more power than TDP. To avoid this, the CPU will use different maximum frequencies, depending on the number of active cores. So, out of two, if one core is more active than the other, it can use the remaining thermal budget and run at a higher frequency. This is achieved by introduction of turbo mode.
Intel® Turbo boost technology allows processor cores to run faster than their base frequency, if the operating condition permits. A Power Control Unit (PCU) firmware decides based on the:
- Number of cores active
- Estimated current consumption
- Estimated power consumption
- Processor temperature
Once the GPU is added to the package, its power must also be considered in making this turbo boost decision.
The PCU uses some internal models and counters to predict the actual and estimated power consumption. Before Sandy Bridge microarchitecture, turbo decisions are driven by models, which by nature tend to be conservative, to avoid issues in some isolated cases. Sandy Bridge added onboard power meter capability, which can be used to make better decisions, rather than decisions based purely on models. In addition, it exported these power meters and power limits used in its calculations through a set of MSRs (Machine Specific Registers) and PCIe config space. This interface is called the RAPL interface.
RAPL Use Cases
RAPL Power meter capability
RAPL provides a set of counters providing energy and power consumption information. RAPL is not an analog power meter, but rather uses a software power model. This software power model estimates energy usage by using hardware performance counters and I/O models. Based on our measurements, they match actual power measurements [3].
RAPL Power Limiting
RAPL provides a way to set power limits on processor packages and DRAM. This will allow a monitoring and control program to dynamically limit max average power, to match its expected power and cooling budget. In addition, power limits in a rack enable power budgeting across the rack distribution. By dynamically monitoring the feedback of power consumption, power limits can be reassigned based on use and workloads. Because multiple bursts of heavy workloads will eventually cause the ambient temperature to rise, reducing the rate of heat transfer, one uniform power limit can’t be enforced. RAPL provides a way to set short term and longer term averaging windows for power limits. These window sizes and power limits can be adjusted dynamically.
RAPL performance feedback
RAPL counters capture the total time that the RAPL mechanism forced the P-state to be below the OS-requested P-state. Also, it has a counter which tracks the total time that the RAPL power limit limited the operating frequency of the processor. These counters can be used to fine tune or rebalance loads on nodes, if there are performance degradations caused by running below OS-requested P-states.
RAPL Domains
In RAPL, platforms are divided into domains for fine grained reports and control. A RAPL domain is a physically meaningful domain for power management. The specific RAPL domains available in a platform vary across product segments.
Each RAPL domain supports:
- ENERGY_STATUS for power monitoring
- POWER_LIMIT and TIME_WINDOW for controlling power
- PERF_STATUS for monitoring the performance impact of the power limit
- RAPL_INFO contains information on measurement units, the minimum and maximum power supported by the domain
The RAPL interface is used in multiple products at OTC. The following list summarizes some of the products and their usages:
TurboStat
TurboStat utility that’s part of the Linux kernel tools and is now capable of displaying the wattage information. This wattage information is read using RAPL MSRs.
PowerTOP
PowerTOP provides estimated power consumption for various components. These estimates are based on: real power measurements, taken using a power meter, and a power model that takes into account estimated activity on that component. RAPL can help get the exact power numbers for CPUs/GPUs and DRAMs to show actual power consumption. Recent changes in PowerTOP show the actual CPU, GPU, and DRAM power consumption.
RAPL driver
The RAPL driver is implemented as a power cap driver. This is available in the latest Linux releases from kernel.org.
Linux Thermal Daemon
RAPL power limits are very effective in reducing package temperature. The Linux thermal daemon uses RAPL interface using RAPL driver to control platform thermals.
BIOS представляет собой комплекс микропрограмм, что направлены на полноценное обеспечение взаимодействия аппаратных компонентов ПК. Визуализированный интерфейс BIOS подлежит тонкой настройке, осуществить которую может, как специалист, так и рядовой пользователь ПК, занявшийся самообучением по данному направлению.
Одна из опциональных настроек носит название DRAM Frequency и размещается в меню Advanced. В зависимости от версии BIOS он так же может именоваться, как Memory Frequency, DRAM Clock By, MEM Clock Setting и т.д. Рассмотрим данную опцию для понимая: DRAM Frequency что это и как её использовать.
Суть опции DRAM Frequency
Этот элемент конфигурации BIOS используется достаточно часто, поскольку отвечает за важнейший параметр – частоту динамического ОЗУ или говоря проще — оперативной памяти. Осуществляя настройку посредством опции DRAM Frequency можно изменить частоту работы микросхем ОЗУ.
Принцип действия
На программном уровне ОЗУ – это специальная память ПК, в которой хранятся данные о работе ПО в текущей сессии. Аппаратное представление оперативной памяти – это небольшие планки с паянными микросхемами, среди которых и расположились упомянутые ячейки памяти. Подключаются такие планки в специальные разъемы материнской платы ПК.
Вот так выглядит модуль оперативной памяти
Память имеет динамический формат – при своём низком уровне быстродействия она требует постоянного обновления хранимых данных. Современный стандарт ОЗУ именуется DDR (Double Data Rate). Производители увеличили их пропускную способность и обеспечили синхронность взаимодействия с остальными элементами ПК.
Частота работы ОЗУ предопределяется производительность данного элемента. Стоит говорить о реальной и эффективной частотах работы шины памяти на материнской плате:
- реальная – число импульсов, создаваемых токовым генератором;
- эффективная – частота работы, что соответствует скорости выполнения операций модулями памяти (она значительно выше реальной).
Значения этого параметра увеличиваются с каждым новым поколением устройств, выпускаемых в рамках формата DDR. Так, если стандарт DDR отличался диапазоном частот от 200 до 400 МГц, то в новейшем DDR 4 эти значения варьируются от 1600 до 2400 МГц с возможностью разгона до 3200 МГц.
Ручная настройка
Итак, остаётся понять, какое же значение DRAM Frequency должно быть выбрано при настройке BIOS. Оптимальный вариант – установка значения «AUTO», что позволит BIOS самостоятельно определить подходящую для эффективной работы частоту ОЗУ.
Оптимальное значение для параметра DRAM Frequency — AUTO
В отдельных случаях это может привести к установлению значения меньшего, чем номинальное для используемых планок памяти. Тогда стоит изменить автоматическое определение на значение «by SPD» или вручную выставить подходящую частоту
Внимание! Слишком низкое или высокое значение частоты ОЗУ может привести к критическим ошибкам в работе этого компонента. Потому любые изменения параметра DRAM Frequency должны тестироваться. Возникновение неполадок является поводом для скорейшего восстановления начальных/стандартных значений.
По умолчанию все характеристики оперативной памяти компьютера определяются БИОС и Windows полностью автоматически в зависимости от конфигурации оборудования. Но при желании, например, попытке разогнать RAM, есть возможность произвести регулировку параметров самостоятельно в настройках BIOS. К сожалению, сделать это можно не на всех материнских платах, на некоторых старых и простых моделях такой процесс невозможен.
Настраиваем RAM в BIOS
Изменять можно основные характеристики оперативной памяти, то есть тактовую частоту, тайминги и напряжение. Все эти показатели взаимосвязаны. И поэтому к настройке оперативной памяти в БИОС нужно подходить теоретически подготовленным.
Способ 1: Award BIOS
Если на вашей системной плате установлена прошивка от Phoenix/Award, то алгоритм действий будет выглядеть примерно так, как указано ниже. Помните, что названия параметров могут незначительно отличаться.
- Делаем перезагрузку ПК. Входим в БИОС с помощью сервисной клавиши или сочетания клавиш. Они бывают различные в зависимости от модели и версии «железа»: Del, Esc, F2 и так далее.
- Нажимаем комбинацию Ctrl + F1 для входа в расширенные настройки. На открывшейся странице стрелками переходим в пункт «MB Intelligent Tweaker (M.I.T.)» и нажимаем Enter.
Можно осторожно увеличить напряжение тока, подаваемого на RAM, но не более чем на 0,15 вольта.
Возвращаемся на главную страницу БИОС и выбираем параметр «Advanced Chipset Features».
Настройки закончены. Выходим из BIOS с сохранением изменений и запускаем любой специальный тест для проверки стабильности работы системы и RAM, например, в AIDA64.
Способ 2: AMI BIOS
Если БИОС на вашем компьютере от American Megatrends, то кардинально значительных отличий от Award не будет. Но на всякий случай вкратце рассмотрим этот случай.
- Входим в BIOS, в главном меню нам нужен пункт «Advanced BIOS Features».
Способ 3: UEFI BIOS
На большинстве современных материнских плат стоит UEFI BIOS с красивым и удобным интерфейсом, поддержкой русского языка и компьютерной мыши. Возможности по настройке RAM в такой прошивке очень широкие. Рассмотрим их подробно.
- Заходим в БИОС, нажав Del или F2. Реже встречаются другие сервисные клавиши, узнать их можно в документации или из подсказки внизу экрана. Далее переходим в «Advanced Mode», нажав F7.
На странице расширенных настроек переходим на вкладку «Ai Tweaker», находим параметр «Memory Frequency» и в выпадающем окне выбираем желаемую тактовую частоту оперативной памяти.
Продвигаясь ниже по меню, видим строку «DRAM Timing Control» и нажав на нее, попадаем в раздел регулировки различных таймингов RAM. ПО умолчанию во всех полях стоит «Auto», но при желании можно попробовать поставить свои значения времени отклика.
Возвращаемся в меню «Ai Tweaker» и заходим в «DRAM Driving Control». Здесь можно попытаться чуть увеличить множители частоты RAM и ускорить её работу. Но делать это надо осознанно и осторожно.
Опять возвращаемся на прошлую вкладку и далее наблюдаем параметр «DRAM Voltage», где можно изменять подаваемое на модули оперативной памяти напряжение электрического тока. Повышать вольтаж можно на минимальные значения и поэтапно.
Затем выходим в окно расширенных настроек и передвигаемся во вкладку «Advanced». Там посещаем «North Bridge», страницу северного моста материнской платы.
Здесь нас интересует строка «Memory Configuration», на которую и нажимаем.
В следующем окне можно изменить параметры конфигурации модулей оперативной памяти, установленных в ПК. Например, включить или выключить контроль и коррекцию ошибок (ECC) RAM, определить режим чередования банков оперативной памяти и так далее.
Как вы увидели, настройка оперативной памяти в БИОС вполне возможна для опытного пользователя. В принципе, в случае ваших некорректных действий на этом направлении компьютер просто не включится или прошивка сама сбросит ошибочные значения. Но осторожность и чувство меры не помешает. И помните, что износ модулей RAM при увеличенных показателях соответственно ускоряется.
Отблагодарите автора, поделитесь статьей в социальных сетях.