next up previous
Next: Our Approach: An Up: VIS'92 Conference Previous: VIS'92 Conference

Introduction

Visualization tools aid in the understanding of massively parallel, MIMD computations. They are useful both at the application level where data visualization allows the user to better understand simulated, real world phenomena and at the programming level where program animation enables the user to better understand the behavior of his/her code. At either level, however, visualization tools running on MIMD architectures must contend with the effects of asynchronous execution.

Processes in an asynchronous computer system execute without the benefit of a global clock; instead they have their own local clocks which are not mutually synchronized. As a result, it is not always possible to determine the order of events executed by different processes. The temporal ordering of events in a parallel, MIMD computer system is a partial order, not a linear order. Animation systems, however, are constrained to sequential, frame-by-frame depictions and therefore they must impose a linear ordering on events. But what if this ordering does not match the programmers expectations? Is the resulting anomaly an artifact of the visualization tool or is it a misunderstanding of the real world phenomena or is it the symptom of a program bug?

To date, our work has focused on program animation tools designed specifically for use in debugging for correctness.gif We have developed techniques that manipulate logical time in order to produce coherent animations of parallel program behavior despite the presence of asynchrony. Our techniques ``interpret'' program behavior in light of user-defined abstractions and generate animations based on a logical rather than a physical view of time. If this interpretation succeeds, the resulting animation is easily understood; if it fails, the programmer can be assured that the failure was not an artifact of the visualization. Here we demonstrate that these techniques can be more generally applied to enhance the visualization of data as it is manipulated by parallel, MIMD computations.

We begin, in Sections 2 and 3, by defining our techniques in their original context, that is, within systems for program animation. In Section 4, we demonstrate their utility in the more general context of data visualization. In Section 5, we present our conclusions.



next up previous
Next: Our Approach: An Up: VIS'92 Conference Previous: VIS'92 Conference



Joydip Kundu kundu@neweng.enet.dec.com