Analyzing parallel program executions using multiple views

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

Research output: Contribution to journalArticle

50 Citations (Scopus)

Abstract

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
Volume9
Issue number2
DOIs
StatePublished - 1990
Externally publishedYes

Fingerprint

Parallel Programs
Synchronization
Visualization
Animation
Trace
Graph Representation
Methodology
Program Analysis
Multiplicity
Cycle

ASJC Scopus subject areas

  • Computer Science Applications
  • Hardware and Architecture
  • Control and Systems Engineering

Cite this

Analyzing parallel program executions using multiple views. / Leblanc, Thomas J.; Mellor-Crummey, John M.; Fowler, Robert J.

In: Journal of Parallel and Distributed Computing, Vol. 9, No. 2, 1990, p. 203-217.

Research output: Contribution to journalArticle

Leblanc, Thomas J. ; Mellor-Crummey, John M. ; Fowler, Robert J. / Analyzing parallel program executions using multiple views. In: Journal of Parallel and Distributed Computing. 1990 ; Vol. 9, No. 2. pp. 203-217.
@article{b1a173616a0d4b7f9815df0af098909d,
title = "Analyzing parallel program executions using multiple views",
abstract = "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.",
author = "Leblanc, {Thomas J.} and Mellor-Crummey, {John M.} and Fowler, {Robert J.}",
year = "1990",
doi = "10.1016/0743-7315(90)90046-R",
language = "English (US)",
volume = "9",
pages = "203--217",
journal = "Journal of Parallel and Distributed Computing",
issn = "0743-7315",
publisher = "Academic Press Inc.",
number = "2",

}

TY - JOUR

T1 - Analyzing parallel program executions using multiple views

AU - Leblanc, Thomas J.

AU - Mellor-Crummey, John M.

AU - Fowler, Robert J.

PY - 1990

Y1 - 1990

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=0025442790&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0025442790&partnerID=8YFLogxK

U2 - 10.1016/0743-7315(90)90046-R

DO - 10.1016/0743-7315(90)90046-R

M3 - Article

VL - 9

SP - 203

EP - 217

JO - Journal of Parallel and Distributed Computing

JF - Journal of Parallel and Distributed Computing

SN - 0743-7315

IS - 2

ER -