diff --git a/bondarenko_max_lab_5/README.md b/bondarenko_max_lab_5/README.md index c84b5d8..07bd101 100644 --- a/bondarenko_max_lab_5/README.md +++ b/bondarenko_max_lab_5/README.md @@ -1,31 +1,26 @@ -# Лабораторная работа 1 - Знакомство с Docker и Docker Compose +# Лабораторная работа 5 - Вспоминаем математику или параллельное перемножение матриц ### ПИбд-42 || Бондаренко Максим # Описание работы -## Цель -> [!NOTE] -> Изучение современных технологий контейнеризации. - -## Результат работы +## Задание > [!NOTE] > Кратко: реализовать умножение двух больших квадратных матриц. > > Подробно: в лабораторной работе требуется сделать два алгоритма: обычный и параллельный (задание со * - реализовать это в рамках одного алгоритма). В параллельном алгоритме предусмотреть ручное задание количества потоков (число потоков = 1 как раз и реализует задание со *), каждый из которых будет выполнять умножение элементов матрицы в рамках своей зоны ответственности. ## Краткое описание модулей и их работа -1. matrixOperations.js +1. matrix.operations.js multiplyMatricesSequential(A, B): - Перебирает элементы матриц и вычисляет их произведение, заполняя результирующую матрицу. multiplyMatricesParallel(A, B, numThreads): - Делит работу между потоками, каждый из которых умножает часть матриц. Запускает воркеры и собирает их результаты. - 2. benchmark.js generateMatrix(size): - Создает матрицу с случайными значениями заданного размера. benchmark(): - Вызывает generateMatrix для создания матриц, затем измеряет время выполнения multiplyMatricesSequential и multiplyMatricesParallel с различными параметрами, выводит результаты. -3. matrixWorker.js +3. matrix.worker.js multiplyPartial(A, B, start, end): - Воркеры выполняют умножение только для части матриц, определенной параметрами start и end, и возвращают частичные результаты через parentPort.