Тип работы:
Предмет:
Язык работы:


СРАВНЕНИЕ АЛГОРИТМОВ РАСПАРАЛЛЕЛИВАНИЯ ЧИСЛЕННОГО РЕШЕНИЯ ЗАДАЧИ ДИРИХЛЕ ДЛЯ УРАВНЕНИЯ ПУАССОНА

Работа №17621

Тип работы

Бакалаврская работа

Предмет

математика

Объем работы32
Год сдачи2017
Стоимость5750 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
646
Не подходит работа?

Узнай цену на написание


Введение 3
1 Постановка задачи 4
1.1 Метод конечных разностей 5
1.2 Задача о трубе 9
1.3 Метод конечных элементов 11
2 Средства и системы параллельного программирования 16
3 Разработка параллельной программы 19
3.1 Передача сообщений 19
3.2 Общая память 24
4 Разработка гибридной параллельной программы 26
Заключение 28
Список сокращений 30
Список использованных источников 31


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


Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В ходе работы была рассмотрена задача о кручении стержня прямоугольного сечения, описываемая задачей Дирихле для уравнения Пуассона (1.3) - (1.4). Для поставленной задачи были изучены и рассмотрены методы конченых разностей и конечных элементов. Для каждого метода были рассмотрены различные разностные схемы и методы для решения полученных разностных задач и систем линейных алгебраических уравнений. На основе проведенных испытаний для дальнейшего использования был выбран метод верхней релаксации.
Для решения поставленной задачи рассматриваемыми методами были составлены последовательные и параллельные программы, с применением технологий MPI и OponMP. В ходе исследований, удалось выяснить, что применение параллельных вычислений имеет место при решении задач большой размерности, и использование большого числа вычислительных узлов для этого может не иметь большого смысла и практической ценности.
Для технологии MPI были рассмотрены ленточная и блочная схемы распределения данных между вычислительными узлами, а также блокирующие и неблокирующие операции передачи сообщений. Проведенный анализ и сравнение работ параллельных программ позволили выяснить, что использование ленточного распределения данных значительно эффективнее блочного за счет меньшего количества операций обмена данными. Кроме того, применение неблокирующих операций передачи сообщений позволило значительно повысить эффективность параллельной программы.
При проектировании параллельных программ с использованием OpenMP были рассмотрены различные способы обеспечения взаимоблокировки потоков при доступе к общей памяти. Наиболее подробно рассмотрены критические секции и директива, которая, в свою очередь, позволила достичь большего ускорения работы параллельной программы.
Параллельные программы для решения СЛАУ, полученной при использовании МКЭ, имеют более высокие показатели эффективности и ускорения, чем программы для решения МКР, однако для рассматриваемой реализации данного метода имеются недостатки, в частности, выражающиеся в менее рациональном использовании ресурсов для хранения данных.
На основе наиболее эффективных параллельных программ были разработаны гибридные параллельные программы, совмещающие технологии MPI и OpenMP для решения задачи каждым из методов. При совместном использовании общей памяти и технологии передачи сообщений удалось добиться улучшения показателей параллельной программы в случае при решении задачи МКР, и не удалось добиться никаких улучшений в случае решения СЛАУ, полученной МКЭ. На примере данной задачи удалось показать, что применение гибридных технологий не способно дать положительных результатов для любых задач и методов, решающих их. В подобных случаях можно говорить о том, что для таких задач MPI-программы работают хорошо, как на системах с распределенной памятью, так и на системах с общей памятью, а передача сообщений работает не медленнее, чем синхронизация вычислений посредством общей памяти. При этом дополнительное применение возможностей OpenMP для подобных программ не дает существенного прироста ускорения решения задачи.



1. Антонов, А.С. Параллельное программирование с использованием технологии MPI: учебное пособие / А. С. Антонов. - Москва: Изд-во МГУ, 2004.- 71с.
2. Вогульский, И.О. Основы механики деформируемого тела: учебное пособие / И. О. Вогульский. - Красноярск: Краснояр. гос. ун-т., 2001. - 91с.
3. Гергель, В.П. Теория и практика параллельных вычислений: учебное пособие / В. П. Гергель. - Москва: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007. - 423 с.
4. Лурье, А.И. Теория упругости. / А. И. Лурье. - Москва: Наука. Главная редакция физико-математической литературы, 1970. — 940 с.
5. Самарский, А.А. Численные методы: учебное пособие / А. А. Самарский.
- Москва: Наука. Главная редакция физико-математической литературы, 1989. - 432 с.
6. Трудоношин, В.А., Системы автоматизированного проектирования. Математические модели технических объектов: учебное пособие / В. А. Трудоношин, Н. В. Пивоварова. - Москва: Высш. шк., 1986. - 160с.


Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