VampirTrace Plugin Counters
Plugin Counters are a new feature of VampirTrace which were included in version 5.9 to record external counters. They enable developers and performance analysts to extend the functionality of VampirTrace without touching or recompiling the source code of their application (as for manual instrumentation) or VampirTrace itself. VampirTrace can use different Plugin Counters in parallel, so the performance analyst has to decide which ones are important for him, as every additional data gathering might have a negative impact on the performance. Asynchronous plugins are supported since VampirTrace version 5.11.
Usage
Once you have downloaded and compiled a plugin, copy the resulting library to a folder, which is part of your LD_LIBRARY_PATH. Each plugin defines its own metrics, so have a look at the provided README files. To enable the tracing of a specific metric, you should set the environment variable VT_PLUGIN_CNTR_METRICS. It is set in the following manner:
export VT_PLUGIN_CNTR_METRICS=_[:_[:...]]
As an example, if you have a library named libKswEvents.so, with the event page_faults, set it with
export VT_PLUGIN_CNTR_METRICS=KswEvents_page_faults
Multiple events can be concatenated with using :'s
Plugins
Kernel Tracing Software Events
This plugin allows to read the following software events with a newer (>=2.6.32) linux kernel:
- Number of CPU migrations
- Task Clocks
- Page Faults
- Context Switches
Download
LibSensors monitoring
This plugin allows to read lm-sensor values, which might for example represent processor temperatures or fan speeds, while tracing your application. The available lm-sensors-events depend highly on your system.
Download
External Counter Events
This plugin allows to read external counters from the dataheap infrastructure. Write a mail to Michael Kluge for more information on this decentral and convenient infrastructure for monitoring data sources.
Download
Other Events
Some Score-P plugins that are available on github can also be used with VampirTrace.
Development Guide
Have a look at the Plugin Counter Manual to learn more about how to implement a plugin.
Contact
Publications
- Thomas Ilsche , Joseph Schuchart, Robert Schöne and Daniel Hackenberg, Combining Instrumentation and Sampling for Trace-Based Application Performance Analysis (2014) in: Tools for High Performance Computing 2014 (pp 123-136)
- Marc Hartung and Michael Kluge, Mapping of RAID controller performance data to the job history on large computing systems (2014), in: DISCS '14 Proceedings of the 2014 International Workshop on Data Intensive Scalable Computing Systems (pp 73-80)
- Michael Knobloch, Maciej Foszczynski, Willi Homberg, Dirk Pleiter and Hans Böttiger, Mapping fine-grained power measurements to HPC application runtime characteristics on IBM POWER7 (2013), in: Computer Science - Research and Development(1-9)
- Robert Schöne and Daniel Molka, Integrating performance analysis and energy efficiency optimizations in a unified environment (2013), in: Computer Science - Research and Development(1-9)
- Daniel Hackenberg, Thomas Ilsche, Robert Schöne, Daniel Molka, Maik Schmidt and Wolfgang E. Nagel, Power measurement techniques on standard compute nodes: A quantitative comparison (2013), in: 2013 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)(194-204)
- Daniel Molka, Daniel Hackenberg, Robert Schöne, Timo Minartz and Wolfgang E. Nagel, Flexible workload generation for HPC cluster efficiency benchmarking (2012), in: Computer Science - Research and Development, 27:4(235-243)
- Michael Kluge, Daniel Hackenberg and Wolfgang E. Nagel, Collecting Distributed Performance Data with Dataheap: Generating and Exploiting a Holistic System View (2012), in: Procedia Computer Science, 9(1969 - 1978)
- >Julian Kunkel and Thomas Ludwig, Visualization of MPI(-IO) Datatypes, in: Applications, Tools and Techniques on the Road to Exascale Computing, University of Ghent, ELIS Department, Ghent, Belgium, pages 473--480, IOS Press, 2012
- Timo Minartz, Daniel Molka, Michael Knobloch, Stephan Krempel, Thomas Ludwig, Wolfgang E. Nagel, Bernd Mohr and Hugo Falter, eeClust - Energy-Efficient Cluster Computing, in: Competence in High Performance Computing 2010, Springer, 2011
- Robert Schöne and Daniel Hackenberg, On-line analysis of hardware performance events for workload characterization and processor frequency scaling decisions, in: Proceeding of the second joint WOSP/SIPEW international conference on Performance engineering, Karlsruhe, Germany, pages 481--486, ACM, 2011
- Robert Schöne, Ronny Tschüter, Daniel Hackenberg and Thomas Ilsche, The VampirTrace Plugin Counter Interface: Introduction and Examples, in: Euro-Par 2010 Parallel Processing Workshops, Berlin Heidelberg, pages 501--511, Springer-Verlag, 2011