next up previous
Next: Introduction

Cause-Effect Analysis
of Parallel Program Performance

Wagner Meira Jr. and Thomas J. LeBlanc
Department of Computer Science
University of Rochester, Rochester - NY - 14627
{meira,leblanc}@cs.rochester.edu

Submitted to publication.

Abstract:

This paper describes a general framework and several specific techniques for cause-effect analysis: an automated inference process that presents explanations for dynamic phenomena of parallel program executions in terms of underlying causes and the related source code. We illustrate the framework by describing the implementation of three analysis techniques: waiting time analysis identifies the cause of synchronization overhead as the differences in execution paths taken by synchronizing processors; protocol analysis identifies the sharing patterns to pages that produce invalidations in a DSM protocol; and transaction analysis identifies conflicts between transactions in a parallel file system that cause aborts. We present examples of how each technique can be used to understand observed performance effects, and how insights derived from these techniques suggest program modifications that lead to improved performance.


Compressed postscript (91k)



Wagner Meira
Thu Jan 9 14:27:55 EST 1997