计算机研究与发展2023,Vol.60Issue(5) :1164-1176.DOI:10.7544/issn1000-1239.202111189

针对冗余零的跨平台细粒度性能分析技术

A Cross-Platform Fine-Grained Performance Analysis Technique for Redundant Zeros

游心 杨海龙 雷克伦 孔祥浩 徐筠 栾钟治 钱德沛
计算机研究与发展2023,Vol.60Issue(5) :1164-1176.DOI:10.7544/issn1000-1239.202111189

针对冗余零的跨平台细粒度性能分析技术

A Cross-Platform Fine-Grained Performance Analysis Technique for Redundant Zeros

游心 1杨海龙 1雷克伦 1孔祥浩 1徐筠 2栾钟治 1钱德沛1
扫码查看

作者信息

  • 1. 北京航空航天大学计算机学院 北京 100191
  • 2. 北京仿真中心航天系统仿真重点实验室 北京 100854
  • 折叠

摘要

冗余零造成的软件低效行为会导致大量的0值被读取甚至被用来重复地进行无用的计算,从而导致内存、计算资源的浪费.然而,现有的编译器工具链都不能够有效地识别并消除应用程序中0值相关的冗余操作,且冗余零相关的硬件优化方法仍然没有应用于商业处理器中.虽然ZeroSpy能够识别冗余零并提示足够的信息来指导优化,但其检测方法仍然局限于Intel平台,且其过大的性能开销阻碍了更加广泛的使用.针对冗余零的跨平台细粒度性能分析工具DrZero则可以克服上述限制.DrZero支持x86和ARM平台,并实现在线细粒度缓存迹分析来减少性能开销.为了支持ARM平台,基于数据流分析的数据类型推断方法可以自动推断内存读取值的数据类型.经过评测,DrZero的以代码、数据为中心的分析模式可以在x86和ARM平台上分别以平均45.31倍、54.20倍和14.12倍、13.40倍的性能开销识别冗余零并给出优化建议.此外,在x86平台上与ZeroSpy所报告的性能开销相比,DrZero的平均性能开销分别在以代码、数据为中心的分析模式下降低了37.2%,55.8%.基于DrZero给出的性能优化指导,应用程序优化后在x86和ARM上分别达到了最高1.76倍和2.12倍的性能加速.DrZero的实现代码已经开源:https://github.com/buaa-hipo/zerospy-drcctprof.

关键词

二进制插桩/冗余零/软件低效行为/性能分析与优化/跨平台

引用本文复制引用

基金项目

国家重点研发计划项目(2022ZD0117805)

国家自然科学基金(62072018)

国家自然科学基金(U22A2028)

中央高校基本科研业务费专项()

出版年

2023
计算机研究与发展
中国科学院计算技术研究所 中国计算机学会

计算机研究与发展

CSTPCDCSCD北大核心
影响因子:2.649
ISSN:1000-1239
参考文献量1
段落导航相关论文