🔍 Поиск работ

Разработка программного обеспечения для формирования Q-детерминантов численных алгоритмов с Q-термами большой длины

Работа №207241

Тип работы

Дипломные работы, ВКР

Предмет

программирование

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

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


ВВЕДЕНИЕ 5
1. КОНЦЕПЦИЯ Q-ДЕТЕРМИНАНТА 9
1.1. Основные понятия 9
1.2. Исследование ресурса параллелизма алгоритмов 13
2. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 15
2.1. Диаграмма вариантов использования 15
2.2. Диаграмма классов 17
2.3. Класс LargeString 18
2.4. Класс LargeDictionary 20
3. РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 22
3.1. Входные данные программы 22
3.2. Выходные данные программы 23
3.3. Ограничение на длину Q-термов 23
3.4. Модернизация программного обеспечения 24
4. ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 26
4.1. Алгоритмы, Q-детерминанты которых содержат Q-термы
небольшой длины 26
4.2. Алгоритмы, Q-детерминанты которых содержат Q-термы
большой длины 28
5. ЭКСПЛУАТАЦИЯ 29
ЗАКЛЮЧЕНИЕ 30
ЛИТЕРАТУРА 31


Параллельные вычисления - способ организации компьютерных вычислений, при котором программы разрабатываются, как набор взаимодействующих вычислительных процессов, работающих асинхронно и при этом одновременно. Разработки в области параллельного программирования важны, потому что параллельное программирование помогает более эффективно использовать имеющиеся ресурсы вычислительных систем. Концепция Q-детерминанта может решить проблему повышения эффективности выполнения программ на параллельных вычислительных системах.
Использование ресурса внутреннего параллелизма численных алгоритмов с применением концепции Q-детерминанта позволяет достигнуть максимального распараллеливания любого алгоритма [1]. С помощью подхода, описанного в данной работе, можно для любого численного алгоритма, допускающего распараллеливание, определить его максимально параллельную реализацию. Помимо Q-эффективной реализации, Q-детерминант показывает все возможные реализации алгоритма и делает его прозрачным с точки зрения структуры.
Повышение эффективности за счет распараллеливания алгоритмов приведет к увеличению быстродействия параллельных вычислительных систем, в связи с чем актуальна проблема исследования внутреннего параллелизма алгоритмов [2].
Задача распараллеливания программ и задача распараллеливания алгоритмов связаны, но существенно различаются. Использование распараллеливания программ может оказаться не правильным решением задачи достижения максимальной эффективности выполнения, т.к. программа может не содержать всех реализаций выполнения алгоритмов, в том числе самой параллельной. Поэтому целесообразно использовать для распараллеливания структуру алгоритма [1].
Несмотря на ориентированность концепции Q-детерминанта на теоретическую модель вычислительной системы с бесконечными ресурсами, полученные результаты являются основой для автоматизированного выполнения наиболее эффективной реализации алгоритма на практике [1].
На рисунке 1 представлен пример Q-эффективной реализации алгоритма.

Рис. 1. Граф плана выполнения Q-эффективной реализации алгоритма скалярного произведения векторов размерности 9

Обзор литературы
Распараллеливанию алгоритмов посвящено много работ. Важным и развитым направлением является изучение параллельной структуры программ с целью их реализации на параллельных вычислительных системах. Одними из значимых работ этого направления являются [3, 4]. Среди работ по синтезу параллельных программ необходимо отметить [5], в которой описан метод синтеза параллельных программ и последующие работы, использующие этот метод. С помощью программной реализации алгоритмов проводятся исследования их ресурса распараллеливания [6].
Помимо этого проводятся исследования возможности повышения быстродействия параллельных программ за счет применения различных методов, использующих специфику алгоритмов и архитектуры вычислительных систем. Примерами таких работ являются [7, 8].
В работах [9, 10] приведено описание программной системы, которая дает возможность для любого численного алгоритма оценить такие характеристики параллельной сложности, как высота и ширина алгоритма, и из множества численных алгоритмов, решающих одну и ту же алгоритмическую проблему, выбрать алгоритм с лучшим ресурсом внутреннего параллелизма. Частью данной программной системы и является модернизируемая в рамках данной работы программа.
Таким образом, Q-детерминант делает алгоритм прозрачным с точки зрения структуры и реализации, он показывает все его реализации, в том числе Q-эффективную, позволяет выполнять алгоритмы на реальных вычислительных системах быстрее.
Цель и задачи исследования
Ранее разработанная подсистема [11] для генерации представления численных алгоритмов в форме Q-детерминанта позволяет формировать Q-детерминант алгоритма по соответствующей ему блок-схеме, которую задает пользователь в виде входного файла.
При завершении работы программного обеспечения формируется документ, содержащий представление алгоритма в форме Q-детерминанта, состоящего из Q-термов. Количество Q-термов в Q-детерминанте равняется количеству выходных данных алгоритма. При этом имеется ограничение на длину Q-термов: возникает связанное с переполнением памяти исключение в случае, если Q-термы имеют достаточно большую длину. В данной работе такие Q-термы будем называть Q-термами большой длины. Аналогично, Q-термы, которые программа формирует, будем называть Q- термами небольшой длины. Соответственно, невозможно с помощью данной программной системы получить представления некоторых алгоритмов, содержащих Q-термы большой длины, в форме Q-детерминанта. Для того чтобы снять ограничение на длину Q-термов, необходимо существенно модернизировать имеющееся программное обеспечение.
Целью данной работы является разработка программного обеспечения для формирования Q-детерминантов численных алгоритмов с Q-термами большой длины.
Для достижения этой цели необходимо решить следующие задачи:
1) изучить концепцию Q-детерминанта;
2) создать проект модернизации имеющегося программного обеспечения для генерации представлений численных алгоритмов в форме Q-детерминанта;
3) разработать ПО для генерации представлений численных алгоритмов в форме Q-детерминанта, не имеющее ограничений на длину Q- термов;
4) протестировать разработанное ПО;
5) использовать разработанное ПО для формирования Q-де
терминантов алгоритмов, содержащих Q-термы большой длины.
Структура и объем работ
Курсовая работа состоит из введения, пяти разделов, заключения, библиографии. Объем работы составляет 32 страницы, объем библиографии - 15 наименований.
Содержание работы
Первый раздел «Концепция Q-детерминанта» описывает теоретические сведения о концепции Q-детерминанта.
Второй раздел «Проектирование программного обеспечения» содержит постановку задачи и требования к программе.
Третий раздел «Реализация программного обеспечения» включает описание разработки программы.
Четвертый раздел «Тестирование программного обеспечения» содержит результаты тестирования.
Пятый раздел «Эксплуатация» описывает опыт эксплуатации программной системы для обработки Q-детерминантов, содержащих Q-термы большой длины.


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

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

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


