Cache Miss Equations: A Compiler Framework for Analyzing and Tuning Memory Behavior (1999)
Cached
Download Links
- [parapet.ee.princeton.edu]
- [www.ee.princeton.edu]
- [www.ee.princeton.edu]
- DBLP
Other Repositories/Bibliography
| Venue: | ACM Transactions on Programming Languages and Systems |
| Citations: | 127 - 1 self |
BibTeX
@ARTICLE{Ghosh99cachemiss,
author = {Somnath Ghosh and Margaret Martonosi and Sharad Malik},
title = {Cache Miss Equations: A Compiler Framework for Analyzing and Tuning Memory Behavior},
journal = {ACM Transactions on Programming Languages and Systems},
year = {1999},
volume = {21},
pages = {703--746}
}
Years of Citing Articles
OpenURL
Abstract
This article describes methods for generating and solving Cache Miss Equations (CMEs) that give a detailed representation of cache behavior, including conflict misses, in loop-oriented scientific code. Implemented within the SUIF compiler framework, our approach extends traditional compiler reuse analysis to generate linear Diophantine equations that summarize each loop's memory behavior. While solving these equations is in general di#- cult, we show that is also unnecessary, as mathematical techniques for manipulating Diophantine equations allow us to relatively easily compute and/or reduce the number of possible solutions, where each solution corresponds to a potential cache miss. The mathematical precision of CMEs allows us to find true optimal solutions for transformations such as blocking or padding. The generality of CMEs also allows us to reason about interactions between transformations applied in concert. The article also gives examples of their use to determine array padding and o#set amounts that minimize cache misses, and to determine optimal blocking factors for tiled code. Overall, these equations represent an analysis framework that o#ers the generality and precision needed for detailed compiler optimizations







