DocumentCode
1486436
Title
Augmenting loop tiling with data alignment for improved cache performance
Author
Panda, Preeti Ranjan ; Nakamura, Hiroshi ; Dutt, Nikil D. ; Nicolau, Alexandru
Author_Institution
Synopsys Inc., Mountain View, CA, USA
Volume
48
Issue
2
fYear
1999
fDate
2/1/1999 12:00:00 AM
Firstpage
142
Lastpage
149
Abstract
Loop blocking (tiling) is a well-known compiler optimization that helps improve cache performance by dividing the loop iteration space into smaller blocks (tiles); reuse of array elements within each tile is maximized by ensuring that the working set for the tile fits into the data cache. Padding is a data alignment technique that involves the insertion of dummy elements into a data structure for improving cache performance. In this work, we present DAT, a technique that augments loop tiling with data alignment, achieving improved efficiency (by ensuring that the cache is never under-utilized) as well as improved flexibility (by eliminating self-interference cache conflicts independent of the tile size). This results in a more stable and better cache performance than existing approaches, in addition to maximizing cache utilization, eliminating self-interference, and minimizing cross-interference conflicts. Further, while all previous efforts are targeted at programs characterized by the reuse of a single array, we also address the issue of minimizing conflict misses when several tiled arrays are involved. To validate our technique, we ran extensive experiments using both simulations as well as actual measurements on SUN Sparc5 and Sparc10 workstations. The results on benchmarks exhibiting varying memory access patterns demonstrate the effectiveness of our technique through consistently high hit ratios and improved performance across varying problem sizes
Keywords
cache storage; optimising compilers; performance evaluation; Sparc10; Sparc5; cache performance; cache utilization; compiler optimization; data alignment; loop iteration; loop tiling; Cache memory; Data structures; Helium; Logic arrays; Optimizing compilers; Prefetching; Radio access networks; Sun; Tiles; Workstations;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/12.752655
Filename
752655
Link To Document