SCAF: a speculation-aware collaborative dependence analysis framework
Sotiris Apostolakis, Ziyang Xu, Zujun Tan, Greg Chan, Simone Campanoni, David I. August
摘要
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 expensiveto-validate memory speculation in the hot loops of all 16 evaluated C/C++ SPEC benchmarks. CCS Concepts • Software and its engineering → Compilers; Automated static analysis; Dynamic analysis.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- WARio: efficient code generation for intermittent computingVito Kortbeek, Souradip Ghosh, Josiah D. Hester, Simone Campanoni 等PLDI 2022 · 被引用 19 次
- CARAT CAKE: replacing paging via compiler/kernel cooperationBrian Suchy, Souradip Ghosh, Drew Kersnar, Siyuan Chai 等ASPLOS 2022 · 被引用 9 次
- PROMPT: A Fast and Extensible Memory Profiling FrameworkZiyang Xu, Yebin Chon, Yian Su, Zujun Tan 等OOPSLA 2024 · 被引用 4 次
- Paths to OpenMP in the kernelJiacheng Ma, Wenyi Wang, Aaron Nelson, Michael Cuevas 等SC 2021 · 被引用 4 次
- SPLENDID: Supporting Parallel LLVM-IR Enhanced Natural Decompilation for Interactive DevelopmentZujun Tan, Yebin Chon, Michael Kruse, Johannes Doerfert 等ASPLOS 2023 · 被引用 2 次
它引用的顶会 Paper1
相关 Paper
- A Framework for Fine-Grained Program VersioningYishen Chen, Saman P. AmarasingheMICRO 2024 · 被引用 1 次
- The road not taken: exploring alias analysis based optimizations missed by the compilerKhushboo Chitre, Piyus Kedia, Rahul PurandareOOPSLA 2022 · 被引用 13 次
- Speculation Invariance (InvarSpec): Faster Safe Execution Through Program AnalysisZirui Neil Zhao, Houxiang Ji, Mengjia Yan, Jiyong Yu 等MICRO 2020 · 被引用 25 次
- Declassiflow: A Static Analysis for Modeling Non-Speculative Knowledge to Relax Speculative Execution Security MeasuresRutvik Choudhary, Alan Wang, Zirui Neil Zhao, Adam Morrison 等CCS 2023 · 被引用 4 次
- Practical Program Modularization with Type-Based Dependence AnalysisKangjie LuS&P 2023
