Using cause-effect analysis to understand the performance of distributed programs

Wagner Meira, Thomas J. LeBlanc, Virgilio A F Almeida

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Citations (Scopus)

Abstract

Understanding the performance of distributed programs can be very difficult, since a program's performance depends on characteristics of the application, the underlying hardware, the software environment, and interactions among all three. In this paper we present cause-effect analysis (CEA), a general approach to understanding distributed program performance that facilitates performance analysis, tuning, and prediction. Using detailed program traces gathered at execution time as input, CEA automatically generates explanations for important performance phenomena, identifying code segments that are responsible for the occurrence of the phenomena. We illustrate our approach by describing CEA techniques for three classes of overheads in distributed programs: contention, synchronization, and communication. Using the explanations produced by CEA, we are able to understand and minimize common performance problems in real applications including load imbalance, false sharing, and resource contention.

Original languageEnglish (US)
Title of host publicationProceedings of the SPDT: SIGMETRICS Symposium on Parallel and Distributed Tools
Editors Anon
PublisherACM
Pages101-111
Number of pages11
StatePublished - 1998
Externally publishedYes
EventProceedings of the 1998 SIGMETRICS Symposium on Parallel and Distributed Tools - Welches, OR, USA
Duration: Aug 3 1998Aug 4 1998

Other

OtherProceedings of the 1998 SIGMETRICS Symposium on Parallel and Distributed Tools
CityWelches, OR, USA
Period8/3/988/4/98

Fingerprint

Synchronization
Tuning
Hardware
Communication

ASJC Scopus subject areas

  • Computer Science(all)
  • Engineering(all)

Cite this

Meira, W., LeBlanc, T. J., & Almeida, V. A. F. (1998). Using cause-effect analysis to understand the performance of distributed programs. In Anon (Ed.), Proceedings of the SPDT: SIGMETRICS Symposium on Parallel and Distributed Tools (pp. 101-111). ACM.

Using cause-effect analysis to understand the performance of distributed programs. / Meira, Wagner; LeBlanc, Thomas J.; Almeida, Virgilio A F.

Proceedings of the SPDT: SIGMETRICS Symposium on Parallel and Distributed Tools. ed. / Anon. ACM, 1998. p. 101-111.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Meira, W, LeBlanc, TJ & Almeida, VAF 1998, Using cause-effect analysis to understand the performance of distributed programs. in Anon (ed.), Proceedings of the SPDT: SIGMETRICS Symposium on Parallel and Distributed Tools. ACM, pp. 101-111, Proceedings of the 1998 SIGMETRICS Symposium on Parallel and Distributed Tools, Welches, OR, USA, 8/3/98.
Meira W, LeBlanc TJ, Almeida VAF. Using cause-effect analysis to understand the performance of distributed programs. In Anon, editor, Proceedings of the SPDT: SIGMETRICS Symposium on Parallel and Distributed Tools. ACM. 1998. p. 101-111
Meira, Wagner ; LeBlanc, Thomas J. ; Almeida, Virgilio A F. / Using cause-effect analysis to understand the performance of distributed programs. Proceedings of the SPDT: SIGMETRICS Symposium on Parallel and Distributed Tools. editor / Anon. ACM, 1998. pp. 101-111
@inproceedings{9b27171898c6498abf76543d5691ea1b,
title = "Using cause-effect analysis to understand the performance of distributed programs",
abstract = "Understanding the performance of distributed programs can be very difficult, since a program's performance depends on characteristics of the application, the underlying hardware, the software environment, and interactions among all three. In this paper we present cause-effect analysis (CEA), a general approach to understanding distributed program performance that facilitates performance analysis, tuning, and prediction. Using detailed program traces gathered at execution time as input, CEA automatically generates explanations for important performance phenomena, identifying code segments that are responsible for the occurrence of the phenomena. We illustrate our approach by describing CEA techniques for three classes of overheads in distributed programs: contention, synchronization, and communication. Using the explanations produced by CEA, we are able to understand and minimize common performance problems in real applications including load imbalance, false sharing, and resource contention.",
author = "Wagner Meira and LeBlanc, {Thomas J.} and Almeida, {Virgilio A F}",
year = "1998",
language = "English (US)",
pages = "101--111",
editor = "Anon",
booktitle = "Proceedings of the SPDT: SIGMETRICS Symposium on Parallel and Distributed Tools",
publisher = "ACM",

}

TY - GEN

T1 - Using cause-effect analysis to understand the performance of distributed programs

AU - Meira, Wagner

AU - LeBlanc, Thomas J.

AU - Almeida, Virgilio A F

PY - 1998

Y1 - 1998

N2 - Understanding the performance of distributed programs can be very difficult, since a program's performance depends on characteristics of the application, the underlying hardware, the software environment, and interactions among all three. In this paper we present cause-effect analysis (CEA), a general approach to understanding distributed program performance that facilitates performance analysis, tuning, and prediction. Using detailed program traces gathered at execution time as input, CEA automatically generates explanations for important performance phenomena, identifying code segments that are responsible for the occurrence of the phenomena. We illustrate our approach by describing CEA techniques for three classes of overheads in distributed programs: contention, synchronization, and communication. Using the explanations produced by CEA, we are able to understand and minimize common performance problems in real applications including load imbalance, false sharing, and resource contention.

AB - Understanding the performance of distributed programs can be very difficult, since a program's performance depends on characteristics of the application, the underlying hardware, the software environment, and interactions among all three. In this paper we present cause-effect analysis (CEA), a general approach to understanding distributed program performance that facilitates performance analysis, tuning, and prediction. Using detailed program traces gathered at execution time as input, CEA automatically generates explanations for important performance phenomena, identifying code segments that are responsible for the occurrence of the phenomena. We illustrate our approach by describing CEA techniques for three classes of overheads in distributed programs: contention, synchronization, and communication. Using the explanations produced by CEA, we are able to understand and minimize common performance problems in real applications including load imbalance, false sharing, and resource contention.

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

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

M3 - Conference contribution

AN - SCOPUS:0031629798

SP - 101

EP - 111

BT - Proceedings of the SPDT: SIGMETRICS Symposium on Parallel and Distributed Tools

A2 - Anon, null

PB - ACM

ER -