next up previous contents
Next: Research Plan Up: Future work and schedule Previous: Future work and schedule

Strategy

The development of explanation techniques consists of identifying performance phenomena that need to be explained and designing explanation techniques for them.

Even in our well-delimited scenario (i.e., SPMD data-parallel programs based on message passing) many performance phenomena arise, and we must be careful to identify only phenomena that are worth explaining. First, we must discard phenomena that are very rare or have negligible effects on the overall performance of parallel applications. Second, it is not necessary to develop explanation techniques for phenomena that are already well explained using current techniques.

Also, note that we restrict our research to application-related phenomena. For example, our focus does not include phenomena that are the result of interactions among applications (e.g., multiprogramming).

In designing explanation techniques, we start by identifying the static and dynamic information necessary to generate an explanation. Then we determine the various steps in the inference process and consider how to accomplish those steps.

After the development of an explanation technique, the next step is its integration into a performance understanding framework such as Carnival . We may have to enhance the framework to provide all the information (static and dynamic) necessary for the new technique, if it is not already available. Then we integrate the technique by automating it and providing a visualization interface.

The last step is the validation of the explanation technique, which is done by studying the performance of real applications.

We have been applying this strategy in the development of explanation techniques for waiting times. We intend to improve the strategy and apply it to other performance phenomena, as described in the next section.



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