DocumentCode :
1034944
Title :
Improving data locality by array contraction
Author :
Song, Yonghong ; Xu, Rong ; Wang, Cheng ; Li, Zhiyuan
Author_Institution :
Sun MicroSystems Inc., Santa Clara, CA, USA
Volume :
53
Issue :
9
fYear :
2004
Firstpage :
1073
Lastpage :
1084
Abstract :
Array contraction is a program transformation which reduces array size while preserving the correct output. In this paper, we present an aggressive array-contraction technique and study its impact on memory system performance. This technique, called controlled SFC, combines loop shifting and controlled loop fusion to maximize opportunities for array contraction within a given loop nesting. A controlled fusion scheme is used to prevent overfusing loops and to avoid excessive pressure on the cache and the registers. Reducing the array size increases data reuse because of the increased average number of memory operations on the same memory addresses. Furthermore, if the data size of a loop nest fits in the cache after array contraction, then repeated references to the same variable in the loop nest generate cache hits, assuming set conflicts are eliminated successfully.
Keywords :
cache storage; optimising compilers; program control structures; storage allocation; aggressive array-contraction technique; cache hits; controlled loop fusion; data locality; loop nesting; loop shifting; memory addresses; memory system performance; optimizing compiler; program transformation; Cache memories; Optimizing compilers; Program control structures; Index Terms- Compiler; array contraction; data locality; loop shifting; memory; optimization; optimizing compilers.; performance;
fLanguage :
English
Journal_Title :
Computers, IEEE Transactions on
Publisher :
ieee
ISSN :
0018-9340
Type :
jour
DOI :
10.1109/TC.2004.62
Filename :
1315602
Link To Document :
بازگشت