A profiling tool for detecting cache-critical data structures

  • Authors:
  • Jie Tao;Tobias Gaugler;Wolfgang Karl

  • Affiliations:
  • Department of Computer Science and Technology, Jilin University, P. R. China and Institut für wissenschaftliches Rechnen, Forschungszentrum Karlsruhe GmbH, Germany;Institut für Technische Informatik, Universität Karlsruhe, TH, Germany;Institut für Technische Informatik, Universität Karlsruhe, TH, Germany

  • Venue:
  • Euro-Par'07 Proceedings of the 13th international Euro-Par conference on Parallel Processing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

A poor cache behavior can significantly prohibit achieving high speedup and scalability of parallel applications. This means optimizing a program with respect to cache locality can potentially introduce considerable performance gain. As a consequence, programmers usually perform cache locality optimization for acquiring the expected performance of their applications. Within this work, we developed a data profiling tool dprof with the goal of supporting the users in this task by allowing them to detect the optimization targets in their programs. In contrast to similar tools which mostly focus on code regions, we address data structures because they are the direct objects that programmers have to work with. Based on the Performance Monitoring Unit (PMU) provided by modern processors, dprof is capable of finding cache-critical variables, arrays, or even a segment of an array. It can also locate theses access hotspots to the most concrete position such as individual functions and code lines. This feature allows the user to apply dprof for efficient cache optimization.