next up previous contents
Next: Contents

Parallel Performance Understanding via Integration of Modeling and Diagnosis

Wagner Meira Jr.

Thesis Proposal for the Degree Doctor of Philosophy

Supervised by Thomas J. LeBlanc

Department of Computer Science

The College of Arts and Sciences

University of Rochester

1996



Compressed postscript (99 pages)

Compressed postscript (single space - 66 pages)


Abstract:

Understanding the performance of parallel applications is a ha rd task, since a programmer has to consider machine resources, application characteristics, and many dynamic interactions, correlating implementation decisions to performance phenomena. This correlation process, which we call performance understanding, can be performed at two levels: (1) intra-execution - performance phenomena particular to an execution, and (2) inter-execution - trends across multiple executions. In the first case we want to know the causes of performance phenomena; in the second case we seek explanations for any trends that correlate performance phenomena and execution parameters. We can organize the understanding process as a set of questions that we pose about the application. By answering these questions, we get information about the application's behavior and its internals, up to the point where we identify implementation decisions that are causing performance problems and should be reevaluated (e.g., data distribution, loop parallelization). Most of this process, however, is performed by the programmer, since current performance tools are very focused and do not provide any support for automatically linking performance phenomena to implementation decisions. The thesis we intend to demonstrate is that it is possible to understand performance phenomena automatically. There are two main efforts to be pursued in accomplishing this thesis: (1) provide support for performance understanding, and (2) design techniques that correlate implementation decisions to performance phenomena. In this proposal, we present work in both directions. Regarding support for understanding, we present Carnival and the Lost Cycles Toolkit. Carnival is a performance understanding framework, that serves not only as a valuable profiling tool, but also supports the development of explanation techniques. The Lost Cycles Toolkit automates the generation of performance models. We also present an automated technique for understanding waiting times (where one processor is blocked while waiting for another) called Waiting Time Analysis, which was developed using Carnival resources. We conclude the proposal by presenting future work directions and a schedule.





Wagner Meira
Wed Feb 28 15:37:47 EST 1996