Extending the Functionality of Score-P through Plugins: Interfaces and Use Cases

Performance measurement and runtime tuning tools are both vital in the HPC software ecosystem and use similar techniques: the analyzed application is interrupted at specific events and information on the current system state is gathered to be either recorded or used for tuning. One of the established performance measurement tools is Score-P. It supports numerous HPC platforms and parallel programming paradigms. To extend Score-P with support for different back-ends, create a common framework for measurement and tuning of HPC applications, and to enable the re-use of common software components such as implemented instrumentation techniques, this paper makes the following contributions: (1) We describe the Score-P metric plugin interface, which enables programmers to augment the event stream with metric data from supplementary data sources that are otherwise not accessible for Score-P. (2) We introduce the flexible Score-P substrate plugin interface that can be used for custom processing of the event stream according to the specific requirements of either measurement, analysis, or runtime tuning tasks. (3) We provide examples for both interfaces that extend Score-P’s functionality for monitoring and tuning purposes.

[1]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[2]  Nathan R. Tallent,et al.  HPCTOOLKIT: tools for performance analysis of optimized parallel programs , 2010, Concurr. Comput. Pract. Exp..

[3]  Wolfgang E. Nagel,et al.  HDEEM: High Definition Energy Efficiency Monitoring , 2014, 2014 Energy Efficient Supercomputing Workshop.

[4]  Allan Porterfield,et al.  Using Dynamic Duty Cycle Modulation to Improve Energy Efficiency in High Performance Computing , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[5]  Bo Wang,et al.  Evaluating the Energy Consumption of OpenMP Applications on Haswell Processors , 2015, IWOMP.

[6]  Robert Schöne,et al.  Integrating performance analysis and energy efficiency optimizations in a unified environment , 2013, Computer Science - Research and Development.

[7]  Barry Rountree,et al.  Tools and methods for measuring and tuning the energy efficiency of HPC systems , 2014, Sci. Program..

[8]  Stefanos Kaxiras,et al.  Green governors: A framework for Continuously Adaptive DVFS , 2011, 2011 International Green Computing Conference and Workshops.

[9]  Erwin Laure,et al.  MPI Trace Compression Using Event Flow Graphs , 2014, Euro-Par.

[10]  Eduardo Cesar Galobardes,et al.  Automatic Tuning of HPC Applications. The Periscope Tuning Framework , 2015 .

[11]  Bronis R. de Supinski,et al.  Adagio: making DVS practical for complex HPC applications , 2009, ICS.

[12]  Jack J. Dongarra,et al.  Collecting Performance Data with PAPI-C , 2009, Parallel Tools Workshop.

[13]  Matthias S. Müller,et al.  Developing Scalable Applications with Vampir, VampirServer and VampirTrace , 2007, PARCO.

[14]  Dirk Schmidl,et al.  Score-P: A Joint Performance Measurement Run-Time Infrastructure for Periscope, Scalasca, TAU, and Vampir , 2011, Parallel Tools Workshop.

[15]  Martin Schulz,et al.  Open | SpeedShop: An open source infrastructure for parallel performance analysis , 2008, Sci. Program..

[16]  Gerhard Wellein,et al.  LIKWID: Lightweight Performance Tools , 2011, CHPC.

[17]  Venkatesh Pallipadi,et al.  The Ondemand Governor Past, Present, and Future , 2010 .

[18]  Thomas Ilsche,et al.  The VampirTrace Plugin Counter Interface: Introduction and Examples , 2010, Euro-Par Workshops.

[19]  Allen D. Malony,et al.  The Tau Parallel Performance System , 2006, Int. J. High Perform. Comput. Appl..

[20]  Bernd Mohr,et al.  The Scalasca performance toolset architecture , 2010, Concurr. Comput. Pract. Exp..

[21]  Thomas Ilsche,et al.  Combining Instrumentation and Sampling for Trace-Based Application Performance Analysis , 2015 .

[22]  Robert Dietrich,et al.  OMPT: An OpenMP Tools Application Programming Interface for Performance Analysis , 2013, IWOMP.

[23]  Bernd Mohr,et al.  Design and Prototype of a Performance Tool Interface for OpenMP , 2002, The Journal of Supercomputing.