Дипломная работа: Анализ эффективности MPI-программ

Рис 5. Возможности Pablo.

Paradyn
URL http://www.cs.wisc.edu/paradyn
Где разрабатывается? Некоммерческое средство, разрабатывается в University of Wisconsin,
Версия 4.0
Тип B (онлайн-анализ)
Языки/библиотеки Fortran, Fortran 90, C, C++: MPI, PVM; HPF
Платформы

· Sun SPARC (только PVM)

· Windows NT на x86

· IBM RS/6000 (AIX 4.1 или старше)

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

В основе визуализации лежат два вектора

· измеряемые параметры производительности: процессорное время, различные накладные расходы, ожидания, времена пересылок и ввода-вывода и т.д.

· компоненты программы/вычислительной системы, к которым относятся параметры: процедуры, процессоры, диски, каналы передачи сообщений, барьеры и т.д.

На этих векторах образуется матрица: ее элементы либо скаляр (значение, среднее, минимум, максимум и т.д.), либо временная диаграмма (история изменения характеристики).

Все характеристики отображаются во время исполнения программы.

Проблемы Есть проблемы с масштабируемостью. На программе при малом числе процессоров (меньше 12) все выглядело нормально, а на большем числе процессоров - более чем 80% увеличение времени. Так же сейчас самой системой занимается очень много памяти.
Развитие Устранение проблем масштабируемости, уменьшение требуемой памяти, поддержка других платформ.
CXperf
URL HP Performance Analysis Tools - http://www.hp.com/esy/lang/tools/Performance/ CXperf User's Guide
Где разрабатывается? Коммерческое средство, разработка Hewlett-Packard.
Тип A (трассировка + визуализация)
Языки/библиотеки HP ANSI C (c89), ANSI C++ (aCC), Fortran 90 (f90), HP Parallel 32-bit Fortran 77
Платформы Сервера HP на базе PA-RISC
Функциональность трассировки Сбор и настройка трасс осуществляется с помощью указания специальных профилировочных опций компилятора.
Визуализация 3D-визуализация, связь с кодом программы, масштабирование, сопоставительный анализ, графы вызовов.

Некоторые другие средства анализа поведения паралелльных программ:

· XMPI - графическая среда запуска и отладки MPI-программ, входит в состав пакета LAM.

· HP Pak - набор средств от Hewlett-Packard для анализа поведения многопоточных программ.

· TAU (Tuning and Analysis Utilities) - некоммерческий набор утилит анализа производительности программ, написанных на языке C++ и его параллельных вариантах. Включает пакет профилировки TAU Portable Profiling.

· Carnival

· Chiron - средство для оценки производительности многопроцессорных систем с общей памятью.

· Pangaea

· GUARD - параллельный отладчик.

· MPP-Apprentice - средствовсоставе Message-Passing Toolkit от SGI.

· ParaGraph

· PGPVM2

· TraceInvader

· XPVM - графическое средство мониторинга PVM-программ.

Подробнее можно прочитать в [8].

4. Характеристики и методика отладки DVM-программ

4.1 Основные характеристики производительности

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

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

· потери из-за недостатка параллелизма, приводящего к дублированию вычислений на нескольких процессорах (недостаточный параллелизм ). Дублирование вычислений осуществляется в двух случаях. Во-первых, последовательные участки программы выполняются всеми процессорами. Во-вторых, витки некоторых параллельных циклов могут быть по указанию программиста полностью или частично размножены.

· потери из-за выполнения межпроцессорных обменов (коммуникации ).

· потери из-за простоев тех процессоров, на которых выполнение программы завершилось раньше, чем на остальных (простои ).

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

К-во Просмотров: 366
Бесплатно скачать Дипломная работа: Анализ эффективности MPI-программ