Improving Memory Dependence Prediction with Static Analysis

被引:0
|
作者
Panayi, Luke [1 ,2 ]
Gandhi, Rohan [1 ,2 ]
Whittaker, Jim [2 ]
Chouliaras, Vassilios [2 ]
Berger, Martin [2 ,3 ,4 ]
Kelly, Paul [1 ,2 ]
机构
[1] Imperial Coll London, London, England
[2] Huawei R&D UK Ltd, Brighton, England
[3] Univ Sussex, Brighton, England
[4] Montanarius Ltd, London, England
来源
ARCHITECTURE OF COMPUTING SYSTEMS, ARCS 2024 | 2024年 / 14842卷
基金
芬兰科学院;
关键词
Memory Dependence Prediction; Speculative Execution; Static Analysis; Compiler Optimisation;
D O I
10.1007/978-3-031-66146-4_20
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This paper explores the potential of communicating information gained by static analysis from compilers to Out-of-Order (OoO) machines, focusing on the memory dependence predictor (MDP). The MDP enables loads to issue without all in-flight store addresses being known, with minimal memory order violations. We use LLVM to find loads with no dependencies and label them via their opcode. These labelled loads skip making lookups into the MDP, improving prediction accuracy by reducing false dependencies. We communicate this information in a minimally intrusive way, i.e. without introducing additional hardware costs or instruction bandwidth, providing these improvements without any additional overhead in the CPU. We find that across pure C/++ Spec2017 workloads, a significant number of load instructions can skip interacting with the MDP and lead to a performance gain. These results point to greater possibilities for static analysis as a source of near zero cost performance gains in future CPU designs.
引用
收藏
页码:301 / 315
页数:15
相关论文
共 50 条
  • [21] Improving static techniques for the analysis of voltage stability
    Aromataris, Luis
    Arnera, Patricia
    Riubrugent, Jean
    INTERNATIONAL JOURNAL OF ELECTRICAL POWER & ENERGY SYSTEMS, 2011, 33 (04) : 901 - 908
  • [22] Multilevel static analysis for improving program quality
    Belevantsev, A. A.
    PROGRAMMING AND COMPUTER SOFTWARE, 2017, 43 (06) : 321 - 336
  • [23] ALETHEIA: Improving the Usability of Static Security Analysis
    Tripp, Omer
    Guarnieri, Salvatore
    Pistoia, Marco
    Aravkin, Aleksandr
    CCS'14: PROCEEDINGS OF THE 21ST ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2014, : 762 - 774
  • [24] Improving Invariant Mining via Static Analysis
    Schulze, Christoph
    Cleaveland, Rance
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2017, 16
  • [25] Improving software quality with static analysis tools
    Lambert, John
    Twenty-Third Annual Pacific Northwest Software Quality Conference, Proceedings, 2005, : 399 - 417
  • [26] Multilevel static analysis for improving program quality
    A. A. Belevantsev
    Programming and Computer Software, 2017, 43 : 321 - 336
  • [27] A Memory Model for Static Analysis of C Programs
    Xu, Zhongxing
    Kremenek, Ted
    Zhang, Jian
    LEVERAGING APPLICATIONS OF FORMAL METHODS, VERIFICATION, AND VALIDATION, PT I, 2010, 6415 : 535 - +
  • [28] Parameterized Static Analysis for Weak Memory Models
    Sharma, Divyanjali
    Sharma, Subodh
    PROCEEDINGS OF THE 17TH INNOVATIONS IN SOFTWARE ENGINEERING CONFERENCE, ISEC 2024, 2024,
  • [29] Static Analysis of Memory Leak in Android Applications
    Zhou, Di
    Fu, Zhengyu
    PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON MECHATRONICS, MATERIALS, CHEMISTRY AND COMPUTER ENGINEERING 2015 (ICMMCCE 2015), 2015, 39 : 1023 - 1027
  • [30] Static Analysis of Memory Models for SMT Encodings
    Haas, Thomas
    Maseli, Rene
    Meyer, Roland
    De Leon, Hernan Ponce
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA): : 1618 - 1647