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 条
  • [31] Static memory allocation by pointer analysis and coloring
    Zhu, JW
    DESIGN, AUTOMATION AND TEST IN EUROPE, CONFERENCE AND EXHIBITION 2001, PROCEEDINGS, 2001, : 785 - 790
  • [32] Improving the preciseness of dependence analysis using exception analysis
    Jiang, Shujuan
    Zhou, Shengwu
    Shi, Yuqin
    Jiang, Yuanpeng
    CIC 2006: 15TH INTERNATIONAL CONFERENCE ON COMPUTING, PROCEEDINGS, 2006, : 277 - 282
  • [33] Reducing memory latency via read-after-read memory dependence prediction
    Moshovos, A
    Sohi, GS
    IEEE TRANSACTIONS ON COMPUTERS, 2002, 51 (03) : 313 - 326
  • [34] Static and dynamic evaluation of data dependence analysis techniques
    Petersen, PM
    Padua, DA
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1996, 7 (11) : 1121 - 1132
  • [35] Static Reuse Time Analysis Using Dependence Distance
    Chen, Dong
    Liu, Fangzhou
    Ding, Chen
    Lim, Chucheow
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2017, 2019, 11403 : 285 - 286
  • [36] Coeffects: Unified Static Analysis of Context-Dependence
    Petricek, Tomas
    Orchard, Dominic
    Mycroft, Alan
    AUTOMATA, LANGUAGES, AND PROGRAMMING, PT II, 2013, 7966 : 385 - 397
  • [37] Handling inverted temperature dependence in static timing analysis
    Dasdan, Ali
    Hom, Ivan
    ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2006, 11 (02) : 306 - 324
  • [38] A static data dependence analysis approach for software pipelining
    Qiao, L
    Huang, WT
    Tang, ZZ
    NETWORK AND PARALLEL COMPUTING, PROCEEDINGS, 2005, 3779 : 213 - 220
  • [39] Improving the static analysis of loops by dynamic partitioning techniques
    Martel, M
    THIRD IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION - PROCEEDINGS, 2003, : 13 - 21
  • [40] Improving security using extensible lightweight static analysis
    Evans, D
    Larochelle, D
    IEEE SOFTWARE, 2002, 19 (01) : 42 - +