Static prediction of silent stores

5Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.

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.

Cite

CITATION STYLE

APA

Pereira, F. M. Q., Leobas, G. V., & Gamatié, A. (2019). Static prediction of silent stores. ACM Transactions on Architecture and Code Optimization, 15(4). https://doi.org/10.1145/3280848

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free