EP-Cache
The gap between CPU performance (increasing approximately by a factor of 1.5 per year) and memory performance (increasing by a factor of 1.07 per year) has expanded dramatically and might continue to grow during the next years. Caches placed between memory and processor provide the possibility to access data much faster by duplicating parts of main memory in smaller and faster memory. But caches are only advantageous if temporal and spatial data locality is exploited in the user program. Re-using data in the cache provides temporal locality and can speed up a program by a factor of 6 to 10 on many computers.
The project EP-Cache focuses on the development of tools to support users (programmers) in optimizing their applications, especially for cache access problems. On one hand, we develop monitoring tools (a hardware monitor and a software simulator) to observe and measure cache access. These data are recorded in trace files and can be analyzed using the visualization tool Vampir. Sophisticated visualization will help the user to identify and understand bottlenecks in his/her program. On the other hand, we develop an interactive tool to easily apply optimizations to improve cache access. It supports a large number of cache relevant source transformations.
EP-Cache was a joint research project lead by SCAI, FhG. At ZHR three topics has been covered:
- The Interactive Optimization Tool Goofi
Loop transformations are a good tool to optimize source code regarding cache accesses. Nevertheless, their deployment is complicated and errorprone. The soure-to-source transformation tool Goofi was developed to help programmers to easily apply them in a semiautomatic way in their Fortran code. [more] - Tracing of Cache Accesses
To identify cache access problems it is necessary to collect data about an applications run behavior. It would be an absolute advantage in the analysis process to directly correlate a cache problem with the line of code and the data structure causing it. The extension of the trace format VTF3 and its connection to the monitor API MRI (Monitoring Request Interface) of the TU Munich makes this information available. MRI allows a uniform access to data either from the hardware monitor and the software simulator. The collected monitoring data are written to a VTF3 trace file and can then be analyzed with Vampir. [more] -
Visualization of Cache Access Data and correlated data structures
The tool Vampir can be used to identify a variety of problems in applications run time behavior. It was developed at ZHR and visualizes trace data. To improve its capabilities to analyze critical cache access data new and sophisticated visualizations were developed to directly show correlations between cache access and data structures.
Partner
- SCAI, Fraunhofer Gesellschaft, St. Augustin
- Lehrstuhl für Rechnertechnik und Rechnerorganisation, TU München
Associated Partner
Project Term
- 2002/03/01 - 2005/02/28
Funding
contract number 01IRB04
Publications
- L. Barabas, R. Müller-Pfefferkorn, W. E. Nagel and R. Neumann: Tracing the Cache Behavior of Data Structures in Fortran Applications, In Proceedings of the International Conference ParCo 2005, Publication Series of the John von Neumann Institute for Computing (NIC), Volume 33, p. 211-218, ISBN 3-00-017352-8, 2006
- T. Brandes, H. Schwamborn, M. Gerndt, J. Jeitner, K. Kereku, W. Karl, M. Schulz, J. Tao, H. Brunst, W. E. Nagel, R. Neumann, R. Müller-Pfefferkorn, B. Trenkler and H. - C. Hoppe: Monitoring Cache Behavior on Parallel SMP Architectures and Related Programming Tools, Future Generation Computer Systems (Volume 21, Issue 8), pp. 1298-1311
- R. Müller-Pfefferkorn, W. E. Nagel and B. Trenkler: Optimizing Cache Access: A Tool for Source-To-Source Transformations and Real-Life Compiler Tests, To be published in "Euro-Par 2004 Parallel Processing", Proceedings of the 10th International Euro-Par Conference 2004, Pisa, Italy, Aug 31 - Sep 3 2004, Springer-Verlag Berlin Heidelberg New York, Lecture Notes in Computer Science, Volume 3149, pp 72ff.