• DocumentCode
    2748985
  • Title

    A graph based framework to detect optimal memory layouts for improving data locality

  • Author

    Kandemir, Mahmut ; Choudhary, Alok ; Ramanujam, J. ; Banerjee, Prith

  • Author_Institution
    Dept. of Electr. & Comput. Eng., Northwestern Univ., Evanston, IL, USA
  • fYear
    1999
  • fDate
    12-16 Apr 1999
  • Firstpage
    738
  • Lastpage
    743
  • Abstract
    In order to extract high levels of performance from modern parallel architectures, the effective management of deep memory hierarchies is very important. While architectural advances in caches help in better utilization of the memory hierarchy, compiler-directed locality enhancement techniques are also important. In this paper we propose a locality improvement technique that uses data space (array layout) transformations in contrast to most of the previous work based on iteration space (loop) transformations. In other words, rather than changing the order of loop iterations, our technique modifies the memory layouts of multi-dimensional arrays. In comparison with previous work on data transformations it brings two novelties. First, we formulate the problem on a special graph structure called the layout graph (LG) and use integer linear programming (ILP) methods to determine optimal layouts. Second, in addition to static layout detection, our approach also enables the compiler to determine optimal dynamic layouts; that is, the layouts that can be changed across loop nest boundaries. We believe that this is the first attempt to determine optimal dynamic memory layouts. We also present preliminary experimental results on the SGI Origin 2000 distributed shared memory multiprocessor. Our results so far are encouraging and indicate that the additional compilation time taken by the solver is tolerable
  • Keywords
    distributed shared memory systems; integer programming; linear programming; parallel architectures; program compilers; storage management; SGI Origin 2000 distributed shared memory multiprocessor; caches; compilation time; compiler; compiler-directed locality enhancement techniques; data space transformations; deep memory hierarchy management; graph based framework; high performance levels; improved data locality; integer linear programming methods; layout graph; loop nest boundaries; multi-dimensional arrays; optimal dynamic memory layouts; optimal memory layout detection; parallel architectures; static layout detection; Cache memory; Data mining; Data structures; Integer linear programming; Law; Memory management; Optimizing compilers; Parallel machines; Program processors; Random access memory;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing, 1999. 13th International and 10th Symposium on Parallel and Distributed Processing, 1999. 1999 IPPS/SPDP. Proceedings
  • Conference_Location
    San Juan
  • Print_ISBN
    0-7695-0143-5
  • Type

    conf

  • DOI
    10.1109/IPPS.1999.760558
  • Filename
    760558