Skip to main content
QUICK REVIEW

[论文解读] BEEBS: Open Benchmarks for Energy Measurements on Embedded Platforms

James Pallister, Simon Hollis|arXiv (Cornell University)|Aug 23, 2013
Parallel Computing and Optimization Techniques参考文献 21被引用 80
一句话总结

BEEBS 是一个开放的、可移植的基准测试套件,包含 10 个嵌入式应用程序,旨在衡量和比较不同嵌入式处理器架构的能耗。通过真实硬件测量和线性回归分析指令级功耗,研究揭示了显著的能效差异:ARM Cortex-M0 的功耗为 170µW/MHz,Epiphany 为 65µW/MHz,XMOS 为 88µW/MHz,凸显了架构相关的功耗特性。

ABSTRACT

Benchmarking is crucial in code optimization. It is required to have a set of programs that we consider representative to validate optimization techniques or evaluate predictive performance models. However, there is a shortage of available benchmarks for code optimization, more pronounced when using machine learning techniques. The problem lies in the number of programs for testing because these techniques are sensitive to the quality and quantity of data used for training. Our work aims to address these limitations. We present a methodology to efficiently generate benchmarks for the code optimization domain. It includes an automatic code generator, an associated DSL handling, the high-level specification of the desired code, and a smart strategy for extending the benchmark as needed. The strategy is based on Active Learning techniques and helps to generate the most representative data for our benchmark. We observed that Machine Learning models trained on our benchmark produce better quality predictions and converge faster. The optimization based on the Active Learning method achieved up to 15% more speed-up than the passive learning method using the same amount of data.

研究动机与目标

  • 为解决缺乏专门用于测量深度嵌入式系统能耗的开放、可移植基准测试套件的问题。
  • 创建一个可在无操作系统的裸机嵌入式平台上运行的基准测试套件。
  • 揭示不同处理器架构在整型、浮点、内存密集型和分支操作等不同指令类型上的能耗差异。
  • 提供一种标准化、可复现的方法,基于真实硬件测量结果,衡量和比较每条指令的功耗。
  • 使研究人员和开发者能够基于实际功耗数据,评估和比较嵌入式处理器的能效。

提出的方法

  • 在评估其适用于裸机执行和能耗表征的前提下,从成熟基准套件(MiBench、WCET、DSPstone)中选取 10 个基准测试。
  • 修改基准测试以消除操作系统依赖、减少内存占用,并确保在低功耗平台上的运行时可扩展性。
  • 使用采样电阻和功耗记录仪设置,在三种硬件平台(ARM Cortex-M0、Adapteva Epiphany、XMOS XS1-L1)上测量实际功耗。
  • 为每个基准测试收集指令级追踪数据,以分析整型、浮点、内存和分支操作的指令分布。
  • 应用线性回归,将总功耗与各类指令计数相关联,推导出每类指令的平均功耗。
  • 按核心和 MHz 进行归一化,以实现跨架构的能效比较。

实验结果

研究问题

  • RQ1不同嵌入式处理器架构在每类指令的能耗上如何变化?
  • RQ2一个可移植的、裸机的基准测试套件能否有效揭示不同嵌入式平台的能耗特性?
  • RQ3现代嵌入式处理器上,整型、浮点、内存和分支操作的相对功耗成本是多少?
  • RQ4诸如流水线深度和浮点单元复杂度等架构特性在多大程度上影响每条指令的功耗?
  • RQ5能否将真实硬件测量的功耗与指令级特征可靠关联,以推导出每条指令的能耗成本?

主要发现

  • ARM Cortex-M0 的平均指令功耗最高,为 170µW/MHz,其次为 XMOS 的 88µW/MHz,Adapteva Epiphany 最低,为 65µW/MHz,反映出架构在能效方面的差异。
  • 在 ARM Cortex-M0 上,内存访问操作的功耗高于整型运算;而在 XMOS 上,内存和分支操作的功耗几乎相同,这归因于其流水线架构。
  • Epiphany 处理器上的分支操作功耗接近内存访问的两倍,可能是因为预测错误导致流水线清空。
  • Epiphany 上的浮点运算功耗高于整型运算,这归因于浮点单元电路复杂度的增加。
  • 各平台间基准测试的指令分布变化在 30% 以内,验证了该套件在跨架构能耗分析中的可移植性和代表性。
  • 线性回归模型成功地从真实硬件测量中推导出每条指令的功耗,实现了跨平台能耗比较的准确性。

更好的研究,从现在开始

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

无需绑定信用卡

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