A Generic and Configurable Source-Code Instrumentation Component

  • Authors:
  • Markus Geimer;Sameer S. Shende;Allen D. Malony;Felix Wolf

  • Affiliations:
  • Jülich Supercomputing Centre, Forschungszentrum Jülich, Germany;Department of Computer and Information Science, University of Oregon, Eugene, USA;Department of Computer and Information Science, University of Oregon, Eugene, USA;Jülich Supercomputing Centre, Forschungszentrum Jülich, Germany and Department of Computer Science, RWTH Aachen University, Germany

  • Venue:
  • ICCS 2009 Proceedings of the 9th International Conference on Computational Science
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

A common prerequisite for a number of debugging and performance-analysis techniques is the injection of auxiliary program code into the application under investigation, a process called instrumentation . To accomplish this task, source-code preprocessors are often used. Unfortunately, existing preprocessing tools either focus only on a very specific aspect or use hard-coded commands for instrumentation. In this paper, we examine which basic constructs are required to specify a user-defined routine entry/exit instrumentation. This analysis serves as a basis for a generic instrumentation component working on the source-code level where the instructions to be inserted can be flexibly configured. We evaluate the identified constructs with our prototypical implementation and show that these are sufficient to fulfill the needs of a number of todays' performance-analysis tools.