Extracting Critical Path Graphs from MPI Applications
The critical path is one of the fundamental runtime characteristics of a parallel program. It identifies the longest execution sequence without wait delays. In other words, the critical path is the global execution path that inflicts wait operations on other nodes without itself being stalled. Hence, it dictates the overall runtime and knowing it is important to understand an application's runtime and message behavior and to target optimizations. We have developed a toolset that identifies the critical path of MPI applications, extracts it, and then produces a graphical representation of the corresponding program execution graph to visualize it. To implement this, we intercept all MPI library calls, use the information to build the relevant subset of the execution graph, and then extract the critical path from there. We have applied our technique to several scientific benchmarks and successfully produced critical path diagrams for applications running on up to 128 processors.
- Research Organization:
- Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- W-7405-ENG-48
- OSTI ID:
- 881659
- Report Number(s):
- UCRL-CONF-214107; TRN: US200613%%4
- Resource Relation:
- Conference: Presented at: IEEE Cluster 2005, Boston, MA, United States, Sep 27 - Sep 30, 2005
- Country of Publication:
- United States
- Language:
- English
Similar Records
Exploring MPI Communication Models for Graph Applications Using Graph Matching as a Case Study
A Case for Application Oblivious Energy-Efficient MPI Runtime