distributed-computing/tasks/grenaderova-aa/lab_6/README.md

48 lines
2.6 KiB
Markdown
Raw Normal View History

2023-12-18 17:57:57 +04:00
# Отчет по лабораторной работе №6
Выполнила студентка гр. ИСЭбд-41 Гренадерова А.А.
## Создание приложения
Выбрала язык C#, Windows Forms.
Приложение имеет поле ввода матрицы, в которое можно через пробел вносить элементы матрицы.
Можно сгенерировать матрицу указав её размерность.
При необходимости можно очистить матрицу и определитель.
Количество потоков в параллельном алгоритме регулируется в соответствующем поле.
Попробуем запустить обычный и паралелльный алгоритмы на матрицах 2 на 2 и зафиксировать результат выполнения по времени.
![](screens/2.1.png)
![](screens/2.2.png)
В результате обычный алгоритм выполнился за 0,0004332 секунды, в то время как паралелльный выполнился за 0,0047348 секунды.
## Бенчмарки
Протестируем обычный и параллельный алгоритм определение детерминанта на различной размерности матрицы.
В ходе экспериментов было установлено, что обработка матрицы размеров больше 11 на 11 занимает слишком много времени в обычном алгоритме, поэтому для тестирования возьмем матрицы 4 на 4, 6 на 6 и 11 на 11.
Сверху отображен результат обычного алгоритма, снизу паралелльного.
Матрица 4 на 4
![](screens/4.1.png)
![](screens/4.2.png)
Матрицы 6 на 6
![](screens/6.1.png)
![](screens/6.2.png)
Матрицы 11 на 11
![](screens/11.1.png)
![](screens/11.2.png)
Сравнение обработки матрицы 11 на 11 на различном количестве потоков паралельного алгоритма.
![](screens/11СРазнымиПотоками.png)
Вывод: Параллельный алгоритм работает быстрее только при наличии большого количества операций. Если операций не так много, то обычный алгоритм справляется быстрее.