Для студентов МГУ им. Ломоносова 12 семестрa по предмету Дипломы Система автоматизации распараллеливания, гибридный анализСистема автоматизации распараллеливания, гибридный анализ
2021-09-14 СтудИзба

Система автоматизации распараллеливания, гибридный анализ

Новинка

Описание

Московский Государственный Университет им. М. В. Ломоносова

Факультет Вычислительной Математики и Кибернетики

Кафедра Системного Программирования

 

Дипломная работа

 

«Система автоматизации распараллеливания, гибридный анализ»

Аннотация

Анализ последовательных программ на наличие зависимостей по данным играет важную роль для их последующего эффективного распараллеливания. Методика анализа отличается по своей природе: она может быть статической или динамической, причем каждая имеет свои достоинства и недостатки. Данная дипломная работа посвящена исследованию комбинации использования статической и динамической методики анализа - гибридного анализа последовательных программ. Изучены достоинства и недостатки статического и динамического анализа, их принципы организации. Разработан и практически реализован алгоритм гибридного анализа. Полученные программные реализации могут стать в будущем частью системы автоматизации распараллеливания САПФОР.

Оглавление

1 Введение4

1.1 САПФОР4

1.2 Цель работы.. 6

2 Постановка задачи. 7

2.1 Зависимость по данным.. 7

3 Обзор9

3.1 Статический анализ.  Принципы организации9

3.2 Недостатки и преимущества статического анализа10

3.3 Динамический анализ. Принципы организации. 10

3.4 Недостатки и преимущества динамического анализа12

3.5 Гибридный анализ. Принцип организации. 13

4 Исследование и построение решения задачи14

4.1 Представление базы данных САПФОР14

4.2 Возможные зависимости по данным.. 18

4.3 Частичный анализ18

4.3.1 Принципы работы динамического анализатора. 18

4.3.2 Алгоритм частичного динамического анализа. 20

4.4 Коррекция информации в базе данных САПФОР21

4.5 Общая схема работы гибридного анализа23

5 Описание практической части25

5.1 Статическая библиотека представления базы данных САПФОР25

5.2 Программа поиска возможных зависимостей26

5.3 Изменения, внесенные в статическую библиотеку функций динамического анализа26

5.4 Программа сравнения баз данных. 27

5.5 Обзор результатов30

6 Заключение33

7 Литература34

1 Введение

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

Для решения задач на многопроцессорных ЭВМ  необходимо писать специальные параллельные программы, которые достаточно сильно отличаются от последовательных. Написание таких программ сопряжено с преодолением ряда трудностей. Первые возникают уже на этапе создания параллельного алгоритма решения задачи и связаны со сложностью восприятия человеком одновременного выполнения действий. Далее, отладка параллельных программ требует гораздо больше усилий от программиста, чем отладка последовательных программ. Это объясняется как недетерминизмом выполнения параллельных программ, так и сложностью понимания параллельных алгоритмов. Кроме того, параллельная программа должна быть эффективной. То есть, параллельная программа, реализующая решение некоторой задачи, должна выполняться на нескольких вычислительных узлах быстрее, чем последовательная программа для той же задачи выполняется на одном, в противном случае пропадает смысл использования многопроцессорной ЭВМ. На практике, для достижения требуемой эффективности, приходится многократно проходить путь от спецификации алгоритма до его реализации на языке параллельного программирования. И наконец, за долгие годы математики и физики накопили обширные библиотеки последовательных программ решения многих научных задач. Если во время написания параллельной программы потребуются элементы этих библиотек, то придется их реализовывать. Создать параллельные версии всех библиотек для многопроцессорных ЭВМ в настоящее время не представляется возможным из-за сложности параллельного программирования.

Одним из способов решения указанных выше проблем может стать использование системы автоматизации распараллеливания последовательных программ. С ее помощью существенно упростится процесс алгоритмизации поставленной задачи и   сократится время, затраченное на ее программирование. Примером такой системы является САПФОР (Система Автоматизированной Параллелизации ФОРтран программ), разрабатываемая в Институте Прикладной математики им. М.В.Келдыша РАН [1].

1.1 САПФОР

САПФОР состоит из пяти отдельных взаимодействующих между собой компонент:

  1. Диалоговая оболочка (пользовательский интерфейс).
  2. Анализатор
  3. Эксперт
  4. Генератор
  5. База данных (БД)

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

Анализатор строит внутреннее представление программы, анализирует возможности распараллеливания отдельных её частей и помещает полученную информацию в БД системы. 

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

Генератор по выбранным схемам распараллеливания строит тексты параллельных программ. 

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

Схематически работу системы САПФОР можно представить следующим образом (Рисунок 1):

  1. Пользователь подает свою последовательную программу на вход анализатору, и на выходе формируется БД.
  2. Далее в работу вступает эксперт. Исходя из информации, хранящейся в БД, эксперт находит схемы распараллеливания, и для лучших схем выдает пользователю информацию, отражающую времена, полученные при прогнозировании параллельного выполнения программы. 
  3. Пользователь запускает генерацию текста параллельной программы для интересующей его схемы распараллеливания.





 

Файлы условия, демо

1.JPG
2.JPG

Love you 3000❤ Регистрируйся по моей ссылке https://studizba.com/l/LOVEYOU3000 или используй промокод LOVEYOU3000 в настройках своего профиля и получай сразу же 400 баллов на счет, которые потом можешь использовать для покупки файлов

Список файлов в архиве

  • Система автоматизации распараллеливания, гибридный анализ.doc 699,5 Kb

Комментарии

Сопутствующие материалы
Дата публикации 14 сентября в 01:31
Рейтинг -
0
0
0
0
0
Авторы anhyeuem (4,91 из 5)
zzyxel (4,54 из 5)
Цена 399 руб.
Покупки 0
Просмотры 1
Размер 97,22 Kb
Безопасность Файл был вручную проверен администрацией в том числе и на вирусы
Поделитесь ссылкой:
Свежие статьи