Improving Data Locality by Array Contraction

  • Authors:
  • Yonghong Song;Rong Xu;Cheng Wang;Zhiyuan Li

  • Affiliations:
  • -;-;-;IEEE Computer Society

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 2004

Quantified Score

Hi-index 14.98

Visualization

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 will generate cache hits, assuming set conflicts are eliminated successfully.