next up previous
Next: Bibliography Up: Performance Visualization (a white Previous: Wamtrace

Proposed Project

We believe that high-level parallel programming languages like Strand and PCN represent significant strides in the progress toward a usable parallel programming environment. At the same time, it is clear that the more abstract the programming model (and therefore the easier it is to compose a correct parallel program specification), the more difficult it will be to understand the precise sequence of events it causes on a particular invocation and therefore the reasons for its performance characteristics. Therefore tools for understanding the behavior of programs specified in such high-level languages will be critical if these languages and the parallel computers they direct are to enter the mainstream of high-performance computing.

Our experience with (using) gist and (implementing and using) wamtrace have convinced us that elements from these systems provide a platform on which we can build a truly useful system, containing the best ideas from each together with some new ones contributed by profiling tools like gauge. Gauge, for example, can be the source of a set of events that would provide a dynamic, graphical performance profile. We have already begun designing two parts of such a system. One part is like Wamtrace in the way it collects events, but like gist in the way it displays them. At the moment it is completely general, but can easily be tuned to provide information particular to a specific high-level language system. The other part is to provide animation of Strand programs. We have done a very modest prototype implementation, in order to begin to experiment with exactly what type of event visualization is most informative. (Currently all events must be logged explicitly by the user, but we anticipate that the insertion of such code can be done with a preprocessor.)

This project will necessitate both research and implementation work. The research will be into the nature of useful parallel program visualization. It is most likely that varying levels of detail will have to be made visible at different times, and that a mechanism for easily incorporating application-specific events will have to be designed. The research cannot be carried out without a system to experiment with, necessitating implementation effort even at a very early stage. We expect that enough new information will be generated by this project to impact ongoing projects in language design and implementation.


next up previous
Next: Bibliography Up: Performance Visualization (a white Previous: Wamtrace
Karen D. Toonen
1998-11-19