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

· Односторонние коммуникации и средства синхронизации для организации взаимодействия процессов через общую память (для эффективной работы на системах с непосредственным доступом процессоров к памяти других процессоров);

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

Вкратце о других моделях:

Модель неструктурированных нитей. Программа представляется как совокупность нитей (threads), способных выполняться параллельно и имеющих общее адресное пространство. Имеющиеся средства синхронизации нитей позволяют организовывать доступ к общим ресурсам. Многие системы программирования поддерживают эту модель: Win32 threads, POSIXthreads, Javathreads.

Модель параллелизма по данным. Основным её представителем является язык HPF [3]. В этой модели программист самостоятельно распределяет данные последовательной программы по процессорам. Далее последовательная программа преобразуется компилятором в параллельную, выполняющуюся либо в модели передачи сообщений, либо в модели с общей памятью. При этом каждый процессор производит вычисления только над теми данными, которые на него распределены.

Модель параллелизма по управлению. Эта модель возникла в применении к мультипроцессорам. Вместо терминов нитей предлагалось использовать специальные конструкции – параллельные циклы и параллельные секции. Создание, уничтожение нитей, распределение на них витков параллельных циклов или параллельных секций – всё это брал на себя компилятор. Стандартом для этой модели сейчас является интерфейс OpenMP [4].

Гибридная модель параллелизма по управлению с передачей сообщений . Программа представляет собой систему взаимодействующих MPI – процессов, каждый из которых программируется на OpenMP.

Модель параллелизма по данным и управлениюDVM (Distributed Virtual Machine, Distributed Virtual Memory)[5]. Эта модель была разработана в Институте прикладной математики им. М. В. Келдыша РАН.


3. Обзор средств отладки эффективности MPI-программ

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

Обычно для целей трассировки в исследуемую программу встраиваются "профилировочные" вызовы, которые фиксируют наступление определенных событий или продолжительность интервалов, и фиксируют эту информацию в журнале трассировки, передают ее online-анализатору или просто модифицируют собираемую статистику.

Можно выделить два основных подхода к анализу производительности:

· A. "Трассировка + Визуализация". Данный подход подразумевает два этапа:

o A1. Во время исполнения программы собирается "трасса", т.е. журнал о ходе работы программы.

o A2. Затем полученная трасса просматривается и анализируется.

· B. "Online-анализ". Поведение программы анализируется непосредственно в ходе ее выполнения.


Рис.1 Схема А. “Трассировка + Визуализация”.

3.1 Общие проблемы всех средств трассировки

1. Формат трасс не унифицирован и обычно ориентирован на конкретную библиотеку передачи сообщений.

2. Сбор информации - слабые возможности настройки фильтров событий (какие события и какую информацию включать в трассы). Нет возможности варьировать объем трассы.

3. Не учитывается эффекта замера - средство трассировки достаточно сильно изменяет поведение программы.

Проблемы визуализации.

1. Что показывать? Какая информация интересна и полезна для отладки эффективности MPI программы.

2. Как показывать? Рис.2 . Надо проводить обобщение собираемой информации. Просто вид всех событий может быть неинформативен.

3. Когда показывать? Важно показывать то, что полезно в данный момент для отладки эффективности, чтобы не загромождать пользователя излишней информацией.


Рис.2 VAMPIR.

3.2 Обзор основных средств отладки

Ниже будут кратко описаны некоторые основные средства отладки MPI-программ:

· AIMS -инструментарий, библиотека мониторинга и средства анализа

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