• DocumentCode
    2572690
  • Title

    Increasing and detecting memory address congruence

  • Author

    Larsen, Samuel ; Witchel, Emmett ; Amarasinghe, Saman

  • Author_Institution
    Lab. for Comput. Sci., MIT, Cambridge, MA, USA
  • fYear
    2002
  • fDate
    2002
  • Firstpage
    18
  • Lastpage
    29
  • Abstract
    A static memory reference exhibits a unique property when its dynamic memory addresses are congruent with respect to some non-trivial modulus. Extraction of this congruence information at compile-time enables new classes of program optimization. In this paper, we present methods for forcing congruence among the dynamic addresses of a memory reference. We also introduce a compiler algorithm for detecting this property. Our transformations do not require interprocedural analysis and introduce almost no overhead. As a result, they can be incorporated into real compilation systems. On average, our transformations are able to achieve a five-fold increase in the number of congruent memory operations. We are then able to detect 95% of these references. This success is invaluable in providing performance gains in a variety of areas. When congruence information is incorporated into a vectorizing compiler we can increase the performance of a G4 AltiVec processor up to a factor of two. Using the same methods, we are able to reduce energy consumption in a data cache by as much as 35%.
  • Keywords
    cache storage; memory architecture; optimising compilers; parallel architectures; parallelising compilers; software performance evaluation; G4 AltiVec processor; data cache; dynamic memory addresses; energy consumption reduction; memory address congruence; nontrivial modulus; performance gains; program optimization; static memory reference; transformations; vectorizing compiler; Computer science; Data mining; Design optimization; Detection algorithms; Energy consumption; Information analysis; Laboratories; Parallel architectures; Performance gain; VLIW;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques, 2002. Proceedings. 2002 International Conference on
  • ISSN
    1089-795X
  • Print_ISBN
    0-7695-1620-3
  • Type

    conf

  • DOI
    10.1109/PACT.2002.1105970
  • Filename
    1105970