Данная работа посвящена разработке программного обеспечения для формирования Q-детерминантов численных алгоритмов с Q-термами большой длины.
В рамках работы были получены следующие результаты:
1) изучена концепция Q-детерминанта;
2) создан проект модернизации имеющегося программного обеспечения для генерации представлений численных алгоритмов в форме Q-детерминанта;
3) разработано программное обеспечение для генерации представлений численных алгоритмов в форме Q-детерминанта, не имеющее ограничений на длину Q-термов;
4) разработанное ПО протестировано;
5) начато использование разработанного программного обеспечения для формирования Q-детерминантов алгоритмов, содержащих Q-термы большой длины.
Модернизированное программное обеспечение является подсистемой Q-system и будет использоваться совместно с другими подсистемами.
Работа выполнена при финансовой поддержке РФФИ в рамках научного проекта № 17-07-00865 а.
По теме данной работы имеется публикация [10], а также сделан доклад на Международной конференции «Суперкомпьютерные дни в России 2019».



1. Алеева В.Н. Анализ параллельных численных алгоритмов: Препринт № 590. Новосибирск, 1985. 23 с. В надзаг.: ВЦ СО АН СССР.
2. Алеева В.Н., Иванов Н.А. Исследование внутреннего параллелизма численных алгоритмов // Параллельные вычислительные технологии - XII международная конференция, ПаВТ’2018, г. Ростов-на-Дону, 2-6 апреля 2018 г. Короткие статьи и описания плакатов. Челябинск: Издательский центр ЮУрГУ, 2018.
3. Voevodin V.V., Voevodin Vl.V., The V-Ray Technology of Optimizing Programs to Parallel Computers, Proc. of the 1st workshop on numerical analysis and applications, Russe, Bulgary, 24-27 June, 1999.
4. Воеводин В.В., Воеводин Вл.В., Параллельные вычисления, изд. БХВ-Петербург, СПб., 2002.
5. Вольковский В.А., Малышкин В.Э., Синтез параллельных программ и систем на вычислительных моделях. изд. Наука, Новосибирск, 1988.
6. Легалов А.И., “Функциональный язык для создания архитектурнонезависимых параллельных программ”, Журн. “Вычислительные технологии”, 1:10 (2005), 71-89.
7. Гервич Л.Р. Автоматизация распараллеливания программ с блочным размещением данных. / Л.Р. Гервич, Е.Н. Кравченко, Б. Я. Штейнберг, М.В. Юрушкин. // Сиб. журн. вычисл. матем., 18:1 (2015) - C. 41-53.
8. Игнатьев С.В. Определение ресурса параллелизма алгоритмов на базе концепции Q-детерминанта: Вып. квалиф. работа магистра прикладной математики и информатики: 010500.68 / Южно-Уральский государственный университет. Челябинск, 2009. 75 л.
9. Алеев Р.Ж., Алеева В.Н., Богатырева Е.С. Логический анализ численных алгоритмов на основе концепции Q-детерминанта и его применение для исследования ресурса параллелизма численных алгоритмов. // Международная конференция Мальцевские чтения 2018, г. Новосибирск, 19-22 ноября 2018 г. Сборник тезисов. Новосибирск: Изд-во Института математики СО РАН, 2018. - C. 28.
10. Aleeva V., Bogatyreva E., Skleznev A., Sokolov M., Shuppa A. Software Q-system for the Research of the Resource of Numerical Algorithms Parallelism. In: Voevodin V., Sobolev S. (eds) Supercomputing. RuSCDays 2019. Communications in Computer and Information Science, vol 1129, pp. 641-652, 2019. Springer, Cham.
11. Богатырева Е.С. Разработка программного обеспечения для генерации представления численных алгоритмов в форме Q-детерминанта: Вып. квалиф. работа магистра по направлению «Фундаментальная информатика и информационные технологии»: 02.04.02 / Южно-Уральский государственный университет. Челябинск, 2019. 41 л.
12. Mark Michaelis. Essential C# 7.0. Addison-Wesley Professional, 2018.
13. Троелсен Э. Язык программирования C# 2010 и платформа .NET 4, 5-е изд. - М.: Вильямс, 2011. - 1392 с.
14. Свирихин Д.И., Алеева В.Н. Определение максимально эффективной реализации алгоритма на основе концепции Q-детерминанта. // Параллельные вычислительные технологии (ПаВТ'2013): труды международной научной конференции (1 - 5 апреля 2013 г., г. Челябинск). Челябинск: Издательский центр ЮУрГУ, 2013. - C. 617.
15. Фаулер M. UML. Основы, 3-е издание. - СПб.: Символ-Плюс, 2004. - 192 с.



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




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