SCAF: a speculation-aware collaborative dependence analysis framework

SCAF: a speculation-aware collaborative dependence analysis framework
复制标题

SCAF:一个推测感知的协作依赖分析框架

DOI:
10.1145/3385412.3386028
复制
发表时间:
2020
期刊:
Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI
影响因子:
--
通讯作者:
August, David I.
August, David I.
中科院分区:
--
文献类型:
--
作者:
Apostolakis, Sotiris;Xu, Ziyang;Tan, Zujun;Chan, Greg;Campanoni, Simone;August, David I.

文献摘要

参考文献

被引文献

相似文献

程序分析确定指令之间潜在的控制流和控制流关系,以便编译器优化可以尊重这些关系以正确地转换代码。由于这些关系中的许多很少或从不发生,因此推测性优化在优化代码时断言它们不存在。为了保持正确性,推测性优化添加了验证检查,以便在这些断言被证明不正确时激活恢复代码。这种方法导致许多错失的机会,因为程序分析和其他优化仍然不知道这些动态强制的推测性断言的全部影响。为了解决这个问题,本文提出了SCAF,一个投机感知的协作依赖分析框架。SCAF通过分析了解可用的推测性断言,计算它们对内存依赖分析的全部影响,并将此结果信息用于所有代码优化。SCAF是模块化的(添加新的分析模块很容易)和协作的(模块合作产生的结果比所有单个结果的总和更精确)。相对于最好的先验推测感知依赖分析技术,通过计算推测对内存依赖分析的全部影响,SCAF大大减少了在所有16个评估的C/C++ SPEC基准测试的热循环中进行昂贵的内存推测验证的需要。
Program analysis determines the potential dataflow and control flow relationships among instructions so that compiler optimizations can respect these relationships to transform code correctly. Since many of these relationships rarely or never occur, speculative optimizations assert they do not exist while optimizing the code. To preserve correctness, speculative optimizations add validation checks to activate recovery code when these assertions prove untrue. This approach results in many missed opportunities because program analysis and thus other optimizations remain unaware of the full impact of these dynamically-enforced speculative assertions. To address this problem, this paper presents SCAF, a Speculation-aware Collaborative dependence Analysis Framework. SCAF learns of available speculative assertions via profiling, computes their full impact on memory dependence analysis, and makes this resulting information available for all code optimizations. SCAF is modular (adding new analysis modules is easy) and collaborative (modules cooperate to produce a result more precise than the confluence of all individual results). Relative to the best prior speculation-aware dependence analysis technique, by computing the full impact of speculation on memory dependence analysis, SCAF dramatically reduces the need for expensive-to-validate memory speculation in the hot loops of all 16 evaluated C/C++ SPEC benchmarks.
集群的自动推测 DOALL
DOI: --
发表时间: 2012
期刊: IEEE/ACM International Symposium on Code Generation and Optimization
影响因子: --
作者:
Hanjun Kim;Nick P. Johnson;Jae W. Lee;S. Mahlke;David I. August
通讯作者: David I. August
DOI: 10.1109/cgo.2017.7863736
发表时间: 2017
期刊: 2017 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
影响因子: --
作者:
Nick P. Johnson;Jordan Fix;S. Beard;Taewook Oh;T. Jablin;David I. August
通讯作者: David I. August
乐观混合分析:通过预测静态分析加速动态分析
DOI: 10.1145/3173162.3177153
发表时间: 2018
期刊: Architectural Support for Programming Languages and Operating Systems
影响因子: --
作者:
Devecsery, David;Chen, Peter M.;Flinn, Jason;Narayanasamy, Satish
通讯作者: Narayanasamy, Satish
DOI: --
发表时间: 2018
期刊: International Conference on Architectural Support for Programming Languages and Operating Systems
影响因子: --
作者:
Jordan Fix;N. P. Nagendra;Sotiris Apostolakis;Hansen Zhang;Sophie Qiu;David I. August
通讯作者: David I. August
DOI: 10.1109/isca.1998.694778
发表时间: 1998-04
期刊: Proceedings. 25th Annual International Symposium on Computer Architecture (Cat. No.98CB36235)
影响因子: --
作者:
S. Wallace;B. Calder;D. Tullsen
通讯作者: S. Wallace;B. Calder;D. Tullsen