Adaptive and Hierarchical Runtime Manager for Energy-Aware Thermal Management of Embedded Systems

Adaptive and Hierarchical Runtime Manager for Energy-Aware Thermal Management of Embedded Systems
复制标题

DOI:
10.1145/2834120
复制
发表时间:
2016-01
期刊:
ACM Transactions on Embedded Computing Systems (TECS)
影响因子:
--
通讯作者:
Anup Das;B. Al-Hashimi;G. Merrett
Anup Das;B. Al-Hashimi;G. Merrett
中科院分区:
其他
文献类型:
--
作者:
Anup Das;B. Al-Hashimi;G. Merrett

文献摘要

被引文献

相似文献

现代嵌入式系统会执行与操作系统相互作用的应用程序,并根据这些跨层相互作用的类型而不同。提出了特定于应用的性能要求,并控制能源有效的热管理的POSIX线程分配和电压/频率缩放。拟议的运行时管理器是单独优​​化能量和温度的方法,这是第一个结合两个目标的方法,但要解决所有三个热点,确定线程分配和核心频率以优化能量和温度导致学习表中的指数增长(大量的内存开销),并在探索时间增加了相应的增加,以学习最适合的线程分配和核心频率,以限制学习空间并最大程度地减少学习成本,学习成本,拟议的运行时管理器以两个阶段的层次结构实施:基于启发式的线程分配,以更长的时间间隔来改善热循环,然后在更优质的时间间隔内选择基于学习的硬件频率,以提高平均温度,峰值温度,温度,峰值温度,和能量消耗。这可以以节能的方式对温度进行更优惠的控制,同时解决可伸缩性,这是多核/多核嵌入式系统的关键方面,具有四个ARM Cortex-A15内核。温度升高14°C,峰值温度升高16°C,热循环升高54%。
Modern embedded systems execute applications, which interact with the operating system and hardware differently depending on the type of workload. These cross-layer interactions result in wide variations of the chip-wide thermal profile. In this article, a reinforcement learning-based runtime manager is proposed that guarantees application-specific performance requirements and controls the POSIX thread allocation and voltage/frequency scaling for energy-efficient thermal management. This controls three thermal aspects: peak temperature, average temperature, and thermal cycling. Contrary to existing learning-based runtime approaches that optimize energy and temperature individually, the proposed runtime manager is the first approach to combine the two objectives, simultaneously addressing all three thermal aspects. However, determining thread allocation and core frequencies to optimize energy and temperature is an NP-hard problem. This leads to exponential growth in the learning table (significant memory overhead) and a corresponding increase in the exploration time to learn the most appropriate thread allocation and core frequency for a particular application workload. To confine the learning space and to minimize the learning cost, the proposed runtime manager is implemented in a two-stage hierarchy: a heuristic-based thread allocation at a longer time interval to improve thermal cycling, followed by a learning-based hardware frequency selection at a much finer interval to improve average temperature, peak temperature, and energy consumption. This enables finer control on temperature in an energy-efficient manner while simultaneously addressing scalability, which is a crucial aspect for multi-/many-core embedded systems. The proposed hierarchical runtime manager is implemented for Linux running on nVidia’s Tegra SoC, featuring four ARM Cortex-A15 cores. Experiments conducted with a range of embedded and cpu-intensive applications demonstrate that the proposed runtime manager not only reduces energy consumption by an average 15% with respect to Linux but also improves all the thermal aspects—average temperature by 14°C, peak temperature by 16°C, and thermal cycling by 54%.