Skip to main content
QUICK REVIEW

[论文解读] On the Value and Limits of Multi-level Energy Consumption Static Analysis for Deeply Embedded Single and Multi-threaded Programs

Kyriakos Georgiou, Steve Kerrison|Bristol Research (University of Bristol)|Oct 24, 2015
Parallel Computing and Optimization Techniques参考文献 37被引用 4
一句话总结

本文提出了一种多级能耗静态分析(ECSA)框架,采用非数据敏感型能耗模型与基于IPET的静态分析方法,用于估算深度嵌入式单线程和多线程程序的最坏情况能耗。尽管受限于非数据敏感模型,ECSA仍为开发者、编译器和RTOS提供了宝贵的能耗透明性,支持能耗感知的设计空间探索,估计误差低于6%,并通过最优线程数调节实现最高54%的能耗降低。

ABSTRACT

There is growing interest in lowering the energy consumption of computation. Energy transparency is a concept that makes a program's energy consumption visible from software to hardware through the different system layers. Such transparency can enable energy optimizations at each layer and between layers, and help both programmers and operating systems make energy aware decisions. The common methodology of extracting the energy consumption of a program is through direct measurement of the target hardware. This usually involves specialized equipment and knowledge most programmers do not have. In this paper, we examine how existing methods for static resource analysis and energy modeling can be utilized to perform Energy Consumption Static Analysis (ECSA) for deeply embedded programs. To investigate this, we have developed ECSA techniques that work at the instruction set level and at a higher level, the LLVM IR, through a novel mapping technique. We apply our ECSA to a comprehensive set of mainly industrial benchmarks, including single-threaded and also multi-threaded embedded programs from two commonly used concurrency patterns, task farms and pipelines. We compare our ECSA results to hardware measurements and predictions obtained based on simulation traces. We discuss a number of application scenarios for which ECSA results can provide energy transparency and conclude with a set of new research questions for future work.

研究动机与目标

  • 评估在能耗透明性对系统可靠性与电池寿命至关重要的深度嵌入式系统中,多级静态能耗分析的价值与局限性。
  • 探究非数据敏感型能耗模型与静态资源分析(SRA)相结合,是否能为最坏情况能耗(WCEC)提供安全且有用的边界。
  • 将ECSA扩展至多线程程序,重点关注任务农场与流水线等常见并发模式,以支持实时系统中的时间-能耗权衡。
  • 实现在LLVM中间表示(IR)层级的能耗表征与分析,减少对底层ISA细节的依赖,同时保持分析精度。
  • 识别ECSA在软件开发、编译器优化与实时操作系统(RTOS)中支持能耗感知决策的实际应用场景。

提出的方法

  • 开发了一种基于IPET的ECSA框架,利用针对XMOS Xcore处理器的非数据敏感型平均情况能耗模型,静态计算能耗上限。
  • 优化了现有的ISA层级能耗模型,引入静态与动态功耗分量,平均精度提升4%。
  • 提出一种新颖的映射技术,实现LLVM IR层级的ECSA,与ISA层级分析相比精度损失约1%。
  • 将ECSA应用于工业级基准测试,涵盖单线程与多线程程序,重点关注任务农场与流水线线程并发模式。
  • 通过硬件测量与基于仿真预测的结果验证ECSA结果,评估其估计精度与实际可用性。
  • 探索支持电压与频率调节的参数化能耗模型,以识别相同性能下的能效最优配置。

实验结果

研究问题

  • RQ1非数据敏感型能耗模型与静态分析相结合,在深度嵌入式系统中,能在多大程度上为最坏情况能耗提供安全且有用的边界?
  • RQ2与硬件测量和仿真轨迹相比,ISA与LLVM IR层级的多级ECSA估计精度如何?
  • RQ3ECSA能否指导多线程嵌入式程序中的能耗感知设计空间探索,特别是线程数与频率调节的优化?
  • RQ4输入数据敏感性对ECSA估计精度有何影响?对数据行为的假设如何提升模型可靠性?
  • RQ5当前ECSA方法的关键局限性是什么?需要哪些新的研究方向来解决这些问题?

主要发现

  • 采用非数据敏感模型的ECSA在不同线程数下估计误差均控制在6%以内,支持配置间可靠比较。
  • 在矩阵乘法中,使用四条线程而非两条,能耗降低41%,执行时间减少50%,表明通过最优线程利用可实现显著能耗节省。
  • 任务农场的双线程实现相比单线程能耗降低54%,凸显ECSA在识别高效线程数方面的价值。
  • 优化后的能耗模型综合考虑静态与动态功耗,相比原始模型平均精度提升4%。
  • LLVM IR层级的ECSA与ISA层级分析相比仅损失约1%精度,实现了高阶能耗建模与极小精度折损的平衡。
  • 在人为构造的极端情况下,数据敏感性效应可能引入高达25%的估计误差,但在使用随机数据进行模型表征时,此类影响在实际程序中不太可能具有显著影响。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。