Смекни!
smekni.com

Диалоговая оболочка отладчика MPI-программ (стр. 4 из 5)

Подробнее основные и дополнительные окна и способы работы с ними описаны ниже.

2. Обеспечение навигации внутри окон. Вертикальная и горизонтальная прокрутка, переходы по связанным событиям.

3. Обеспечение навигации между окнами. Навигация по связанным объектам из разных окон (например, ошибка –> событие в трассе, где она обнаружена –> строка текста программы, соответствующая событию в трассе). Циклическая навигация по взаимосвязанным объектам, относящимся к одной сложной ошибке (например, пара операций точка-точка с несовпадающими контрольными суммами передаваемых данных, последовательность deadlock-событий). Навигация по группе событий определенной пользователем (все или несколько ошибок одного типа, указанных пользователем типов). Возможность перехода к строке текста исходной программы всегда, когда оператор из этой строки связан с представленным событием (кроме интегральных характеристик, подобных общему числу ошибок).

4. Доступ (через интерфейс с отладчиком) к информации о состоянии задачи и процессов, к информации об ошибках, к трассам. Привязка к текстам исходной программы.

5. Изображение объектов визуализации в графическом виде (с использованием простейших геометрических фигур, линий, цвета, специальных символов-пометок), либо в текстовом виде. Выделение при этом специальным образом ошибочных ситуаций. Обеспечение полных текстовых сообщений об ошибках (и другой необходимой информации) в качестве обязательной дополнительной формы изображения (при наведении курсора на объект всплывает текст в качестве постоянного комментария к соответствующему событию).

5.6 Общая схема визуализации

После запуска программы открывается главное окно. Главное окно содержит меню, и панель инструментов. Кнопки на панели инструментов позволяют открыть трассу для чтения и закрыть программу. Меню содержит следующие пункты:

· Меню файла (File)

· Меню событий (Events)

· Меню состояния задачи (Taskstate)

· Меню справки (Help)

В меню файла можно открыть файл трассы для чтения и закрыть программу. Меню событий позволяет открыть окна трассы (Eventline) и окно конкретных ошибок и предупреждений (Errorslist). Через меню состояния задачи можно вызвать окно состояния задачи (Taskstate) и окно обобщенных ошибок (Errorlocation).

5.7 Окно состояния задачи (Taskstate)

Основное окно Task state представляет в виде текстовой таблицы итоговое состояние задачи, определяемое итоговыми параметрами (Рис. 1):

- число завершенных процессов с неизвестным статусом (unknown status),

- число снятых процессов (aborted),

- число аварийно завершенных процессов (abend),

- число нормально завершенных (normaltermination) процессов,

- общее число обнаруженных ошибок (errornumber)

- общее число обнаруженных предупреждений (warningnumber)

- общее число зависших операций посылки (pendingsendnumber),

- общее число зависших операций приема (pendingreceivenumber),

- общее число выполненных операций посылки (sendnumber),

- общее число выполненных операций приема (receivenumber),

- общее число выполненных коллективных операций (GOPnumber).


Рис 1. Окно Taskstate.

Окно Task state содержит управляющие кнопки:

- Show topologyоткрытие окна детальной визуализации итогового состояния задачи по процессорам,

Нажатие кнопки Show topologyприводит к показу в виде матрицы процессоров распределения помеченных итоговых параметров (Topologycontrol). Сначала выводится диалоговое окно задание размера матрицы для визуализации (matrix) (Рис 2.). Это сделано в связи тем, что информации о конкретной топологии процессоров в трассе не хранится, поэтому для отображения выбирается топология решетки, где число столбцов задает сам пользователь. Подробнее окно Topologycontrol описано ниже.

Рис 2. ОкноMatrix.

5.8 Окно обобщенных ошибок (Errorlocation)

Информация об ошибках представляется в виде текстовой таблицы, содержащей для каждой ошибки строку:

<название типа ошибки> <список различающихся ссылок на исходные коды для ошибок данного типа>

В каждой строке представляются обобщенные ошибки данного типа (Рис 3.).

Рис 3. Окно Errorlocation.

Обобщаются (объединяются для показа) все ошибки, которые порождены одним и тем же оператором исходной программы (имеющие одну и ту же ссылку на исходные коды).

