Preview drawable is created as a result of the renormalization process
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 prevew object spans. Preview drawable is designed to amalgamate
real drawables of same topological type, e.g. preview state amalgamates
only states. So preview drawable is always a primitive drawable in
the renormalization scheme. There are currently 3 different types
of preview drawables: Preview_State, Preview_Arrow, and Preview_Event.
Therefore one preview drawable is for each supported topology of primitive
drawable. The three preview categories will always show up in the
Legend window of the display program as shown in Figure
disregarding of the presence of preview drawables in the slog2 file.
The Legend window contains a table of legends. Each legend provides
an interface to the user modifiable part of the corresponding category
that is relevant to the display program.
Figures to
illustrate the visual transition from preview drawable to its detailed
content of the first 5 processes of a 16 processes MPI slog2 file
when the timeline canvas is being zooming-in. The sequence of figures
is generated by zooming in a marked region in each figure in the sequence.
The marked region is shaded and is bounded by a pair of white lines.
A magnifying glass with plus sign in the center is the cursor that
marks the end of the zoom region. Figure
is a typical timeline canvas where most of real drawables are still
buried by their preview drawables. In the figure, there are preview
arrows, preview states and some long running real states.
Each thick yellow line is a preview arrow which represents a collection of arrows between its 2 ending timelines. The start and final timestamps of 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 an arrow starting or ending at that time, it just indicates that there are arrows starting and ending within these 2 times and between the 2 marked timelines.
The rectangle that has horizontal strips of colors is 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
option selected in Preference window as shown in Figure
and in Table
, the distribution and the
heights of the strips can be changed as well. The default display
option for preview state is DECRE_WEIGHT_ORDER. In this option,
the strips are arranged in decreasing height order. The tallest strip
at the bottom of the preview state corresponds to the category of
states that contribute cumulatively the longest duration in specified
time range. This visual representation aims to tell what state categories
could be within the span of the preview state and which state category
contributes the most statistically to the specified time range, so
user can decide where to zoom in to find out more details. In a sense,
the preview states provide a global coarse-grain summary of what is
going on without losing as much details as the preview found in older
Jumpshot, i.e. Jumpshot-3. Compared with Jumpshot-3's preview which
has averaged out the timeline ID information, the new preview states
retain the timeline ID information and that may lead to early detection
of load balancing problem before zooming into seeing all the real
states.
Figure shows a more zoom-in view
of the region marked by the pair of white lines in Figure
.
As shown in Figure
, some of the
preview arrows have disappeared and are replaced by real arrows, the
white arrow. Also, some of the stripped preview states have split
into several preview states of one single color, i.e. the white and
grey states, to show more detailed distribution. Another important
feature of preview state becomes apparent in the figures: Preview
states are properly nested within real states. In the most expanded
Y-axis label view, preview state is always on top of other nested
states2.2, i.e. states that enclose the preview state are alway real states.
A good visual example is shown in Figure
where all the white, turquoise and grey preview states2.3 are sitting on top of the long orange and dark royal blue states.
This indicates that the white, turquoise and grey real states will
be all nested inside the long running orange and dark royal blue states.
Figure is the zoom-in view of
the region marked by the pair of white lines in Figure
.
Comparing these 2 figures, all the preview drawables have disappeared
and are replaced by real drawables. Each white preview state are repleaced
by hundreds of white real states, the same is also true for the grey
preview states that sit to the right of the turquoise states2.4. The preview arrows are all replaced by the real arrows. It becomes
apparent that the white lines marked region in Figure
provides a good description of what is going on in Figure
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 region. This can be achieved by right clicking
on the preview drawable and the result is shown in Figure
.
Further zooming into the white lines marked region in Figure
enlarges the real drawables that are displayed in the figure. The
enlarged view is shown in Figure
.
The densely packed states and arrows become more distinguishable.
Another zooming in the whit lines marked region in Figure
enlarges the real drawables into easily separable objects as shown
in Figure
.