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

  • Robert Schöne
  • Ronny Tschüter
  • Thomas Ilsche
  • Joseph Schuchart
  • Daniel Hackenberg
  • Wolfgang E. Nagel
Conference paper

Abstract

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.

References

  1. 1.
    Adhianto, L., Banerjee, S., Fagan, M., Krentel, M., Marin, G., Mellor-Crummey, J., Tallent, N.R.: HPCTOOLKIT: Tools for performance analysis of optimized parallel programs. Concurr. Comput. Pract. Exper. (2010). doi:10.1002/cpe.1553 Google Scholar
  2. 2.
    Aguilar, X., Fürlinger, K., Laure, E.: MPI trace compression using event flow graphs. In: Proceedings of the International European Conference on Parallel and Distributed Computing (Euro-Par) (2014). doi:10.1007/978-3-319-09873-9_1 Google Scholar
  3. 3.
    Barcelona Supercomputing Center: Extra user guide manual for version 3.1.0. https://www.bsc.es/sites/default/files/public/computer_science/performance_tools/extrae-3.1.0-user-guide.pdf. Online at bsc.es; Accessed 20 Dec 2016
  4. 4.
    Bhalachandra, S., Porterfield, A., Prins, J.F.: Using dynamic duty cycle modulation to improve energy efficiency in high performance computing. In: IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW) (2015). doi:10.1109/IPDPSW.2015.144 Google Scholar
  5. 5.
    Eichenberger, A.E., Mellor-Crummey, J., Schulz, M., Wong, M., Copty, N., Dietrich, R., Liu, X., Loh, E., Lorenz, D.: Ompt: an openmp tools application programming interface for performance analysis. Lect. Notes Comput. Sci (2013). doi:10.1007/978-3-642-40698-0_13 Google Scholar
  6. 6.
    Forum, M.: MPI: a message-passing interface standard. version 3.1 (2015). http://mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf. Online at mpi-forum.org; Accessed 20 Dec 2016
  7. 7.
    Geimer, M., Wolf, F., Wylie, B.J.N., Ábrahám, E., Becker, D., Mohr, B.: The Scalasca performance toolset architecture. Concurr. Comput. Pract. Exper. (2010). doi:10.1002/cpe.1556 Google Scholar
  8. 8.
    Gerndt, M., César, E., Benkner, S. (eds.): Automatic Tuning of HPC Applications - The Periscope Tuning Framework (PTF). Shaker Verlag, Herzogenrath (2015)Google Scholar
  9. 9.
    Hackenberg, D., Ilsche, T., Schuchart, J., Schöne, R., Nagel, W.E., Simon, M., Georgiou, Y.: Hdeem: high definition energy efficiency monitoring. In: Energy Efficient Supercomputing Workshop (E2SC) (2014). doi:10.1109/E2SC.2014.13
  10. 10.
    Ilsche, T., Schuchart, J., Schöne, R., Hackenberg, D.: Combining instrumentation and sampling for trace-based application performance analysis. In: Tools for High Performance Computing (2015). doi:http://dx.doi.org/10.1007/978-3-319-16012-2_6
  11. 11.
    Intel: Intel xeon processor E5 and E7 v3 family uncore performance monitoring reference manual (2015). Reference number: 331051-002Google Scholar
  12. 12.
    Knüpfer, A., Rössel, C., an Mey, D., Biersdorff, S., Diethelm, K., Eschweiler, D., Geimer, M., Gerndt, M., Lorenz, D., Malony, A., et al.: Score-p: a joint performance measurement run-time infrastructure for periscope, Scalasca, Tau, and Vampir. In: Tools for High Performance Computing (2012). doi:10.1007/978-3-642-31476-6_7 Google Scholar
  13. 13.
    Mohr, B., Malony, A.D., Shende, S., Wolf, F.: Design and prototype of a performance tool interface for OpenMP. J. Supercomput. (2002). doi:10.1023/A:1015741304337 MATHGoogle Scholar
  14. 14.
    Müller, M.S., Knüpfer, A., Jurenz, M., Lieber, M., Brunst, H., Mix, H., Nagel, W.E.: Developing scalable applications with Vampir, Vampirserver and Vampirtrace. In: Parallel Computing Conference (PARCO) (2007)Google Scholar
  15. 15.
    NVIDIA: CUPTI user’s guide (2016). http://docs.nvidia.com/cuda/pdf/CUPTI_Library.pdf. Online at docs.nvidia.com; Accessed Dec 2016 20
  16. 16.
    Pallipadi, V., Starikovskiy, A.: The ondemand governor past, present, and future. In: Proceedings of the Ottawa Linux Symposium (OLS) (2006). https://www.kernel.org/doc/ols/2006/ols2006v2-pages-223-238.pdf. Online at kernel.org
  17. 17.
    Pallipadi, V., Li, S., Belay, A.: cpuidle: do nothing, efficiently. In: Proceedings of the Ottawa Linux Symposium (OLS) (2007). https://www.kernel.org/doc/ols/2007/ols2007v2-pages-119-126.pdf. Online at kernel.org
  18. 18.
    Rountree, B., Lownenthal, D.K., de Supinski, B.R., Schulz, M., Freeh, V.W., Bletsch, T.: Adagio: Making dvs practical for complex hpc applications. In: Proceedings of the 23rd International Conference on Supercomputing (ISC) (2009). doi:10.1145/1542275.1542340
  19. 19.
    Schöne, R., Molka, D.: Integrating performance analysis and energy efficiency optimizations in a unified environment. Comput. Sci. Res. Dev. (2013). doi:10.1007/s00450-013-0243-7 Google Scholar
  20. 20.
    Schöne, R., Tschüter, R., Hackenberg, D., Ilsche, T.: The vampirtrace plugin counter interface: introduction and examples. In: Proceedings of the International European Conference on Parallel and Distributed Computing (Euro-Par) Workshops (2011). doi:10.1007/978-3-642-21878-1_62 Google Scholar
  21. 21.
    Schöne, R., Treibig, J., Dolz, M.F., Guillen, C., Navarrete, C., Knobloch, M., Rountree, B.: Tools and methods for measuring and tuning the energy efficiency of HPC systems. Sci. Program. (2014). doi:10.3233/SPR-140393 Google Scholar
  22. 22.
    Schulz, M., Galarowicz, J., Maghrak, D., Hachfeld, W., Montoya, D., Cranford, S.: Open—speedshop: an open source infrastructure for parallel performance analysis. Sci. Programm. (2008). doi:10.1155/2008/713705 Google Scholar
  23. 23.
    Shende, S.S., Malony, A.D.: The TAU parallel performance system. Int. J. High Perform. Comput. Appl. (2006). doi:10.1177/1094342006064482 MATHGoogle Scholar
  24. 24.
    Spiliopoulos, V., Kaxiras, S., Keramidas, G.: Green governors: a framework for continuously adaptive DVFS. In: International Green Computing Conference and Workshops (IGCC) (2011). doi:10.1109/IGCC.2011.6008552 Google Scholar
  25. 25.
    Terpstra, D., Jagode, H., You, H., Dongarra, J.: Tools for High Performance Computing. In: Collecting Performance Data with PAPI-C (2010). doi:10.1007/978-3-642-11261-4_11 Google Scholar
  26. 26.
    Treibig, J., Hager, G., Wellein, G.: Likwid: a lightweight performance-oriented tool suite for x86 multicore environments. In: Proceedings of the International Conference on Parallel Processing Workshops (ICPPW) (2010). doi:10.1109/ICPPW.2010.38 Google Scholar
  27. 27.
    Wang, B., Schmidl, D., Müller, M.S.: Evaluating the energy consumption of openmp applications on Haswell processors. Lect. Notes Comput. Sci. (2015). doi:10.1007/978-3-319-24595-9_17 Google Scholar
  28. 28.
    Weaver, V.M.: Linux perf_event features and overhead. In: The 2nd International Workshop on Performance Analysis of Workload Optimized Systems, FastPath (2013)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Robert Schöne
    • 1
  • Ronny Tschüter
    • 1
  • Thomas Ilsche
    • 1
  • Joseph Schuchart
    • 2
  • Daniel Hackenberg
    • 1
  • Wolfgang E. Nagel
    • 1
  1. 1.Center for Information Services and High Performance Computing (ZIH)Technische Universität DresdenDresdenGermany
  2. 2.High Performance Computing Center Stuttgart (HLRS)University of StuttgartStuttgartGermany

Personalised recommendations