Recovering Logical Structure from Charm++ Event Traces
| Katherine Isaacs | Abhinav Bhatele | Jonathan Lifflander | David Böhme | Todd Gamblin | Martin Schulz | Bernd Hamann | Peer-Timo Bremer
International Conference for High Performance Computing, Networking, Storage and Analysis (SC) 2015
Publication Type: Paper
Repository URL:
Asynchrony and non-determinism in Charm++ programs present a significant challenge in analyzing their event traces. We present a new framework to organize event traces of parallel programs written in Charm++. Our reorganization allows one to more easily explore and analyze such traces by providing context through logical structure. We describe several heuristics to compensate for missing dependencies between events that currently cannot be easily recorded. We introduce a new task ordering that recovers logical structure from the non-deterministic execution order. Using the logical structure, we define several metrics to help guide developers to performance problems. We demonstrate our approach through two proxy applications written in Charm++. Finally, we discuss the applicability of this framework to other task-based runtimes and provide guidelines for tracing to support this form of analysis.
Research Areas