Advertisement

Enabling Data Structure Oriented Performance Analysis with Hardware Performance Counter Support

  • Karl Fürlinger
  • Dan Terpstra
  • Haihang You
  • Phil Mucci
  • Shirley Moore
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5415)

Abstract

An interesting and as of yet under-represented aspect of program development and optimization are data structures. Instead of analyzing data with respect to code regions, the objective here is to see how performance metrics are related to data structures. With the advanced performance monitoring unit of Intel’s Itanium processor series such an analysis becomes possible. This paper describes how the hardware features of the Itanium 2 processor are exploited by the perfmon and PAPI performance monitoring APIs and how PAPI’s support for address range restrictions has been integrated into an existing profiling tool to achieve the goal of data structure oriented profiling in the context of OpenMP applications.

Keywords

Critical Section Data Address Virtual Address Address Range Hardware Capability 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Browne, S., Dongarra, J., Garner, N., Ho, G., Mucci, P.J.: A portable programming interface for performance evaluation on modern processors. Int. J. High Perform. Comput. Appl. 14(3), 189–204 (2000)CrossRefGoogle Scholar
  2. 2.
    Buck, B.R., Hollingsworth, J.K.: A new hardware monitor design to measure data structure-specific cache eviction information. International Journal of High Performance Computing Applications 20(3), 353–363 (2006)CrossRefGoogle Scholar
  3. 3.
    Gaugler, T.: Ein Werkzeug zur Untersuchung des Cacheverhaltens von Datenstrukturen mittels Ereigniszählern. Diplomarbeit, Universität Karlsruhe (2005)Google Scholar
  4. 4.
    Graham, S.L., Kessler, P.B., McKusick, M.K.: Gprof: A call graph execution profiler. SIGPLAN Not. 17(6), 120–126 (1982)CrossRefGoogle Scholar
  5. 5.
    Itzkowitz, M., Mazurov, O., Copty, N., Lin, Y.: An OpenMP runtime API for profiling. The OpenMP ARB as an official ARB White Paper (accepted), http://www.compunity.org/futures/omp-api.html
  6. 6.
    Kereku, E., Li, T., Gerndt, M., Weidendorfer, J.: A data structure oriented monitoring environment for fortran openMP programs. In: Danelutto, M., Vanneschi, M., Laforenza, D. (eds.) Euro-Par 2004. LNCS, vol. 3149, pp. 133–140. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Levon, J.: OProfile, A system-wide profiler for Linux systems, http://oprofile.sourceforge.net
  8. 8.
    Mohr, B., Malony, A.D., Shende, S.S., Wolf, F.: Towards a performance tool interface for OpenMP: An approach based on directive rewriting. In: Proceedings of the Third Workshop on OpenMP, EWOMP 2001 (September 2001)Google Scholar
  9. 9.
    Perfmon2, the hardware-based performance monitoring interface for linux, http://perfmon2.sourceforge.net/
  10. 10.
    Tao, J., Gaugler, T., Karl, W.: A profiling tool for detecting cachecritical data structures. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par 2007. LNCS, vol. 4641, pp. 52–61. Springer, Heidelberg (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Karl Fürlinger
    • 1
    • 2
  • Dan Terpstra
    • 2
  • Haihang You
    • 2
  • Phil Mucci
    • 2
  • Shirley Moore
    • 2
  1. 1.Computer Science Division, EECS DepartmentUniversity of California at BerkeleyUSA
  2. 2.Innovative Computing Laboratory, Department of Electrical Engineering and Computer ScienceUniversity of TennesseeUSA

Personalised recommendations