# Лабораторная работа 6 ## Описание Задание заключается в реализации алгоритмов нахождения детерминанта квадратной матрицы. Необходимо разработать два алгоритма: последовательный и параллельный. А также провести бенчмарки, а затем описать результаты в отчете. **100x100 матрица**: - **8 потоков** — наилучший результат. - **10 потоков** — результат немного хуже. - **4 потока** — примерно такой же результат как на 10 потоках. - **1 поток** — наихудший результат. **300x300 матрица**: - **10 потока** — лучший результат. - **8 потоков** — чуть хуже. - **4 потока** — ещё медленее. - **1 поток** — наихудший результат. **500x500 матрица**: - **10 потока** — лучший результат. - **8 потоков** — чуть хуже. - **4 потока** — ещё медленее. - **1 поток** — наихудший результат. **Ссылка на демонстрацию работы программы**: https://vkvideo.ru/video215756667_456239456?list=ln-W6TTsYuIRdX8ft7ADr **Вывод**: - Если операция сложнее, рост производительности происходит с увеличением числа потоков. - Слишком много потоков увеличивает накладные расходы (замтено только на неочень сложных операциях). Это может быть связано, например, с: 1. **Переключением контекстов**: Когда потоков больше, чем ядер процессора, операционная система часто переключает контексты, что занимает время. 2. **Конкуренцией за ресурсы**: Много потоков конкурируют за ограниченные ресурсы, такие как процессорное время и кэш. 3. **Управлением потоками**: С увеличением числа потоков растёт нагрузка на систему, связанную с их созданием, управлением и завершением.