Выводы: Отладка эффективности параллельных программ – процесс очень сложный и трудоемкий Развитые средства анализа эффективности могут существенно ускорить этот процесс


перейти к полному списку дипломных проектов

Ссылка на скачивания файла в формате .doc находится в конце странички

Выводы: Отладка эффективности параллельных программ – процесс очень сложный и трудоемкий Развитые средства анализа эффективности могут существенно ускорить этот процесс

000000 0 0.000000 0 0.000000

Для каждого интервала выдается следующая информация:

имя файла с исходным текстом MPI-программы и номер первого оператора интервала в нем (SourceFile, LineNumber);

номер уровня вложенности (Level);

количество входов (и выходов) в интервал (EXE_Count);

основные характеристики выполнения и их компоненты (Main characteristics);

минимальные, максимальные и средние значения характеристик выполнения программы на каждом процессоре (Comparative characteristics);

При выдаче характеристик их компоненты располагаются в той же строке (справа в скобках), либо в следующей строке (справа от символов “*” или “-“).

Информация о минимальных, максимальных и средних значениях характеристик оформлена в таблицу. Также есть информация обо всех характеристиках на каждом процессоре.

Визуализация

Следующим этапом после того, как все необходимые характеристики собраны, является этап визуализации.

Этот этап необходим, так как хотя текстовый файл содержит всю необходимую информацию, при большом числе интервалов пользоваться им не очень удобно. Кажется целесообразным, что, так как интервалы “отображались” логически в виде дерева, то и визуализировать их нужно в виде дерева. Было выбрана форма отображения, аналогичная древовидной организации файловой структуры данных на дисках. Соответственно, каждый интервал доступен из своего родителя, интервалы нижних уровней отображаются правее. Также при нажатии на интервал, в текстовое поле

выводится информация обо всех характеристиках именно этого интервала.

Это значительно облегчает поиск необходимой для анализа области.



Рис.6. Окно программы анализа.

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

Используя механизм Tooltip’ов, пользователь получает возможность узнать тип события (пользовательский (UserCode) или MPI) и название функции (для MPI - функций).



Рис.7. TimeLine

Узнать это можно по цвету линии с событием. Список цветов описан в Приложении 2.

Заключение

В данной работе исследовались возможности анализа эффективности MPI-программ. Было разработано собственное программное средство, использующее подходы, применяемые в DVM-системе.

Приблизительный объем программы на С++ в строках кода = 6500 строк.

Программа оттестирована на тестах, поставляемых с MPI – реализациями, а также с тестами NAS (NPB2.3), с добавлением описанных выше директив для границ интервала.

В процессе дипломной работы были:

Проанализированы современные средства анализа параллельных программ.

Изучены алгоритмы анализа и сбора характеристик.

Реализовано программное средство со следующими возможностями:

Отображение выполнения программы в виде дерева интервалов

Сбор и отображение характеристик выбранного интервала.

Выдача общей информации обо всех интервалах в текстовый файл.

Показ time-line.

Выводы:

Отладка эффективности параллельных программ – процесс очень сложный и трудоемкий

Развитые средства анализа эффективности могут существенно ускорить этот процесс.

скачать бесплатно Обзор существующих моделей параллельного программирования

Содержание дипломной работы

Поэтому главным недостатком выбора одной из них в качестве модели программирования является то, что такая модель непривычна и неудобна для программистов, разрабатывающих вычислительные программы
Создание, уничтожение нитей, распределение на них витков параллельных циклов или параллельных секций – всё это брал на себя компилятор
Когда показывать? Важно показывать то, что полезно в данный момент для отладки эффективности, чтобы не загромождать пользователя излишней информацией
Существуют следующие составляющие потерянного времени: потери из-за недостатка параллелизма, приводящего к дублированию вычислений на нескольких процессорах (недостаточный параллелизм)
Этот интервал может включать в себя несколько интервалов следующего (первого) уровня
В последнем случае причина может быть очень простой – неверное задание матрицы процессоров при запуске программы или неверное распределение данных и вычислений
Он может ограничить, например, количество регулярно повторяющихся внешних итераций до одной - двух итераций
3 Устройство анализатора Итак, анализатор состоит из трех основных компонент
В этом классе в качестве вспомогательного используется класс Processors
Первая используемая для этого функция – это функция Integrate()
000898 0 0
Выводы: Отладка эффективности параллельных программ – процесс очень сложный и трудоемкий Развитые средства анализа эффективности могут существенно ускорить этот процесс
Операции получения/ожидания/посылки-получения с блокировкой MPI_Recv, MPI_Wait, MPI_Waitany, MPI_Waitall, MPI_Waitsome, MPI_Probe, MPI_Sendrecv, MPI_Sendrecv_replace темно-синий 5

заработать

Закачай файл и получай деньги