Skip to main content

Event Flow Graphs for MPI Performance Monitoring and Analysis

  • Conference paper
  • First Online:
Tools for High Performance Computing 2015

Abstract

Classical performance analysis methodologies use either execution traces with fine-grained data or profiles with aggregates. Event traces provide the finest level of detail on application behavior, however, they are infeasible at extreme scales due to the huge amount of information they contain. In contrast, profiles are much more scalable but they lack the temporal order between events. In this paper, we present the use of event flow graphs for performance characterization of MPI applications. Event flow graphs capture statistics on the events performed by the application while preserving the temporal order of such events. Thus, they stand in between tracing and profiling, and are a good complement for classical performance analysis approaches such as event traces or profiles. Furthermore, event flow graphs can be used for means other than visual exploration of performance data. For example, graphs can be utilized as compressed representations of event traces, or to automatically detect the program structure of iterative applications at runtime without any source code analysis.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Adhianto L, Banerjee S, Fagan M, Krentel M, Marin G, Mellor-Crummey J, Tallent NR (2010) Hpctoolkit: Tools for performance analysis of optimized parallel programs. Concurr Comput Pract Exp. 22(6):685–701

    Google Scholar 

  2. Aguilar X, Fürlinger K, Laure E (2014) MPI trace compression using event flow graphs. In: Proceedings of the Euro-Par 2014 parallel processing, Springer, Heidelberg, pp 1–12

    Google Scholar 

  3. Aguilar X, Fürlinger K, Laure E (2015) Automatic on-line detection of MPI application structure with event flow graphs. In: Proceedings of the Euro-Par 2015: Parallel processing, Springer, Heidelberg, pp 70–81

    Google Scholar 

  4. Aguilar X, Fürlinger K, Laure E (2015) Visual MPI performance analysis using event flow graphs. Procedia Comput. Sci. 51(0), 1353–1362, In: Proceedings of the international conference on computational science ICCS 2015, Computational science at the gates of nature

    Google Scholar 

  5. Aguilar X, Laure E, Furlinger K (2013) Online performance data introspection with ipm. In: Proceedings of the high performance computing and communications & IEEE international conference on embedded and ubiquitous computing (HPCC_EUC), IEEE 10th international conference, IEEE, pp 728–734

    Google Scholar 

  6. Bailey DH, Barszcz E, Barton JT, Browning DS, Carter RL, Dagum L, Fatoohi RA, Frederickson, PO, Lasinski TA, Schreiber RS et al (1991) The nas parallel benchmarks. Int J High Perform Comput Appl 5(3):63–73

    Google Scholar 

  7. Casas M, Badia RM, Labarta J (2010) Automatic phase detection and structure extraction of MPI applications. Int J High Perform Comput Appl 24(3):335–360

    Google Scholar 

  8. Fürlinger K, Skinner D (2010) Capturing and visualizing event flow graphs of MPI applications. In: Proceedings of the Euro-Par 2009–parallel processing workshops. Springer, Heidelberg, pp 218–227

    Google Scholar 

  9. Geimer M, Wolf F, Wylie BJ, Ábrahám E, Becker D, Mohr B (2010) The scalasca performance toolset architecture. Concurr Comput Pract. Exp 22(6):702–719

    Google Scholar 

  10. Gonzalez J, Gimenez J, Labarta J (2009) Automatic detection of parallel applications computation phases. In: Proceedings of the parallel distributed processing on IEEE international symposium IDPDS 2009, pp 1–11

    Google Scholar 

  11. Havlak P (1997) Nesting of reducible and irreducible loops. ACM Trans Progr Lang Syst (TOPLAS) 19(4):557–567

    Google Scholar 

  12. IPM WWW site: http://www.ipm2.org

  13. Knupfer A, Nagel WE (2005) Construction and compression of complete call graphs for post-mortem program trace analysis. In: Proceedings of the international conference on parallel Processing ICPP 2005, IEEE, pp 165–172

    Google Scholar 

  14. Krishnamoorthy S, Agarwal K (2010) Scalable communication trace compression. In: Proceedings of the 2010 10th IEEE/ACM international conference on cluster, cloud and grid computing. IEEE Computer Society, pp 408–417

    Google Scholar 

  15. Llort G, Gonzalez J, Servat H, Gimenez J, Labarta J (2010) On-line detection of large-scale parallel application’s structure. In: Proceedings of the IEEE international symposium on parallel distributed processing (IPDPS), pp 1–10

    Google Scholar 

  16. Mucci PJ, Browne S, Deane C, Ho G (1999) Papi: a portable interface to hardware performance counters. In: Proceedings of the department of defense HPCMP users group conference, pp 7–10

    Google Scholar 

  17. Nagel WE, Arnold A, Weber M, Hoppe HC, Solchenbach K (1996) Vampir: visualization and analysis of mpi resources

    Google Scholar 

  18. Noeth M, Ratn P, Mueller F, Schulz M, de Supinski BR (2009) Scalatrace: scalable compression and replay of communication traces for high-performance computing. J Parallel Distrib Comput 69(8):696–710

    Google Scholar 

  19. Pillet V, Labarta J, Cortes T, Girona S (1995) Paraver: a tool to visualize and analyze parallel code. In: Proceedings of WoTUG-18: transputer and occam developments. vol 44, pp 17–31

    Google Scholar 

  20. Ramalingam G (1999) Identifying loops in almost linear time. ACM Trans Program Lang Syst (TOPLAS) 21(2):175–188

    Google Scholar 

  21. Shende SS, Malony AD (2006) The tau parallel performance system. Int J High Perform Comput Appl 20(2):287–311

    Google Scholar 

  22. Sreedhar VC, Gao GR, Lee YF (1996) Identifying loops using DJ graphs. ACM Trans Program Lang Syst (TOPLAS) 18(6):649–658

    Google Scholar 

  23. Wei T, Mao J, Zou W, Chen Y (2007) A new algorithm for identifying loops in decompilation. In: Nielson H, File G (eds) Static analysis. Lecture notes in computer science, vol 4634. Springer, Heidelberg, pp 170–183

    Google Scholar 

  24. Zaki O, Lusk E, Gropp W, Swider D (1999) Toward scalable performance visualization with jumpshot. Int J High Perform Comput Appl 13(3):277–288

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xavier Aguilar .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Aguilar, X., Fürlinger, K., Laure, E. (2016). Event Flow Graphs for MPI Performance Monitoring and Analysis. In: Knüpfer, A., Hilbrich, T., Niethammer, C., Gracia, J., Nagel, W., Resch, M. (eds) Tools for High Performance Computing 2015. Springer, Cham. https://doi.org/10.1007/978-3-319-39589-0_8

Download citation

Publish with us

Policies and ethics