Kaleidescope Visualization of Fine-Grain Parallel Programs
E. Tick, D.-Y. Park
Committee:
Technical Report(Dec 1969)
Keywords:

A software visualization tool is described that transforms program execution trace data from a multiprocessor into a single color image. The image is essentially the program's logical procedure-invocation tree, displayed radially from the root. An algorithm is described that condenses the image both radially and laterally, pro­ducing a color-dense abstraction of the program's execution behavior: a program signature, within a workstation window. Three views are offered, implemented by painting the image with colors corresponding either to processors, procedures, or time. Time is sequentially mapped onto the color spectrum, exploiting the user's perception of spatial locality. The signature can be thought of as an animation where successive frames are superimposed; however, our algorithm has the advan­tage, like that of a text pretty printer, of analyzing the entire trace to produce a single, clear picture. An implementation of the tool was made in X-Windows, including a user interface that can zoom the image and annotate any node in the image with the corresponding procedure name. Experimentation with the system was performed with trace data from Panda, a shared-memory multiprocessor logic programming system. We demonstrate how the tool helps the programmer develop intuitions about parallel performance and how condensation successfully abstracts large traces.