Tracing and visualization of T-application run


OpenTS has its own model of computation and a number of runtime system parameters. OpenTS compute in terms of “tasks”. As well, many characteristics like amount of data, CPU idle time etc. are measured. This information is important since it gives an opportunity to optimize an application. In order to speed-up T-applications development cycle, a comprehensive visualization tool was implemented during the project. The tool provides a visual representation of key parameters of the T++ runtime. OpenTS’ visualization system consists of the following components:
  • The runtime tracing module that allows to gather statistics of T-application run. This includes: quantities for tasks in different states, scheduler time, amount of MPI time, size of transmitted/received data and a number of service messages of different types.

    This module can be enabled by specifying '-tct enableTrace' command-line argument when T-application is run.
  • The trace visualizer that allows a visual representation and analysis of T-application run trace with the help of GUI.
Visualization system substantially eases development of efficient T-applications and of the T++ runtime modules. Particularly, visualization improves debugging and tuning of different scheduling algorithms, e.g. for GRID computing.

T-application trace

A trace of T-application run contain quantitative adjectives of T-application tasks, scheduling time, transporting time, the amount of data and of service messages. During T-application run its tasks’ states may vary from “prenatal” to “finished”. This is a step-by-step process. Possible task states are shown on the picture below. A trace is stored in the XML format during T-application run. A special OpenTS plug-in is used to collect and store the trace. T-application trace data is an input for T-visualizer.


T-visualizer is a GUI application which works as a front-end to the OpenTS visualization system. T-visualizer can be used to examine how T-applications work. It allows to observe the process of distributing and computing of tasks, and it helps to gather data for debugging and tuning of T-applications. GTK+ cross-platform GUI library was used to implement T-visualizer for Windows.

T-visualizer GUI has the following components:
  1. T-graph — in which each MPI process of T-application is represented as node in graph, and communications between nodes are the edges. Each node in graph contains information about the number of tasks of different types: prenatal, active, running, sleeping, finished, exported and imported. An amount of messages sent between nodes is displayed next to each edge.
  2. Controls — allows to control displaying of the trace frame by frame. Buttons from left to right: step to the initial frame, step to the previous frame, start playing, pause, step to the next frame, step to the final frame.
  3. Statistics — aggregated information about tasks being executed.


  1. GTK+ runtime setup package. The one that is '.exe (32-bit Windows)'.
  2. libxml2
  3. T-viz executable (76 KB).
  4. Sample input (220 KB).