Affiliation:
1. UFMG, Brazil 8 CNRS - LIRMM, France
2. UFMG, Brazil
3. CNRS - LIRMM, France
Abstract
A store operation is called “silent” if it writes in memory a value that is already there. The ability to detect silent stores is important, because they might indicate performance bugs, might enable code optimizations, and might reveal opportunities of automatic parallelization, for instance. Silent stores are traditionally detected via profiling tools. In this article, we depart from this methodology and instead explore the following question: is it possible to predict silentness by analyzing the syntax of programs? The process of building an answer to this question is interesting in itself, given the stochastic nature of silent stores, which depend on data and coding style. To build such an answer, we have developed a methodology to classify store operations in terms of syntactic features of programs. Based on such features, we develop different kinds of predictors, some of which go much beyond what any trivial approach could achieve. To illustrate how static prediction can be employed in practice, we use it to optimize programs running on nonvolatile memory systems.
Funder
ANR
CNPQ
MSc scholarship from CAPES
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Reference32 articles.
1. Branch prediction for free
2. Rabab Bouziane Erven Rohou and Abdoulaye Gamatié. 2018. Compile-time silent-store elimination for energy efficiency: An analytic evaluation for non-volatile cache memory. In RAPIDO. HiPEAC Manchester 1--8. 10.1145/3180665.3180666 Rabab Bouziane Erven Rohou and Abdoulaye Gamatié. 2018. Compile-time silent-store elimination for energy efficiency: An analytic evaluation for non-volatile cache memory. In RAPIDO. HiPEAC Manchester 1--8. 10.1145/3180665.3180666
3. Dynamic dead-instruction detection and elimination
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献