Skip to main content
QUICK REVIEW

[论文解读] Optimizing the flash-RAM energy trade-off in deeply embedded systems

James Pallister, Kerstin Eder|arXiv (Cornell University)|Feb 7, 2015
Parallel Computing and Optimization Techniques参考文献 24被引用 5
一句话总结

本文提出了一种编译器优化技术,通过使用整数线性规划和能耗模型,将选定的基本块从闪存静态迁移至RAM,从而降低深度嵌入式系统中的能耗。该技术在执行时间增加的情况下,将平均功耗最多降低41%,总能耗最多降低22%,在以睡眠为主的负载中,电池寿命最多可延长32%。

ABSTRACT

Deeply embedded systems often have the tightest constraints on energy consumption, requiring that they consume tiny amounts of current and run on batteries for years. However, they typically execute code directly from flash, instead of the more energy efficient RAM. We implement a novel compiler optimization1 that exploits the relative efficiency of RAM by statically moving carefully selected basic blocks from flash to RAM. Our technique uses integer linear programming, with an energy cost model to select a good set of basic blocks to place into RAM, without impacting stack or data storage. We evaluate our optimization on a common ARM microcontroller and succeed in reducing the average power consumption by up to 41% and reducing energy consumption by up to 22%, while increasing execution time. A case study is presented, where an application executes code then sleeps for a period of time. For this example we show that our optimization could allow the application to run on battery for up to 32% longer. We also show that for this scenario the total application energy can be reduced, even if the optimization increases the execution time of the code.

研究动机与目标

  • 解决深度嵌入式系统中闪存高能耗问题,此类系统对长续航电池有严格要求。
  • 在不增加堆栈或数据存储需求的前提下,降低系统整体能耗。
  • 探究将代码从闪存迁移到RAM是否能降低总能耗,即使执行时间增加。
  • 开发一种智能的编译器优化技术,基于能耗效率选择基本块进行RAM放置。

提出的方法

  • 该方法使用整数线性规划来建模将基本块放置在闪存与RAM中的能耗成本。
  • 能耗模型量化了每个基本块在闪存与RAM访问中的相对能耗效率。
  • 该优化选择一部分基本块迁移至RAM,以最小化总能耗。
  • 通过不改变数据布局或堆栈使用方式,该技术保持了堆栈和数据存储需求不变。
  • 该解决方案作为编译器阶段实现,可在部署至ARM微控制器前转换代码。

实验结果

研究问题

  • RQ1在深度嵌入式系统中,将选定代码块从闪存迁移至RAM是否能降低总系统能耗?
  • RQ2在执行时间增加的权衡下,通过静态代码在RAM中的放置,最多可实现多少能耗降低?
  • RQ3在面向睡眠密集型的嵌入式工作负载中,应用此优化后,电池寿命最多可延长多少?
  • RQ4在实际嵌入式应用中,RAM访问带来的能耗节省是否足以抵消执行时间增加的影响?

主要发现

  • 在常见的ARM微控制器上,该优化可将平均功耗最多降低41%。
  • 在评估的工作负载中,总能耗最多降低22%。
  • 对于以睡眠为主的程序,由于能耗降低,电池寿命最多可延长32%。
  • 即使执行时间增加,仍可实现能耗节省,证明总能耗是主导指标。
  • 该方法在代码迁移过程中成功避免了堆栈或数据存储需求的增加。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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