Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Романенко Алексей Анатольевич

Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика)
<
Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика)
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Романенко Алексей Анатольевич. Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика) : Дис. ... канд. техн. наук : 05.13.11 : Новосибирск, 2004 112 c. РГБ ОД, 61:04-5/3563

Содержание к диссертации

ВВЕДЕНИЕ 5

ГЛАВА 1. МЕТОДЫ И СРЕДСТВА ОТЛАДКИ

ПАРАЛЛЕЛЬНЫХ ПРОГРАММ. АНАЛИЗ И
КЛАССИФИКАЦИЯ ВОЗМОЖНЫХ ОШИБОК 9

1.1. Параллельные вычисления 9

  1. Модель 9

  2. Анализ ошибок на уровне модели вычислений 10

  1. Поведение параллельной программы 12

  2. Параллельная программа 14

L3.1. Модель 14

1.3.2. Реализация модели передачи сообщений 15

1.3.3, Анализ ошибок, обусловленных моделью программы 17

1.4. Среда выполнения параллельной программы 20

  1. Модель ' 20

  2. Реализация 20

  3. Анализ ошибок обусловленных средой выполнения 21

  1. Классификация ошибок 22

  2. Методы поиска ошибок в параллельных программах 25

  1. Обнаружение дедлоков 25

  2. Обнаружение ошибок соревнования 26

  3. Обнаружение ошибок в коммуникациях , 26

  4. Обнаружение несбалансированности загрузки 27

  5. Метод отладки параллельных программ 28

1.7. Требования к организации отладки параллельных
программ 31

1.8. Средства отладки параллельных программ 32

1.8.1. Влияние средств отладки на выполнение программы 32

1.8.2. Классификация инструментов отладки ,33

1.9. Обзор средств отладки параллельных программ 35

  1. TotalView 35

  2. Jumpshot 36

  3. AIMS 37

  4. Vampire 38

  5. Paradyn 39

Выводы 40

ГЛАВА 2. ОСНОВНЫЕ ПРОЕКТНЫЕ РЕШЕНИЯ И

АЛГОРИТМЫ РЕАЛИЗАЦИИ ОТЛАДЧИКА
ПАРАЛЛЕЛЬНЫХ ПРОГРАММ GEPARD 42

  1. Многопроцессорная вычислительная система МВС-1000/М 42

  2. Кластер Новосибирского государственного университета 43

  3. Messages Passing Interface (MPI). Параллельная программа на MPI 44

  1. Формулировка задачи 45

  2. Архитектура отладчика 47

  3. Обработка исходного кода 49

  4. Обеспечение информационного контекста 51

  5. Подсистема контроля выполнения 52

  6. Подсистема визуализации 54

2.10. Синхронизация времени 55

2.11. Описание поведения системы взаимодействующих
процессов 57

  1. Выбор алфавита событий 57

  2. Определение множества всех протоколов 59

  3. Процесс отладки 60

4
2.11.4. Отладка направления передачи данных 61

Выводы 64

ГЛАВА 3. ПРОЕКТ GEPARD 66

  1. Компоненты отладчика 66

  2. Язык отладки. Препроцессор 66

  3. Подсистема контроля выполнения 69

  4. Подсистема анализа собранной информации 71

  5. Анализ информации 74

  6. Использование и перспективы развития отладчика GEPARD 77

Выводы 78

ЗАКЛЮЧЕНИЕ 80

ЛИТЕРАТУРА 81

ПРИЛОЖЕНИЕ 1 85

ПРИЛОЖЕНИЕ 2 93

ПРИЛОЖЕНИЕ 3 98

ПРИЛОЖЕНИЕ 4 110

Введение к работе

Актуальность темы

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

На вычислительном комплексе МВС-1000/М [1] складывается ситуация, когда растет количество пользователей и возрастает количество разрабатываемых программ. Из средств, предоставляемых пользователю для отладки, есть инструменты и библиотеки для разработки, как последовательных, так и параллельных программ. При этом если для разработки первых пользователю также предоставляются и средства отладки (GDB, strace), то пользователь, который занимается разработкой ПП, вынужден отлаживать свои программы с помощью вставления в код вызова функции вывода информации на экран, что очень не эффективно, либо переходить на другие вычислительные комплексы, где есть соответствующие средства.

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

Цель работы

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

Научная новизна

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

Для отладки ПП необходимо:

1. Минимально влиять на поведение программы. В противном случае некоторые ошибки при отладке могут себя не проявлять.

2. Производить сбор статистических данных (количество вызовов функций обмена сообщениями, объем передаваемых сообщений, время, затраченное на передачу и т.п.).

Эта функция является базовой и реализована в большинстве отладчиков.

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

Иметь возможность разбивать программу на логические блоки. Это позволит более детально изучать поведение программы на определенных участках. Эта возможность реализована в отладчиках Vampire, AIMS и отсутствует в Jumpshot, Paradyn.

Иметь возможность автоматически сравнить два варианта исполнения программы. Автоматическое сравнение позволит отслеживать ошибки, возникающие в результате опережения одного события другим.

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

К сожалению, ни один из известных отладчиков ПП для мультикомпьютера не обладает всеми перечисленными свойствами. Функции 5 и 6, упомянутые вьпце, не реализованы ни в одном из рассматриваемых отладчиков. При наличии этих функций процесс поиска ошибок может быть существенно облегчен.

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

Научная и практическая значимость

Научная новизна и практическая значимость работы заключаются в следующем:

Разработаны подходы к описанию частичного поведения параллельных программ, проанализированы методы поиска поведенческих ошибок в ПП и предложены подходы к отладке поведения параллельной программы.

Разработаны алгоритмы и методы реализации отладки поведенческих свойств параллельной программы.

Предложена новая архитектура построения отладчиков параллельных программ.

4. Разработан ориентированный на отладку поведения ПП отладчик GEPARD, который используется в Сибирском суперкомпьютерном центре и в учебном процессе.

Выполнение работы проводилось в соответствии с планами исследований по проекту «Методы и технологии распараллеливания алгоритмов и параллельная реализация численного моделирования на многопроцессорных системах» по Программе № 17.3 фундаментальных исследований РАН «Параллельные вычисления на многопроцессорных вычислительных системах» и междисциплинарному интеграционному проекту СО РАН № 148 «Самоорганизация, катализ и процессы химической эволюции в гравитационно и термодинамически неустойчивых системах, моделирующих ранние этапы формирования Земли».

Похожие диссертации на Средства отладки параллельных программ для мультикомпьютеров (Алгоритмы реализации и разработка отладчика)