|Processor overloading causes excessive heat dissipation and high temperatures which may cause unreliable operation and low lifespan. To handle such risks, processors have thermal protection modules, which start functioning once the temperature exceeds the cut-off temperature. These thermal protection modules limit the temperature within permissible temperature ceiling via cooling fan(s), thermal throttling or shutting off the computer in extreme cases. Thermal throttling is a computer architecture technique which lowers the operating frequency and voltage (or, p-states) dynamically to conserve power and/or reduce heat dissipation at the cost of performance. Intel’s Proportional, Integral and Derivative (PID) controller uses p-states to control the temperature.
We implemented a previously proposed Thermal Headroom Based p-state Driver (THBD) in the Linux kernel to reduce thermal violations above the target temperature. When temperature rises, the THBD driver cools the CPU by reducing its p-state until the temperature falls near the target temperature. Thermal headroom is the resulting difference between adjacent peak (above target) to trough (below target) temperatures. Once thermal headroom is computed, THBD increases the p-state to boost performance only when there is enough thermal headroom available above the current temperature. We conducted an evaluation of the THBD implementation in Linux against the PID controller using the SPEC benchmark suite. The experimental results show that THBD performs better than the PID controller in terms of peak temperature and energy consumption.