The systems described here have been useful in our study of parallel algorithms expressed in both high- and low-level languages. 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.
Currently these systems are good for examining the execution traces from runs with up to about fifty processes. We are particularly interested in extensions of these systems that will be suitable for displaying the activities of programs running on parallel machines with hundreds of nodes. We are also planning more general animation systems, in particular for data structure animation.
Upshot is available by anonymous ftp from info.mcs.anl.gov, where the directory is pub/upshot and the file is upshot.tar.Z. The companion file alog.tar.Z contains the logging routines that produce the logfiles to be displayed with upshot.