Improving memory dependence prediction with static analysis
File(s)
OA Location
Author(s)
Type
Conference Paper
Abstract
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.
Date Issued
2024-08-01
Date Acceptance
2024-04-10
Citation
Lecture Notes in Computer Science, 2024, 14842, pp.301-315
ISBN
978-3-031-66146-4
ISSN
0302-9743
Publisher
Springer, Cham
Start Page
301
End Page
315
Journal / Book Title
Lecture Notes in Computer Science
Volume
14842
Copyright Statement
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG. This is the author’s accepted manuscript made available under a CC-BY licence in accordance with Imperial’s Research Publications Open Access policy (www.imperial.ac.uk/oa-policy)
License URL
Source
Architecture of Computing Systems 37th International Conference, ARCS 2024
Publication Status
Published
Start Date
2024-05-14
Finish Date
2024-05-16
Coverage Spatial
Potsdam, Germany
Date Publish Online
2024-08-01
