77332

EXECUTION TRACE VISUALIZATION FOR PARALLEL PROGRAMS

Научная статья

Информатика, кибернетика и программирование

There re mny interesting systems bsed on execution trce visuliztion. In the report s the review of existing decisions s new pproches to development of execution trce visuliztion will be considered. However the min problem tht occurs when you develop trce visuliztion system is the huge nd evergrowing volume of dt to be nlyzed.

Английский

2015-02-02

26.5 KB

0 чел.

EXECUTION TRACE VISUALIZATION FOR PARALLEL PROGRAMS

Vladimir Averbukh, Dmitriy Manakov

Institute of Mathematics and Mechanics UrB RAS, Ekaterinburg

Execution trace visualization for parallel and distributed programs is the important instrument of correctness and debugging and effectiveness tuning. There are many interesting systems based on execution trace visualization. Considerable experience in the development of such systems is gained. In the report as the review of existing decisions as new approaches to development of execution trace visualization will be considered.

It is obvious that the text of the program is the key view for program debugging. In systems developed of the 90th years as a rule these or those text views are used. Other popular kinds of views were various graphs of program execution with animation of transfer of control chains. However, the main problem that occurs when you develop trace visualization system is the huge and ever-growing volume of data to be analyzed. Therefore, techniques, well helped for data visualization twenty years ago (for example the use of Visual Information Seeking Mantra “Overview first, zoom and filter, then details-on-demand”), do not work.  

Methods of execution trace visualization based on of the various visualization metaphors including animation are actively used. One may find in recently published papers examples of use various metaphors for correctness and effectiveness debugging. There are among them such traditional metaphors as City and Landscape metaphors and also a new one – Brain metaphor. Brain metaphor is based on the idea of brain activity visualization on presentation some stimuli. This idea is adapted to represent program execution (procedure calls, input/ output, etc.) However, the interpretation of animated displays basing on interesting Brain metaphors isn't represented obvious. Analysis of call graph is a useful tool in correctness and effectiveness debugging. 2D representations of call graphs are overcomplicated in cases of large and complex structured programs with big nesting depth and lots of user’s functions. Therefore prototype realizations of the call graphs on the base of 2 ½ D and 3D graphics are developed. Views of call graphs using Building metaphor and Molecule metaphor are realized.

The comparative analysis of metaphors and the constructed on their base 2D and 3D for representation of parallel programming entities (first of all, execution traces) is described. At the same time it is important not only to check the suitability of metaphors for solving the specific problems, but also to formalize the quality evaluation of the views realized under various visualization techniques. Evaluation methods should be developed on the basis of a formal model to follow verification and validation as metaphors and visualization of the results themselves. So one and the same piece of code can run on different processors for different times. Obviously, the resulting time intervals may be considered in the framework of Possibility Theory of or Info-Gap Theory. Theoretical studies are also useful in terms of creating new metaphors.

In some computer visualization systems integrated or multiple views have came to good. This implies the use of multiple views, divide between them by linkages in the process of interpretation and interaction. (One can use the analogy of the technical drawing area when a three-dimensional objects  represent as three projections.) This assumes the use of several types separated mapping between them in the process of interpretation and interaction established relationship. (You can draw an analogy from the drawing area when the three-dimensional body is represented in the form of three projections.)

For consideration and formalization of this example it is possible to enter some groups of basic functions, such as “Informativeness and redundancy” and “Completeness and accuracy”, providing complete perception and specification. Application of a multiple views can be result not only reduction of  volume of data, but also dimensionality reduction, including of the cognitive one.

To visualize execution traces of parallel and distributed programs we suggest using of the complex view including for example such elements as:

-  Call graph representation using Industrial Landscape or Molecule metaphors;

  •  Text of programs;
  •  Information Murals or Parallel Coordinates views to represent data of parallel program effectiveness;
  •  The possibility of "flight" over "software landscape" or between "atoms" of the molecule;  where route the "flight" is linked to the output of the program text;
  •  The possibility of changing the level of detail as 'metaphorical' and text output tracks by “lifting/lowering” during the flight (semantic zooming).

We need to develop visual supporting means for maintenance processes of software development, analyzing and debugging. Realization of system of visualization has to be carried out together with users, that is developers of the parallel and distributed computing software. It is necessary to consider their daily activities for debugging of correctness and efficiency of program complexes.


 

А также другие работы, которые могут Вас заинтересовать

15312. Создание библиотеки символов компонентов 1.04 MB
  Лабораторная работа №1. Создание библиотеки символов компонентов. Цель работы: научиться создавать различные библиотеки символов компонентов. Порядок выполнения работы: Настройка символьного редактора Создание символа компонента Ход работы: ...
15313. Создание библиотеки корпусов компонентов 226.87 KB
  Лабораторная работа №2. Создание библиотеки корпусов компонентов. Цель работы: научиться создавать различные библиотеки корпусов компонентов. Ход работы: Из менеджера проектов начальное окно я запустил программу редактора печатных плат Pcbnew. В ней на верхней ...
15314. Создание схемы электрической принципиальной 350.09 KB
  Лабораторная работа №3. Создание схемы электрической принципиальной. Цель работы: используя ранее созданные библиотеки символов и корпусов компонентов создать электрическую принципиальную схему генератора прямоугольных импульсов. Ход работы: Создание элек...
15315. Управление кнопками в AVR 71 KB
  Лабораторная работа №2 Управление кнопками в AVR Цель работы: написать для микроконтроллера программу мигания светодиодом в зависимости от нажатия кнопки на языке программирования С согласно варианта. На первой лабораторной работе научились подавать напряжение но...
15316. Настройка портов ввода-вывода в CodeVision AVR 77.5 KB
  Настройка портов вводавывода в CodeVision AVR Рассмотрим примеры настройки портов в CodeVision AVR DDRB=0×02; данная запись означает что вторая ножка порта В настроена как выход но откуда взялось это число Для начала переведем данную запись в более понятный нам вид: приставка 0...
15317. Подключение ЖК(LCD) дисплея к AVR микроконтроллеру 95 KB
  Лабораторная работа №3 Подключение ЖКLCD дисплея к AVR микроконтроллеру Цель работы: написать для микроконтроллера программу вывода информации на LCD дисплей на языке программирования С согласно варианта. На первых двух лабораторных работах научились: управлять мик
15318. Использование таймера в AVR микроконтроллерах 89 KB
  Лабораторная работа №2 Использование таймера в AVR микроконтроллерах Цель работы: написать для микроконтроллера программу с использованием таймеров МК по прерыванию и вывод значений переменной на дисплей на языке программирования С согласно варианта. Прежде чем пр
15319. Обработка ошибок с помощью исключений 30 KB
  Лабораторная работа №5 Тема: Обработка ошибок с помощью исключений. Цель изучить основные способы программирования устойчивого кода. Обработка ошибок с помощью исключений Основная философия Java в том что плохо сформированный код не будет работать. Идеальн...
15320. Базовые классы пакета Java.awt (Abstract Window Toolkit) 89 KB
  Базовые классы пакета Java.awt Abstract Window Toolkit. Рассмотрим самый большой и наверное самый полезный раздел языка Java связанный с реализацией пользовательского интерфейса. Для этого изучим базовые классы пакета Java.awt Abstract Window Toolkit. Итак что же такое awt Это набор классов Ja...