Generally when we think of thermal management here at ATS, we think of it in terms of hardware. We consider heat pipes or heat sinks. We look at air flow and it’s direction. We consider materials and if their thermal conductivity is sufficient for a project or not. But that’s not the only part of the equation. Software is as well. And not just software for thermal modeling, but in terms of controlling semiconductors to reduce the thermal load in a system.
The key here is temperature aware compiling for VLIW (very long instruction word) processors. By properly grouping instructions in a CPU, compiler developers can help reduce the overall thermal load in a system. They do this by grouping as many instructions as possible in parallel, thereby minimizing the CPU workload and it’s peak temperature. There are a couple of techniques that have been published in research papers that we want to make our readers aware of.
The first is the technique of TempIB or Temperature Aware Binding Technique. This approach was developed by Benjamin Carrion Schafer, Yongho Lee, and Taewhan Kim at the School of Electrical Engineering and Computer Science Seoul National University, Korea. This technique:
effectively binds the instructions executed in parallel to the coolest possible functional units for a given fixed schedule. It generates, for each instruction in a scheduled instruction word, a priority queue of the coolest functional units that can execute the instruction, and rebinds it to the coolest possible unit, considering the temperature as well as the power consumed by the instruction.
Tests by the team show that temperature can be lowered almost 13% using this technique in thermal management. You can read their paper at this link: “Temperature-Aware Compilation for VLIW Processors“.
Another approach by researchers Madhu Mutyam, at the International Institute of Information Technology, Hyderabad, India and Feihui Li, Vijaykrishnan Narayanan, Mahmut Kandemir, and Mary Jane Irwin at Pennsylvania State University uses
a compiler-based approach to make the thermal profile more balanced in the integer functional units of VLIW architectures. For balanced thermal behavior and peak temperature minimization, we propose techniques based on load balancing across the integer functional units with or without rotation of functional unit usage.
You can read their work at this link, “Compiler-directed thermal management for VLIW functional units”
Using software in this fashion may not be the standard approach to thermal management, but, adding it into the mix of strategies for electronics cooling, it can clearly help the overall goal.