distributed-computing/tasks/grenaderova-aa/lab_6/README.md
2023-12-18 17:57:57 +04:00

48 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Отчет по лабораторной работе №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)
Вывод: Параллельный алгоритм работает быстрее только при наличии большого количества операций. Если операций не так много, то обычный алгоритм справляется быстрее.