Overview
Traces of system behavior are a common artifact used to analyze the performance of computer systems. Due to the many sources of non-determinism in today's systems, running the same experiment twice will usually lead to significantly different traces. Trace alignment is a technique that allows the reasoning between multiple such traces. It overcomes the time dilation between two traces by aligning the traces along their time axes.
The above figure shows three traces of the execution of a Java application (SPEC JVM98 db). The x axis represents time, while the y axis shows the IPC (instructions-per-cycle, a hardware performance metric). Given the shaded time interval in the top trace, trace alignment is capable of finding the corresponding time intervals in the other traces, even though they are considerably shifted along the time axis.
Tools
Alignment Explorer is an interactive tool to explore the strengths and weaknesses of different trace alignment approaches. It currently supports the (trivial) Full Uniform Scaling and Dynamic Time Warping alignment algorithms.
Launch Alignment Explorer (via Java WebStart).
Alignment Explorer comes with a few predefined (synthetic) traces. You can pick two traces (time series) to align. One will be shown on the horizontal axis along the top of the alignment matrix, while the other will be shown along the vertical axis to the left of the alignment matrix.
An alignment maps each sample of the horizontal trace to a corresponding sample of the vertical trace, and vice versa. The alignment matrix visualizes the alignment in the form of black squares. Each black square in the matrix corresponds to a node in the alignment: it maps exactly one sample of the horizontal trace to exactly one sample of the vertical trace. The black square in the top left corner aligns the first sample of the two traces, and the bottom right corner aligns the last sample of the traces.
When the Dynamic Time Warping alignment algorithm is chosen, the background of the alignment matrix is colored (in various shades of blue) to represent the cost matrix. Each cell represents the minimal cumulative cost of the warp path ending at that cell and starting at the top left cell. The brighter the color the higher cost. Hover with the mouse over a cell in the alignment matrix to see a tooltip with more information about the corresponding cell.
You can select a set of alignment nodes by selecting them with the mouse in the alignment matrix or any time series. The selected nodes are highlighted in red.
