DAS_2024_1/mochalov_danila_lab_5/readme.md
2024-11-06 02:59:28 +04:00

34 lines
3.5 KiB
Markdown
Raw 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.

# Лабораторная работа №5
#### ПИбд-42. Мочалов Данила.
#### Выполнение
Были реализованы два алгоритма для перемножения матриц: обычный и паралелльный. Параллельный алгоритм использует multiprocessing.Pool для разделения вычислений между несколькими процессами.
#### Результаты бенчмарков:
Были проведены тесты для матриц размером 100x100, 300x300 и 500x500 элементов с разным количеством процессов (1, 5, 10). Результаты представлены в таблице:
| Размер матрицы | Алгоритм | Кол-во процессов |Время (сек.)|
|----------------|------------|------------------|------------|
| 100x100 |Обычный |- |0.21 |
| 100x100 |Параллельный|1 |0.59 |
| 100x100 |Параллельный|5 |0.34 |
| 100x100 |Параллельный|10 |0.32 |
| 300x300 |Обычный |- |6.59 |
| 300x300 |Параллельный|1 |7.03 |
| 300x300 |Параллельный|5 |2.00 |
| 300x300 |Параллельный|10 |1.54 |
| 500x500 |Обычный |- |29.81 |
| 500x500 |Параллельный|1 |33.83 |
| 500x500 |Параллельный|5 |8.57 |
| 500x500 |Параллельный|10 |5.67 |
---------------------------------------------------------------
#### Анализ
- Для маленьких матриц (100x100) параллельный алгоритм с одним процессом работает медленнее последовательного. Это связано с накладными расходами на создание и управление процессом, которые превышают выигрыш от параллелизма.
- С увеличением размера матрицы эффективность параллельного алгоритма возрастает. Для матриц 300x300 и 500x500 наблюдается значительное ускорение по сравнению с последовательным алгоритмом.
- Количество процессов, обеспечивающее максимальное ускорение, зависит от размера матрицы и аппаратных возможностей системы. В данном случае, для матрицы 300x300 использование 10 процессов дает лучший результат, а для 500x500 - тоже 10. Дальнейшее увеличение количества процессов может привести к снижению производительности из-за увеличения накладных расходов на межпроцессное взаимодействие.
#### Демонстрация
[Доступна по ссылке](https://drive.google.com/file/d/1GxPw9syJVnxb65zP6uQVNYyLjZ-HrfOo/view?usp=sharing)