В списке ссылок на исходные коды могут быть помечены один или несколько элементов и осуществлен, при нажатии кнопки Showsource, переход к окну (окнам) стека вызовов и исходного текста (Textcontrol) программы. В окне (окнах) исходного текста показывается строка исходной программы, соответствующая помеченной ссылке в исходный код. Таким образом, пользователь может просмотреть для каждого типа ошибки все места в программе, где такие ошибки были обнаружены. При этом не требуется доступ к трассам.


5.9 Окно топологии процессоров (Topologycontrol)

Окно топологии отображает топологию процессоров. Процессоры раскрашиваются в соответствии с итоговым состоянием задачи. Справа располагается легенда, где объясняется значение цветов и указываются значения параметров, соответствующих данному цвету (Рис 4).

Рис 4. Окно Topologycontrol.

По двойному щелчку мыши на изображении процессора вызывается окно просмотра стека и исходных текстов (Textcontrol) для последней ссылки в исходные тексты для данного процессора.

5.10 Окно конкретных ошибок (Errorslist)

Информация об ошибках представляется в виде текстовой таблицы, содержащей для каждой ошибки строку (Рис 5):

<название типа ошибки> <список ссылок (времен) ошибочных событий в трассе >


Рис 5. Окно Errorslist.

В строке таблицы с конкретными ошибками содержится упорядоченный по времени (в рамках строки) список ошибок данного типа. Значение элемента списка – время возникновения ошибки. Все строки упорядочены по временам их первых (самых ранних) ошибок.

В списке ссылок (времен) могут быть помечены один или несколько элементов и осуществлен переход к другим окнам, представляющим дополнительную информацию о конкретной ошибке. ДляэтойцелииспользуютсякнопкиShow Errors, Show Event Line, Show Comments.

При нажатии кнопки Show Comments открывается дополнительное окно Comments (Рис 6), в котором приводится текст комментария об ошибке. Комментарий формируется отладчиком и предоставляется визуализатору при помощи интерфейса.


Рис 6. ОкноComments.

ПринажатиикнопкиShow Event LineосуществляетсяоткрытиеокнасобытийEvent line.Окно Event line должно открываться со сдвигом к первому отмеченному в списке конкретных ошибок событию (первому по времени событию, если указано несколько).

При нажатии кнопки Show Event Line визуализатору требуется доступ к трассам.

При нажатии кнопки Show Errors осуществляется открытие окна (окон) трасс (Trace control) и показывается соответствующее событие (строка) трассы, а также для каждого события трассы открывается окно (окна) стека и исходного текста (Textcontrol) программы. Для ошибочного события каждой трассы показывается соответствующее окно с ошибочной строкой программы. Для одной отмеченной в окне Errors listошибкимогут показываться трассы нескольких процессоров, если ошибочная ситуация связана с несколькими процессорами.

При нажатии кнопки Show Errors визуализатору требуется доступ к трассам.


5.11 Окно событий (Event line)

Другая форма визуализации ошибок – окно Event line, в котором графически представлены события программы по процессорам с выделением ошибочных событий.

В этом окне для каждого процессора представлены в виде линеек окрашенных простейших геометрических фигур события трассы, упорядоченные по времени. Для каждого процессора изображается своя линейка. Таким образом, информация в этом окне – двумерный графический объект с координатами (номер процессора, время события).

Изображения событий “синхронизируются” (выравниваются слева) по коллективным операциям – у этих событий в линейках разных процессоров одинаковые координаты “время события”. Ошибочные события окрашиваются в различные оттенки красного, с учетом типа зафиксированной ошибки. Остальные события окрашиваются цветами, отличными от красного, чтобы упростить понимание типа операции (Рис 7).

Рис 7. ОкноEventline.

Управление внутри окна: масштабирование, прокрутка горизонтальная и вертикальная. Вывод при наведении курсора на событие текстового комментария про это событие (диагностика ошибки, время в трассе для правильных событий).

Масштабирование осуществляется при помощи панели инструментов, возможно масштабирование сразу по двум измерениям и по каждому в отдельности, с заданием коэффициента растяжения (сжатия).

Навигация между окнами: при двойном “нажатии” кнопкой мыши на изображенное событие –переход к окну Tracecontrol, причем в списке событий трассы текущим выделено событие, соответствующее нажатому изображению.