Combining Measures for Temporal and Spatial Locality

  • Jörg Dümmler
  • Thomas Rauber
  • Gudula Rünger
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4331)


Numerical software for sequential or parallel machines with memory hierarchies can benefit from locality optimizations which are usually achieved by program restructuring or program transformations. The choice of the program version that achieves the best performance is usually complex as many dependencies have to be taken into account. Thus program-based locality measures have been introduced to give programmers a guideline if a performance gain can be expected from a program restructuring. The novel contribution of this paper is the extension of these locality measures to support spatial locality. These extended measures are applied to two applications from scientific computing and the obtained prediction is compared to benchmark results.


Spatial Locality Memory Access Locality Measure Program Version Memory Hierarchy 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allen, R., Kennedy, K.: Optimizing Compilers for Modern Architectures. Academic Press, London (2002)Google Scholar
  2. 2.
    Rauber, T., Rünger, G.: Program-based locality measures for scientific computing. International Journal of Foundations of Computer Science 15, 535–554 (2004)zbMATHCrossRefGoogle Scholar
  3. 3.
    Hairer, E., Nørsett, S., Wanner, G.: Solving Ordinary Differential Equations, 2nd edn., vol. 1. Springer, Heidelberg (2002)Google Scholar
  4. 4.
    Rauber, T., Rünger, G.: Parallel Execution of Embedded and Iterated Runge-Kutta Methods. Concurrency - Practice and Experience 11, 367–385 (1999)CrossRefGoogle Scholar
  5. 5.
    Hairer, E., Wanner, G.: Solving Ordinary Differential Equations, 2nd edn., vol. 2. Springer, Heidelberg (2004)Google Scholar
  6. 6.
    Ghosh, S., Martonosi, M., Malik, S.: Cache miss equations: An analytical representation of cache misses. In: Int. Conf. on Supercomputing, pp. 317–324 (1997)Google Scholar
  7. 7.
    Ghosh, S., Martonosi, M., Malik, S.: Cache miss equations: a compiler framework for analyzing and tuning memory behavior. ACM Transactions on Programming Languages and Systems 21, 703–746 (1999)CrossRefGoogle Scholar
  8. 8.
    Ferdinand, C., Wilhelm, R.: Efficient and precise cache behavior prediction for real-time systems. Real-Time Syst. 17, 131–181 (1999)CrossRefGoogle Scholar
  9. 9.
    Lam, M., Rothberg, E., Wolf, M.: The cache performance and optimizations of blocked algorithms. In: Proc. of the 4th Int. Conf. on Architectural support for programming languages and operating systems, pp. 63–74. ACM Press, New York (1991)CrossRefGoogle Scholar
  10. 10.
    Rodriguez, B., Jordan, H., Alaghband, G.: A Metric for the Temporal Characterization of Parallel Programs. Journal of Parallel and Distributed Computing 46, 113–124 (1997)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jörg Dümmler
    • 1
  • Thomas Rauber
    • 2
  • Gudula Rünger
    • 1
  1. 1.Department of Computer ScienceChemnitz University of TechnologyChemnitzGermany
  2. 2.Angewandte Informatik IIBayreuth UniversityBayreuthGermany

Personalised recommendations