• 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