Next: 2.2.1 Understanding the Preview Up: 2. Data Model Previous: 2.1 Understanding the Drawable Contents

# 2.2 Understanding the Preview Drawable

The preview drawable is created as a result of renormalization of the SLOG-2 format. The renormalized object provides a high-level description of what is going on within the (timeline vs time) region where the preview object spans. The preview drawable is designed to amalgamate real drawables of the same topological type, for example, a preview state is a "state amalgamates only" object. Hence, a preview drawable is always a primitive drawable in the renormalization scheme. There are currently three different types of preview drawables: Preview_State, Preview_Arrow, and Preview_Event. Therefore, one preview drawable is for each supported topology of primitive drawable. Up to three preview categories can appear in the Legend window of the display program (see Figure 3.6. The Legend window contains a table of legends that are basically a visual representation of the category objects mentioned earlier. Each legend provides an interface to the user-modifiable part of the corresponding category that is relevant to the display program.

Figures 2.1 to 2.5 illustrate the visual transition from the preview drawable to its detailed content of the first five processes of a 16-process MPI slog2 file when zooming in on the timeline canvas. The sequence of figures is generated by zooming in on a marked region in each successive figure in sequence. The marked region is shaded and is bounded by a pair of white lines. A magnifying glass with a plus sign in the center is the cursor that marks the ends of the zoom region. Figure 2.1 is a typical timeline canvas, in which most of the real drawables are still buried inside their preview drawables. In the figure are preview arrows, preview states in the front, and some long-running real states in the back.

Figure 2.1: Typical zoomed-out view of preview states and arrows. The region marked by a pair of white lines and the zoom-plus cursor is zoomed into (i.e., enlarged) in the next figure.

Each thick yellow line is a preview arrow, which represents a collection of arrows between its two ending timelines. The start and final timestamps of the preview arrow are the extremes of all real arrows amalgamated inside the preview object. Notice that the beginning or ending timestamp of a preview arrow does not necessarily mean that there is any arrow starting and ending at that time; it indicates simply that there are arrows starting or ending within these two times and between the two marked timelines. The thickness of the preview arrow denotes the number of real arrows represented by the preview object. Because of the limitation on the available thickness that a preview arrow can have, the thickness of the preview object is set equal to the order of magnitude of the number of real objects amalgamated. That is, the same thickness in two different preview arrows does not mean that they contain exactly the same number of real arrows; rather, it means that the numbers of real arrows contained in the preview objects are within the same order of magnitude, that is, within a constant multiplicative factor as defined by PREVIEW_ARROW_LOG_BASE in the Preference window shown in Figure 3.28 and in Table 3.20. Different thickness in preview arrows indicates more than one multiple of the constant factor difference in the number of real arrows between the preview objects.

The rectangle that has horizontal strips of colors is the preview state. The different colors inside a preview state represent the various categories of real states that are amalgamated within the time range of the preview state. Depending on the PREVIEW_STATE_DISPLAY value selected in the pulldown menu at the top of the left side of the y-axis label,2.2 the distribution and the heights of the strips can be changed dramatically. One of the display options for the preview state is CumulativeInclusionRatio. With this option, the strips are arranged in order of decreasing height (somewhat like a small, cumulative histogram). The tallest strip at the bottom of the preview state corresponds to the category of states that contribute the longest total duration in the specified time range inclusively,that is, disregarding the nesting state order. This visual representation tells which state categories can be within the span of the preview state and which state category contributes the most statistically to the specified time range, so that the user can decide where to zoom in to find out more details. In a sense, the preview states provide a global, coarse-grained summary of what is going on, without losing as many details as with the preview in the older version of Jumpshot. For example, the new preview states retain timeline ID information, which may enable early detection of load-balancing problems before zooming in to see all the real states.

Figure 2.2: Zoomed-in view of Figure 2.1.

Figure 2.2 shows a zoomed-in view of the region marked by the pair of white lines in Figure 2.1. In Figure 2.2, some of the preview arrows have disappeared and have been replaced by real arrows (i.e., the white arrows). Also, some of the stripped preview states have split into several small preview states of identical color (i.e., the white and gray states) to show more detailed distribution. Another important feature of the preview state becomes apparent in the figures: Preview states are properly nested within real states. In the most expanded y-axis label view, the preview state is always on top of the other nested states;2.3that is, states that enclose the preview state are always real states. A good visual example is shown in Figure 2.2, where all the white, turquoise, and gray preview states2.4 are sitting on top of the long orange and dark royal-blue states. This configuration indicates that the white, turquoise, and gray real states are all nested inside the long-running orange and dark royal-blue states.

Figure 2.3: Zoomed-in view of Figure 2.2.

Figure 2.3 is a zoomed-in view of the region marked by the pair of white lines in Figure 2.2. Comparing these two figures, we see that all the preview drawables have been replaced by real drawables. Each white preview state is replaced by hundreds of white real states. The same is true for the gray preview states to the rightof the turquoise states.2.5 The preview arrows all have been replaced by real arrows. The region marked by the white lines in Figure 2.2 provides a good description of what is going on in Figure 2.3, but at the same time it reduces the number of drawables drawn on the canvas by a factor of 100. Another way of seeing this benefit is to find out the exact number of real drawables amalgamated by the preview objects within the zoomed-in region. This can be achieved by right clicking on the preview drawable. The result is shown in Figure 3.17.

Figure 2.4: Zoomed-in view of Figure 2.3.

Further zooming in on the region marked by the white lines in Figure 2.3 enlarges the real drawables that are displayed in the figure. The enlarged view is shown in Figure 2.4. The densely packed states and arrows become more distinguishable. Another zooming in around the white lines marked region in Figure 2.4 enlarges the real drawables into easily separable objects, as shown in Figure 2.5.

Figure 2.5: Zoomed-in view of Figure 2.4.

#### Footnotes

...2.2
  In the Preference window, as shown in Figure 3.28 and in Table 3.20, there is also a PREVIEW_STATE_DISPLAY variable. The variable determines the initial PREVIEW_STATE_DISPLAY used when the Timeline window is first made visible.
...2.3
  Only in a slog2 file that has multiple ViewMaps and where timelines can be collapsed, that is, AIX's UTE generated slog2 file, can a preview state be nested with other preview states in a collapsed y-axis label view.
... states2.4
  When a preview state contains only real states of one single category, it may appear like a real state in the timeline canvas. The only sure way to tell the difference is to bring up the Drawable Info Box by right clicking on the state.
...2.5
  In order to speed the graphics performance of the display program, an aggressive algorithm has been used to eliminate drawing states that are closely packed together within the nearest neighboring pixels. Together with the fact that the number of pixels available is less than the number of nonoverlap states in the region, the number of the real states may sometimes not appear as numerous as the Drawable Info Box of the preview state indicates. In that case, a further zoom-in will be needed to confirm the case, as shown in Fig. 2.4.

Subsections

- 2.2.1 Understanding the Preview State Display

Next: 2.2.1 Understanding the Preview Up: 2. Data Model Previous: 2.1 Understanding the Drawable Contents