Several visualization techniques exist today for the analysis of parallel applications. These tech-niques help the developer to obtain a better performance and also provide a way to understand the behavior of programs in a given execution environment. A possible classification of the visualization techniques is the division in three types: behavior, such as the space/time and phase-portrait views, showing the evolution of entities over time; structural, focused in the observation of communications, such as the techniques matrix, communication graph and call graph; and finally statistical, which summarizes trace data.
The two next Chapters present the visualization techniques proposed in this thesis. In the beginning of each Chapter, we show that existing visualization tools are not fully suitable for the analysis of grid parallel applications. The first Chapter deals with the lack of support from visualization tools to the analysis of parallel applications mixed with network topology. The
2.4. SUMMARY 25 second Chapter proposes a visualization scheme that achieves visualization scalability and can be used to analyze parallel applications composed by thousands of processes.
Chapter 3
The Three-dimensional Model
The previous Chapter has listed tools and techniques that can be used to analyze the behavior of parallel applications. The presented tools were detailed in terms of features and capabili-ties, including which visualization techniques are implemented. At the end of the Chapter, we presented a classification of the techniques in three types: structural, behavioral and statistical.
Generally, most tools were built to handle precise environments, such as clusters, where the dy-namics of the resources are not felt by applications since usually the access to the resources is made exclusively. This Chapter goes through the grid characteristics to show that the traditional visualization schemes are not able to fully help the developer to analyze parallel applications, particularly when network characteristics must be taken into account.
The performance of grid parallel applications is directly related to the characteristics of the network interconnection [49]. When the grid resources have a strong hierarchy among them, as in the case of a lightweight grid, the choice of resources given to an application can be decisive for its performance and later understanding of its behavior. For instance, if two sets of processes perform more communications between them and are placed in two distinct locations of a grid that does not offer the lowest latency, the application can suffer a loss in performance. Some-times, the analyst is not able to make the link between application and network characteristics.
The decisions taken from a traditional analysis may lead to wrong conclusions about the bad performance. In this case, if we were able to analyze the application behavior together with the network characteristics, we would see more clearly the reason of the application behavior.
This example can be more explicit if we consider that each parallel application has a com-munication pattern. These patterns are defined when the application is implemented, through the use of paradigms such as master-slave, divide-and-conquer and so on. During an application analysis, it would be interesting to visualize this pattern together with the network topology.
With this, it would be possible to optimize the match between the network interconnection and the application’s communications. If this optimization is not possible, the analysis could be used to help the developer to adapt the application in order to better explore the network characteris-tics.
Looking at the tools presented in last Chapter, we can notice that most of the techniques they present are not able to handle an analysis that takes into account the network intercon-nection. ParaGraph (see Section 2.2.1) is the only tool that has the notion of interconnection
27
in its visualization techniques, although providing only hypercube visualizations and program communication patterns, separately. In fact, ParaGraph was not designed to analyze large-scale applications, with thousands of processing entities. Other techniques, such as the space-time visualizations or graph-based views, present in almost all visualization tools, are also not able to depict the network interconnection together with the communications of parallel applications. In this case, the limitation is related to the way resources and components of application are drawn, which is made on a linear space. As the architecture gets larger and more complex, highlight-ing its topology becomes impractical. And even if some sort of simple topology organization can be represented using one of the axis, labeling the platform representation with additional characteristics like throughput and latency usually degrades the readability of the whole picture.
Our proposition to make a link between application analysis and network topology is based on a visualization scheme composed of three dimensions. One of the dimensions is the timeline, where the components of application can be analyzed using a behavioral view. The other two dimensions are used to draw either a structural or statistical representation. In the context of the problem being addressed, these two dimensions are used to draw a visual representation of the network topology. Broadly speaking, our proposal combines at different levels the three types of visualization techniques we discussed in Section 2.3, resulting in a mixed behavioral-structural/statistical representation.
Some visualization tools for parallel application analysis already have 3D visualizations.
ParaGraph, for instance, has a 3D representation for a Torus Network Topology, but its focus is in the instantaneous analysis of the interconnection utilization, with no axis reserved to work as timeline. Another example is Paradyn, that contains its 3D Terrain Visualization being able to show the relation between two metrics and their evolutions over time. Since the two dimensions of the 3D Terrain are not conceived to draw graphs, Paradyn is not able to visualize the network topology and application evolution at the same time. The third example of tool that uses 3D visualizations is Virtue. Among its visualization techniques, the time-tunnel is the only one that seems like our approach, but it is fundamentally different, since it was not developed to show the network topology or parallel application communications pattern. Virtue only places the processes of an application in a circular manner in two of the dimensions, letting the third dimension act as timeline. The view of the developer is always pointing to the center of the circle. Communications and interactions are drawn inside that circle, in a 3D space. TAU’s ParaProf also has its 3D visualization, but focused on the analysis of statistical data. This means that ParaProf is able to visualize three types of related events in the same visualization, using the three dimensions. However, ParaProf is not able to use one of these dimensions as timeline and it is incapable of drawing graphs in the two remaining dimensions. In summary, we can see that there are tools that already provide some sort of 3D visualization, but none of them have the same approach as we have, merging network topology to the application analysis.
The rest of the Chapter is organized as follows. We start by describing the visual conception of the 3D approach, detailing its visual objects and how application traces are mapped into the 3D view. In Section 3.2, we explain the abstract model that deals with the monitoring data and generates the 3D visualizations, followed by a series of sections, each one describing the components of the model: the trace reader, the extractor, the entity matcher and the visualization component. During the description of the entity matcher, we detail three configurations that can
3.1. VISUAL CONCEPTION 29 be used inside the 3D approach.
3.1 Visual Conception
The visual conception of our model consists in the combination of visualization techniques that show the behavior of the application with techniques that show the structure or statistical data.
If a structural data is used in combination with the behavior representation technique, the user can observe the evolution of monitored component through time and consider the structural or-ganization. This is the case when users have to analyze the parallel application with the network topology, for instance. If statistical data is used instead, the user can summarize in quantitative terms the behavior of the application, using different time scales and slices. In a more practical way, these combinations allow the representation of the notion of gantt-charts combined with graphs and summaries.
The result of this visual conception is the three-dimensional model. The model has two dimensions reserved for the representation of a structural or statistical view. We named these two dimensions the visualization base of the 3D model. The third dimension is the timeline.
Figure 3.1(a) shows an example of the 3D approach to represent application data. The states of the processes are represented in the 3D visualization as vertical bars. They are placed on top of the visualization base. The different states along the time axis of a certain process are represented by different colors. Each state representation is placed vertically following the start and end timestamps. Communications can be represented as arrows or links within the 3D environment, connecting two or more processes that communicate. The Figure 3.1(b) shows a different point of view, located on top of the visual objects. This vision allows the observation of the communication pattern of the application.
(a) Visual conception of the 3D approach. (b) Top-view of the same scene.
Figure 3.1 – The visual conception of the 3D approach with application traces represented by vertical bars showing processes behavior through time.
The visualization base of the model is composed of two dimensions. They are used to depict
either structural or statistical representation techniques. Structural representations, as presented in Section 2.3, can be mainly graphs and matrices or any other technique used to organize the components of the application. Statistical techniques can be used to summarize a particular part of the behavior of the components being visualized.
Lots of configurations are possible for the visualization base. For instance, it can be used to illustrate the communication pattern of the parallel application, but also the network topology involved in the execution of a parallel application. In our model, we propose three types of con-figurations for the visualization base (see Section 3.5). Two of them are structure-based, showing interconnection graphs. The other is an information visualization technique called Treemap [42], used to represent hierarchical information data. Additional techniques can be easily adapted to our model to work as the visualization base.
The third dimension of our model is the timeline. It is usually represented as the vertical axis of the 3D approach, as can be noticed in Figure 3.1(a). The timeline axis is used to show the component’s behavior evolution through time. In the case where the components are processes, the vertical bars that represent them might have different colors to represent states and arrows to represent point-to-point or collective communications. These representations characteristics are similar to the ones present in space-time views, but here in three dimensions. The timeline is configurable to offer the users different time scales that can be dynamically changed.
When using graphical visualizations, users are interested in interaction mechanisms, like zooming, online information updates and so on. They improve the user perception of specific parts of the information, enabling a deep application and platform behavior analysis. Anima-tions can also be applied to dynamically change the graphical visualization. Resizing rectangles and changing their colors to reflect the platform state in given time intervals are some examples.
In this case, changes are caused by continuous information updates coming from the moni-toring system. Another type of graphical interaction mechanism is constituted by distortion techniques [15], which magnify only specific parts of the representation. The fish-eye tech-nique [69] is a good example of such techtech-nique. It helps the user to obtain details about a picture area without losing its context (as opposed to a simple zoom).
Besides these interaction mechanisms, we have a set of possible interactions with the 3D approach. An example of that is the notion of observation point. In this context, the view that the user is staring at any time is generated by a camera. This camera can be moved inside the 3D space with rotation, translation and approximation techniques. This allows multiple views of the same data, from different angles.