Capturing and visualizing event flow graphs of MPI applications

  • Authors:
  • Karl Fürlinger;David Skinner

  • Affiliations:
  • Computer Science Division, EECS Department, University of California at Berkeley, Berkeley, CA;Lawrence Berkeley National Lab, Berkeley, California

  • Venue:
  • Euro-Par'09 Proceedings of the 2009 international conference on Parallel processing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

A high-level understanding of how an application executes and which performance characteristics it exhibits is essential in many areas of high performance computing, such as application optimization, hardware development, and system procurement. Tools are needed to help users in uncovering the application characteristics, but current approaches are unsuitable to help develop a structured understanding of program execution akin to flow charts. Profiling tools are efficient in terms of overheads but their way of recording performance data discards temporal information. Tracing preserves all the temporal information but distilling the essential high level structures, such as initialization and iteration phases can be challenging and cumbersome. We present a technique that extends an existing profiling tool to capture event flow graphs of MPI applications. Event flow graphs try to strike a balance between the abundance of data contained in full traces and the concise information profiling tools can deliver with low overheads. We describe our technique for efficiently gathering an event flow graph for each process of an MPI application and for combining these graphs into a single application-level flow graph. We explore ways to reduce the complexity of the graphs by collapsing nodes in a step-by-step fashion and present techniques to explore flow graphs interactively.