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 条
  • [1] Source Code Analysis for Static Prediction of Dynamic Memory Usage
    Kim, Sangwho
    Ryou, Jaecheol
    2019 INTERNATIONAL CONFERENCE ON PLATFORM TECHNOLOGY AND SERVICE (PLATCON), 2019, : 46 - 49
  • [2] Improving static branch prediction in a compiler
    Deitrich, BL
    Cheng, BC
    Hwu, WMW
    1998 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 1998, : 214 - 221
  • [3] Leveraging Static Analysis Tools for Improving Usability of Memory Error Sanitization Compilers
    Gjomemo, Rigel
    Phung, Phu H.
    Ballou, Edmund
    Namjoshi, Kedar S.
    Venkatakrishnan, V. N.
    Zuck, Lenore
    2016 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS 2016), 2016, : 323 - 334
  • [4] MAPredict: Static Analysis Driven Memory Access Prediction Framework for Modern CPUs
    Monil, Mohammad Alaul Haque
    Lee, Seyong
    Vetter, Jeffrey S.
    Malony, Allen D.
    HIGH PERFORMANCE COMPUTING, ISC HIGH PERFORMANCE 2022, 2022, 13289 : 233 - 255
  • [5] Memory dependence prediction using store sets
    Chrysos, GZ
    Emer, JS
    25TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, PROCEEDINGS, 1998, : 142 - 153
  • [6] Improving Loop Dependence Analysis
    Jensen, Nicklas Bo
    Karlsson, Sven
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2017, 14 (03)
  • [7] Improving Software Quality with Static Analysis
    Foster, Jeffrey S.
    Hicks, Michael W.
    Pugh, William
    PASTE'07 PROCEEDINGS OF THE 2007 ACM SIGPLAN- SIGSOFT WORKSHOP ON PROGRAM ANALYSIS FOR SOFTWARE TOOLS & ENGINEERING, 2007, : 83 - 84
  • [8] History-based memory mode prediction for improving memory performance
    Park, SI
    Park, IC
    PROCEEDINGS OF THE 2003 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, VOL V: BIO-MEDICAL CIRCUITS & SYSTEMS, VLSI SYSTEMS & APPLICATIONS, NEURAL NETWORKS & SYSTEMS, 2003, : 185 - 188
  • [9] A Comprehensive Review of Static Memory Analysis
    Akinyemi, Temidayo
    Solomon, Enoch
    Woubie, Abraham
    Lippert, Kari
    IEEE ACCESS, 2024, 12 : 170204 - 170226
  • [10] IMPROVING SEMI-STATIC BRANCH PREDICTION BY CODE REPLICATION
    KRALL, A
    SIGPLAN NOTICES, 1994, 29 (06): : 97 - 106