49
использовать режим стоп-кадра (кнопка «Snap»). В режиме стоп-кадра выполнение
программы прерывается, и Вы можете посмотреть текущую накопившуюся статистику
работы программы. По окончанию исполнения программы используйте команду «Express» в
меню «Trace» (или нажмите кнопку «Trace» на панели) для того чтобы загрузить в XMPI
накопленные данные мониторинга.
6.2.2. Просмотр результатов
Основное окно в режиме просмотра является окно трассировки программы (см. рис. 4 а, б).
Вверху окна отображается панель управления. Ниже строкой указывается левая граница
текущей отображаемой области шкалы времени исполнения, далее, текущее значение
времени и, соответственно, правая граница времени. В основной области окна отображены
разноцветные горизонтальные жирные прямоугольники (по одному на каждый процесс). На
курсоре текущего состояния (вертикальная белая линия) отображаются числами ранги
соответствующих процессов. Диагональными белыми линиями, соединяющими желтые и
красные области, показаны связки между соответствующими парными вызовами send-
receive. Отправка сообщения обычно начинается желтой областью, подготавливающей
сообщение к отправке, и продолжается красной областью (для блокирующей посылки).
Блокирующий прием сообщений обычно начинается красной областью ожидания приема и
продолжается желтой областью, завершающей прием данных и возврат их из функции.
Аналогично отображаются не блокирующие взаимодействия. Групповые функции не
отображаются никакими линиями. Завершение групповых функций можно отследить на
диаграмме характерным смежными областями, затраченными на подготовку и передачу
сообщений (желтый цвет) и на блокировку ожидания завершения группового вызова
(красный цвет).
На панели управления две левые кнопки отвечают за увеличение и уменьшение
масштаба временной шкалы, остальные кнопки предназначены для управления процессом
симуляции исполнения параллельной программы (отметим, что режим симуляции
основывается только на данных трассировки, собранных в процессе работы программы;
реального исполнения программы в этом режиме не происходит). С помощью мыши можно
перемещать маркер текущего состояния в любое необходимое место программы. В этом
случае главное окно меняет свой вид, кратко отображая информацию обо всех процессах.
Для получения более детальной информации о конкретном процессе, нажмите мышкой на
шестиугольнике соответствующего процесса. Появится окно детализации состояния
процесса (см. рис. 5).
Данное окно имеет две области. Верхняя часть отвечает
за отображение информации о
текущей вызванной MPI-функции (верхнее поле) и указывает основные параметры конверта
сообщения (коммуникатор, тэг, количество данных). Кнопка справа от поля «cnt» выводит
окно карты передаваемого типа данных (см. рис. 6). Кнопка справа от поля «comm»
позволяет выделить в главном окне все процессы, относящиеся к данному коммуникатору. В
этом случае ранг
процесса в шестиугольнике будет состоять из двух частей, разделенных «/».
Первая цифра – ранг в главном коммуникаторе MPI_COMM_WOLRD. Вторая цифра – в
коммуникаторе, который в данный момент выделен. Нижняя часть окна отвечает за вывод
информации о неполученных сообщениях данным процессом. Поле «src» ранг процесса-
источника сообщения, «comm» - коммуникатор, «tag» и «cnt» - аналогично верхней части.
Поле «copy» отображает количество копий одинаковых по типу данных сообщений.
Текущий тип данных может посмотреть соответствующей кнопкой карты типа данных
(аналогично, справа от «cnt»). Кнопка со стрелкой позволяет переместиться на следующие
одинаковые по типу данных сообщения.
Дополнительно существует еще два вспомогательных окна, показывающих матрицу
неполученных сообщений и круговую диаграмму состояния (см. рис. 7 и 8). Матрица
неполученных сообщений показывает, сколько от какого процесса к какому «висит»
неполученных сообщений. Круговая диаграмма показывает общую статистику
использования времени всеми процессами (каждый процесс отображается отдельным