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