Analyzing parallel program executions using multiple views

Thomas J. Leblanc, John M. Mellor-Crummey, Robert J. Fowler

Research output: Contribution to journalArticlepeer-review

50 Scopus citations


To understand a parallel program's execution we must be able to analyze lots of information describing complex relationships among many processes. Various techniques have been used, from program replay to program animation, but each has limited applicability and the lack of a common foundation precludes an integrated solution. Our approach to parallel program analysis is based on a multiplicity of views of an execution. We use a synchronization trace captured during execution to construct a graph representation of the program's behavior. A user manipulates this representation to create and fine-tune visualizations using an integrated, programmable toolkit. Additional execution details can be recovered as needed using program replay to reconstruct an execution from an existing synchronization trace. We present a framework for describing views of a parallel program's execution, and an analysis methodology that relates a sequence of views to the program development cycle. We then describe our toolkit implementation and explain how users construct visualizations using the toolkit. Finally, we present an extended example to illustrate both our methodology and the power of our programmable toolkit.

Original languageEnglish (US)
Pages (from-to)203-217
Number of pages15
JournalJournal of Parallel and Distributed Computing
Issue number2
StatePublished - Jun 1990

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Artificial Intelligence


Dive into the research topics of 'Analyzing parallel program executions using multiple views'. Together they form a unique fingerprint.

Cite this