Главная » Учебные материалы » Дипломы и ВКР » Выпускные квалификационные работы (ВКР) » МГУ им. Ломоносова » 12 семестр (4 семестр магистратуры) » Система автоматизированного распараллеливания Фортран-программ - анализ многомодульных программ
Для студентов МГУ им. Ломоносова по предмету Дипломы и ВКРСистема автоматизированного распараллеливания Фортран-программ - анализ многомодульных программСистема автоматизированного распараллеливания Фортран-программ - анализ многомодульных программ
2021-09-14СтудИзба

ВКР: Система автоматизированного распараллеливания Фортран-программ - анализ многомодульных программ

-8%

Описание

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

1 Введение
На данный момент вычислительные технологии развиваются очень интенсивно. Потенциально современные вычислительные системы открывают огромные возможности для решения теоретических и прикладных задач, но это влечет за собой необходимость написания эффективного программного кода, который должен исполняться на современных суперкомпьютерах. Написание программного кода в свою очередь осложняется тем, что развитие современных вычислительных систем идет не столько по пути увеличения производительности отдельно взятого процессора, сколько за счет создания сложных вычислительных комплексов, включающих тысячи узлов, соединяемых высокоскоростными линиями связи. Причем узлы могут состоять из процессоров включающих в свой состав несколько ядер. В связи с этим возникает потребность в написании такого программного кода, который бы обеспечивал максимальную загрузку каждого ядра в каждый момент времени. Для этого необходимо разбить конкретную задачу на блоки, которые могут быть вычислены параллельно, но так как все выделенные подзадачи направлены на решение одной исходной задачи, возникает необходимость обмениваться данными между различными блоками, что в свою очередь может значительно увеличить время, необходимое на решение данной задачи. Поэтому должны быть созданы средства для анализа исходной задачи, направленные на то, чтобы эффективнее вычислять ее решение, то есть выделить подзадачи, которые могут быть решены параллельно при условии минимального количества обменов данными между ними. Для этого при расщеплении исходной задачи на блоки должен быть найден компромисс. Но прежде, чем приступать к поиску такого компромисса, необходимо выделить те участки задачи, которые могут быть выполнены параллельно и те которые потребуют данные, получаемые на других участках. Создание эффективных средств анализа позволит в значительной степени понизить сложность создания эффективного параллельно выполнимого программного кода. Эффективные средства анализа также позволят значительно повысить производительность уже существующих программных комплексов за счет их автоматизированного распараллеливания. Это является особенно важным потому, что при поиске параллельных участков программы необходимо четко понимать структуру самой программы, но в случае достаточно сложных задач, которые в наибольшей степени являются кандидатами на распараллеливание, ручной анализ кода в условиях отсутствия точной документации может потребовать огромных временных затрат, что может оказаться неприемлемым. К тому же создание параллельного варианта решения задачи вручную, может привести к возникновению ошибок, характерных для параллельных программ. Например, возможно такая ситуация, что разработчик, неправильно определил независимые участки кода, и в результате их параллельного вычисления программа, работающая до этого корректно, стала выдавать неверные результаты. Такие ошибки, проявляющиеся только при параллельном выполнении программы, очень сложно обнаружить, что также является минусом при создании параллельного кода вручную. Между тем использование автоматических и автоматизированных средств по распараллеливанию программ позволяет исключить риск возникновения ошибок, связанных с некорректным пониманием разработчиком последовательной программы. Использование автоматизированных средств распараллеливания позволяет следить за теми местами в создаваемой программе, где такие ошибки могут возникнуть в связи с особыми указаниями разработчика. В данном дипломе речь пойдет об анализе последовательной программы. Результаты полученные в данном дипломе планируется использовать в Системе Автоматизации Распараллеливания Фopтран-программ (далее САПФОР) [1]. Существует также другая аналогичная система — Parawise [2]. Это единственная известная система автоматизации распараллеливания для кластеров. Основное отличие САПФОР от нее — использование внутри САПФОР автоматически распараллеливающего компилятора (при построении вариантов распараллеливания программиста ни о чем не спрашивают - спрашивают при анализе, при выборе среди построенных вариантов распараллеливания). САПФОР включает в свой состав 5 компонент: диалоговая оболочка, анализатор, эксперт, генератор кода и база данных. САПФОР направлена на получение эффективных параллельных программ из последовательных при участии пользователя. В работе речь пойдет об идеях, используемых только в анализаторе, но для более точного понимания целей работы кратко охарактеризуем каждый компонент. Диалоговая оболочка обеспечивает взаимодействие пользователя с системой. Она служит для достижения двух целей: во-первых, визуализация получаемых в ходе работы системы данных, а во-вторых, конструктивный диалог с пользователем. Это позволяет пользователю принимать участие в распараллеливании последовательной программы в удобном для него режиме. При этом средствами системы осуществлять контроль за выполняемыми им действиями. Среди таких действий может быть, например, явное указание отсутствия зависимостей в цикле, если пользователь абсолютно уверен в этом, а анализатор не может

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

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

1.JPG
2.JPG
3.JPG

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

Учебное заведение
Просмотров
37
Покупок
0
Размер
384,6 Kb

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

  • Система автоматизированного распараллеливания Фортран-программ - анализ многомодульных программ.pdf 427,7 Kb
Картинка-подпись
Ваше удовлетворение является нашим приоритетом, если вы удовлетворены нами, пожалуйста, оставьте нам 5 ЗВЕЗД и позитивных комментариев. Спасибо большое!

Комментарии

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