Для студентов МГУ им. Ломоносова по предмету Дипломы и ВКРАвтоматическое отображение Фортран-программ на мультипроцессорАвтоматическое отображение Фортран-программ на мультипроцессор
2021-08-27СтудИзба

ВКР: Автоматическое отображение Фортран-программ на мультипроцессор

Описание

1 Постановка задачи

Цель данной работы — создание эксперта OpenMP – компонента системы автоматизированного распараллеливания САПФОР, предоставляющего возможность пользователю системы САПФОР преобразовать свою последовательную программу на языке Fortran в параллельную для запуска на мультипроцессоре. Задача эксперта — на основании данных статического и динамического анализа (при необходимости дополненных или скорректированных программистом), содержащихся в базе данных, представить пользователю варианты распараллеливания программы, то есть варианты расстановки директив OpenMP [1] в программе, с оценкой производительности каждого из них, включая оценки времени выполнения каждого из внутренних циклов. Кроме того, эксперт должен предоставить пользователю дополнительную информацию о мотивах выбора конкретных вариантов распараллеливания, данные о невозможности распараллелить некоторые циклы (если такие имеются) и указать причины.

2 Полученные результаты

В ходе работы было изучено описание базы данных САПФОР ([3]), а также были изучены другие эксперты системы САПФОР для мультипроцессора - эксперты OpenMP [4] и DVM/OpenMP [2]. Сделана попытка улучшить алгоритмы оценки вариантов распараллеливания и реализован программный прототип нового эксперта OpenMP.

2.1 Интеграция с САПФОР

В данный момент реализован прототип программы, который умеет открывать базу данных САПФОР, получать данные о структуре программы (циклы, индексные выражения циклов, структура дерева циклов, используемые переменные) и преобразовывать их в свои внутренние структуры данных. Кроме того, прототип имеет механизмы для добавления выходных данных в базу: в таблицы pvers и pdir.

Аннотация

Целью данной работы являлась реализация компонента “эксперт OpenMP” системы автоматизированного распараллеливания САПФОР. Эксперт отвечает за выбор вариантов распараллеливания программы, оценки их производительности, выбор директив для включения в исходную программу, предоставление дополнительной информации о возможности или невозможности распараллеливания тех или иных участков исходной программы.

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

1. Введение

Развитие современной вычислительной техники приходит к повсеместному распространению параллельных многоядерных вычислительных систем, ориентированных не только на узкий круг научных вычислений, но и предназначенных для домашнего использования. Исторически первым многоядерным процессором, предназначенным для домашнего компьютера стал Pentium D компании Intel, выпущенный в мае 2005 года ([1]). Многоядерные процессоры существовали и ранее, но применялись только в составе высокопроизводительных кластеров и серверов, выход же их на рынок домашнего ПК стал важным моментом в развитии современной вычислительной техники. Производители домашних ПК предлагают многоядерные варианты компьютеров для повышения производительности, а так же для обеспечения повышающихся с каждым годом требований к аппаратной части в компьютерных играх, офисных приложениях, при просмотре видео высокого разрешения (HD).

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

1.1 Кластеры и мультикомпьютеры

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

В модели SMP программа выполняется как несколько параллельно работающих потока в одной общей памяти. Все данные программы находятся в общей памяти и доступны всем потокам одновременно. В результате отсутствуют пересылки сообщений через медленные (относительно скорости передачи данных по системной шине процессора) сети передачи данных и дублирование данных, как в модели MPI. Однако аппаратная масштабируемость SMP-систем ниже, чем кластеров. Для большинства SMP-систем увеличение количества процессоров связано с большими затратами и зачастую даже невозможно без участия производителя этой системы. Также, при большом количестве процессоров в системе с общей памятью доступ к памяти становится «узким местом» (англ. «bottleneck” - дословно «горлышко бутылки»).

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

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

Из вышеизложенного можно заключить, что SMP-системы (как в «чистом» виде в домашних ПК, так и в составе гибридных кластеров) сейчас имеют очень большое распространение и значение. Поэтому создание эффективных программ для них является важной задачей программирования.




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

отчёт.doc

Характеристики ВКР

Учебное заведение
Просмотров
1
Покупок
0
Размер
408,86 Kb

Список файлов

  • Автоматическое отображение Фортран-программ на мультипроцессор
  • Дипломная работа.docx 387,44 Kb
  • отчёт.doc 92,5 Kb
Картинка-подпись
Ваше удовлетворение является нашим приоритетом, если вы удовлетворены нами, пожалуйста, оставьте нам 5 ЗВЕЗД и позитивных комментариев. Спасибо большое!

Комментарии

Поделитесь ссылкой:
Цена: 999 руб.
Расширенная гарантия +3 недели гарантии, +10% цены
Рейтинг-
0
0
0
0
0
Поделитесь ссылкой:
Сопутствующие материалы
Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5137
Авторов
на СтудИзбе
441
Средний доход
с одного платного файла
Обучение Подробнее