CoSense: Compiler Optimizations using Sensor Technical Specifications

CoSense: Compiler Optimizations using Sensor Technical Specifications
复制标题

CoSense:使用传感器技术规范进行编译器优化

DOI:
10.1145/3640537.3641576
复制
发表时间:
2024
期刊:
--
影响因子:
--
通讯作者:
Mu P
Mu P
中科院分区:
--
文献类型:
--
作者:
Mu P

文献摘要

参考文献

被引文献

相似文献

嵌入式系统无处不在,但为了最大化其电池寿命,需要更快的代码执行-即,更高的能源效率,并减少内存使用。大量的传感器集成到嵌入式系统中,使我们有机会利用传感器的技术规格,如传感器的值范围,来指导编译器优化,以实现更快的代码执行,小二进制文件等。我们设计并实现了这样的想法,在COSENSE,一个新颖的编译器基于LLVM基础设施,使用现有的领域特定语言(DSL),NEWTON,来描述由传感器测量的物理量的边界和之间的关系。COSENSE利用以前未开发的与程序变量相关的物理信息来驱动代码优化。COSENSE计算变量的值范围,并继续重载函数,压缩变量类型,用常量替换代码并简化条件语句。我们使用几个微基准测试和两个真实世界的应用程序在各种平台和CPU上评估了COSENSE。对于微基准测试,COSENSE在x86平台上实现了1.18倍几何加速,平均减少了12.35%的二进制代码大小,编译时间开销为4.66%;在ARM平台上实现了1.23倍几何加速,平均减少了10.95%的二进制代码大小,编译时间开销为5.67%。COSENSE在执行时间上实现了1.70倍和1.50倍的加速,二进制代码减少了12.96%和0.60%,能耗降低了9.69%和30.43%,编译时间开销分别为26.58%和24.01%。
Embedded systems are ubiquitous, but in order to maximize their lifetime on batteries there is a need for faster code execution – i.e., higher energy efficiency, and for reduced memory usage. The large number of sensors integrated into embedded systems gives us the opportunity to exploit sensors’ technical specifications, like a sensor’s value range, to guide compiler optimizations for faster code execution, small binaries, etc. We design and implement such an idea in COSENSE, a novel compiler (extension) based on the LLVM infrastructure, using an existing domain-specific language (DSL), NEWTON, to describe the bounds of and relations between physical quantities measured by sensors. COSENSE utilizes previously unexploited physical information correlated to program variables to drive code optimizations. COSENSE computes value ranges of variables and proceeds to overload functions, compress variable types, substitute code with constants and simplify the condition statements. We evaluated COSENSE using several microbenchmarks and two real-world applications on various platforms and CPUs. For microbenchmarks, COSENSE achieves 1.18× geomean speedup in execution time and 12.35% reduction on average in binary code size with 4.66% compilation time overhead on x86, and 1.23× geomean speedup in execution time and 10.95% reduction on average in binary code size with 5.67% compilation time overhead on ARM. For real-world applications, COSENSE achieves 1.70× and 1.50× speedup in execution time, 12.96% and 0.60% binary code reduction, 9.69% and 30.43% lower energy consumption, with a 26.58% and 24.01% compilation time overhead, respectively.
牛顿:描述物理的语言
DOI: --
发表时间: 2018
期刊: arXiv.org
影响因子: --
作者:
J. Lim;Phillip Stanley
通讯作者: Phillip Stanley
DOI: --
发表时间: --
期刊:
影响因子: --
作者:
Chenyi Hu
通讯作者: Chenyi Hu
DOI: --
发表时间: 1999
期刊: International Conference on Parallel Architectures and Compilation Techniques
影响因子: --
作者:
Tsuneo Nakanishi;K. Joe;C. Polychronopoulos;A. Fukuda
通讯作者: A. Fukuda
测量单位的类型检查器插件:GHC Haskell 中的特定领域约束求解
DOI: --
发表时间: 2015
期刊: ACM SIGPLAN Symposium/Workshop on Haskell
影响因子: --
作者:
Adam Gundry
通讯作者: Adam Gundry
认证计量单位安全政策
DOI: 10.1109/ase.2003.1240326
发表时间: 2003
期刊: 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings.
影响因子: --
作者:
Grigore Roşu;Feng Chen
通讯作者: Feng Chen