Тема: Исследование параллельных алгоритмов для обработки данных в сети
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 5
1 Теоретические сведения 8
1.1 Характеристика объекта исследования 8
1.2 Математическая модель описания процессов 13
2 Разработка алгоритмов 20
2.1 Разработка последовательного алгоритма 20
2.2 Написание разработанного алгоритма 21
2.3 Технологии и методы распараллеливания 26
2.4 Разработка параллельного алгоритма после последовательного 29
3 Сравнительный анализ алгоритмов 32
3.1 Тестирование реализованных алгоритмов 32
3.2 Анализ скорости выполнения программ 34
3.3 Анализ нагрузки системы при выполнении программ 36
3.4 Анализ ускорения выполнения программ по Закону Амдала 40
Заключение 43
Список используемых источников 44
📖 Введение
«В разделе внутренней баллистики существуют разные схемы, которые требуют глубокого погружения в детали. В качестве ознакомления, в данной бакалаврской работе была приведена одна из них - эстафетная схема метания. Она вызывает интерес своим подходом в решении вопроса увеличения скорости метаемого элемента, при котором заряд патрона делится на две или три части. Если заряд делится на две составляющие, то такой патрон считается бинаром, а если на три - тринаром.» [3]
«В стандартном варианте рассмотрения эстафетной схемы с двумя составляющими, используется пластмассовая гильза с воспламенителем, которую заполняют основной частью пороха, а сверху устанавливают картонную диафрагму, разделяющую патрон на бинар, где во второй части присутствует дополнительная часть порохового заряда из того же или другого вещества.»[13]
«При подобном решении обязательно нужно проводить большое количество различных вычислений, связанных с варьированием величины частей пороха, положением диафрагмы, материалами метаемых элементов и многих других параметров.
Чтобы улучшить работу расчета данных, проводятся различные исследования в разработке приложений, которые решают проблемы с точностью и израсходованным временем. В настоящее время, на различных языках программирования, уже разработаны приложения, которые используют разные виды технологий.» [8]
«Существенную долю уже созданных алгоритмов занимают последовательные, но благодаря тенденциям применения всех возможных ресурсов персональных компьютеров, трудно не заметить, что актуальным также становится и алгоритм с многопоточным программированием, с использованием распараллеливания.» [2]-[4]
«Имеющаяся в настоящее время модель эстафетной схемы в виде последовательного алгоритма хорошо решает поставленные перед ней задачи, потратив при этом относительно немного времени для расчетов.»[6]
«Чтобы уменьшить затраченное время, по мимо прочего, были произведены исследования с участием технологии OpenCL на языке программирования C, предназначенная для создания многопоточного алгоритма, учитывая ресурс центрального и графического процессоров. Немалую выгоду в данной технологии, как и в технологии «Cuda» для C++, несёт в себе то, что все математические исчисления, которые нагружают центральный процессор, как элементарные задачи возлагаются на графический, благодаря чему он может без нагрузок исполнять весь оставшийся алгоритм. Такое распределение позволяет получить как минимум две параллели с огромными ресурсами для расчётов.»[1]
В представленной бакалаврской работе будет рассмотрен последовательный алгоритм, написанный на языке C++, а также, распараллеленный алгоритм с использованием многопоточной технологии «ОрепМР», что даст нам возможность исправить существующие недочёты вычислений при использовании эстафетной схемы в баллистике, не пренебрегая при этом ресурсами графического процессора.
Объект исследования - математические вычисления, которые нужны для вывода данных при меняющихся входных переменных.
Предмет исследования - многопоточные алгоритмы, ускоряющие процесс расчётов.
Цель исследования - получить повышение в скорости обработки входящих и выходящих параметров при математическом подсчёте.
Задачи исследования:
• изучить теоретическую составляющую по объекту исследования;
• ознакомиться с насущными решениями проблемы и проанализировать их;
• разработать последовательный алгоритм для вычисления;
• реализовать алгоритм для расчетов с применением многопоточных технологий;
• выполнить сравнительный анализ производительности разработанных алгоритмов.
В первой части настоящей работы, мы рассмотрим все теоретические сведения, которые так или иначе влияют на математические вычисления и модель броска элемента “эстафетной схемы”. Во втором пункте будет освещен процесс работы над алгоритмами, а Итогом данной бакалаврской работы будет считаться сравнительный анализ производительности двух алгоритмов, разработанных для эстафетной схемы метания: многопоточного и последовательного, а так же выявление плюсов и минусов этих алгоритмов.
✅ Заключение
Так же, в первой главе данной работы, довелось ознакомиться с материалами, которые тесно связаны с высшей математикой, а именно, математическими расчётами, использованными в исследуемой схеме.
Была достигнута основная цель бакалаврской работы, которая связана с сокращением времени, которое затрачивается на вычислительную работу алгоритма
Для достижения таких результатов, необходимо было рассмотреть решения проблемы, которые уже существуют, например, время, которое затрагивается на то, чтобы программа завершила свою работу.
Также для разработки распараллеленного алгоритма необходимой стала задаче разработки последовательного, что и было выполнено во второй главе, рамках данной выпускной квалификационной работы.
Чтобы спроектировать распараллеленный алгоритм, было принято решение пользоваться известной технологией OpenMP, которая, в свою очередь, не затрагивает графический процессор для своих нужд, как это происходило в других научных исследованиях, похожих на данное.
Сравнительный анализ, проведённый в третьем главе доказал перспективу использования параллельных алгоритмов для ускорения программ, т.к. приведённый в данной бакалаврской работе алгоритм был ускорен примерно в 2 раза.
Подводя итог, заметим, что в данной бакалаврской работе осветились все главные моменты математической модели метания снаряда по «Эстафетной схеме», а часть материала, была предоставлена на XLVII Самарской областной студенческой научной конференции в виде доклада.





