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

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

Research output: Contribution to conferencePaperpeer-review

10 Scopus citations

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)
Pages101-111
Number of pages11
StatePublished - Jan 1 1998
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

ASJC Scopus subject areas

  • Computer Science(all)
  • Engineering(all)

Fingerprint Dive into the research topics of 'Using cause-effect analysis to understand the performance of distributed programs'. Together they form a unique fingerprint.

Cite this