  Due to embedded systems` stringent design constraints, much prior work
focused on optimizing energy consumption and/or performance. Since embedded
systems typically have fewer cooling options, rising temperature, and thus
temperature optimization, is an emergent concern. Most embedded systems only
dissipate heat by passive convection, due to the absence of dedicated thermal
management hardware mechanisms. The embedded system`s temperature not only
affects the system`s reliability, but could also affect the performance, power,
and cost. Thus, embedded systems require efficient thermal management
techniques. However, thermal management can conflict with other optimization
objectives, such as execution time and energy consumption. In this paper, we
focus on managing the temperature using a synergy of cache optimization and
dynamic frequency scaling, while also optimizing the execution time and energy
consumption. This paper provides new insights on the impact of cache parameters
on efficient temperature-aware cache tuning heuristics. In addition, we present
temperature-aware phase-based tuning, TaPT, which determines Pareto optimal
clock frequency and cache configurations for fine-grained execution time,
energy, and temperature tradeoffs. TaPT enables autonomous system optimization
and also allows designers to specify temperature constraints and optimization
priorities. Experiments show that TaPT can effectively reduce execution time,
energy, and temperature, while imposing minimal hardware overhead.
