• 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