previous up next
Go backward to 2.4 Shared Data Objects
Go up to 2 Examples
RISC-Linz logo

2.5 Visualization

The system supports two kinds of visualization features for investigating the dynamic behavior of a program:

In both cases, the results are generated from information that is locally available on the host running the interactive interface. The execution state of other machines is inferred from messages that are received and processed by the host with some delay. The visualizations therefore represent the status of the distributed system as experienced by the local host which does not necessarily reflect the actual status of the system at any time.

For online visualization, execution of a command like


dist[visualize](600, 300, 2, 120);

creates a window as depicted in Figure 2.5. This window of size 800 ×450 displays in its upper half the execution status of each machine during the last 120 seconds with probes taken every 2 seconds. The diagram in the lower half of the window depicts the number of machines active at any moment (as experienced by the local host). Calling this command several times with varying parameters yields different windows with different execution snapshots. Windows may be individually resized and closed (by the "Close" button in the window frame).

Online Visualization
 

For post-execution visualization, a command like


dist[trace](file);

has to be executed before the dist[initialize] command. This causes the system to log relevant events in a file file stored on the local host. After the dist[terminate] command has been executed, one may run the Java program visual.Main, e.g.,


% java visual.Main file initialize terminate 100 100

This generates some files file-*.fig each of which contains a diagram of size 100 ×100 mm that visualizes some aspect of the program's runtime behavior as seen in Figure 2.5: the first diagram denotes by horizontal bars those times when a machine was active (with the short vertical lines exhibiting particular events); the second diagram displays the number of machines active at a time; the last diagram shows from when to when and by which machine each task was executed. The numbers at the bottom denote the range of the visualization in milliseconds; the vertical dashed lines represents execution labels (see below).

Post-Execution Visualization
 

The files are in the Fig 3.2 format; corresponding programs such as "xfig" may be used to process them and to generate images in various formats.

The (predefined) labels initialize and terminate in the call of visual.Main denote the range of the visualization. By calling the command


dist[label](key);

during program execution, additional labels ("key") are generated. These labels create corresponding vertical dashed lines in the diagrams and may be used for restricting the visualization range.


Maintainer: Wolfgang Schreiner
Last Modification: July 6, 2001

previous up next