From 06de5e8246bf08c558c43c51f67cf30d9a3842b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=90=D0=BB?= =?UTF-8?q?=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=D0=BE=D0=B2?= Date: Fri, 22 Dec 2023 16:08:59 +0400 Subject: [PATCH 1/6] =?UTF-8?q?=D0=9F=D1=8F=D1=82=D0=B0=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alexandrov_dmitrii_lab_5/matrix.py | 109 +++++++++++++++++++++ alexandrov_dmitrii_lab_5/readme.md | 31 ++++++ alexandrov_dmitrii_lab_5/screens/bench.png | Bin 0 -> 39809 bytes alexandrov_dmitrii_lab_5/screens/get15.png | Bin 0 -> 85565 bytes alexandrov_dmitrii_lab_5/screens/get5.png | Bin 0 -> 22971 bytes alexandrov_dmitrii_lab_5/service.py | 35 +++++++ alexandrov_dmitrii_lab_5/template.html | 18 ++++ 7 files changed, 193 insertions(+) create mode 100644 alexandrov_dmitrii_lab_5/matrix.py create mode 100644 alexandrov_dmitrii_lab_5/readme.md create mode 100644 alexandrov_dmitrii_lab_5/screens/bench.png create mode 100644 alexandrov_dmitrii_lab_5/screens/get15.png create mode 100644 alexandrov_dmitrii_lab_5/screens/get5.png create mode 100644 alexandrov_dmitrii_lab_5/service.py create mode 100644 alexandrov_dmitrii_lab_5/template.html diff --git a/alexandrov_dmitrii_lab_5/matrix.py b/alexandrov_dmitrii_lab_5/matrix.py new file mode 100644 index 0000000..71a1468 --- /dev/null +++ b/alexandrov_dmitrii_lab_5/matrix.py @@ -0,0 +1,109 @@ +import numpy as np +import time +from concurrent.futures import ProcessPoolExecutor + +benchmark = {} +m_a = [] +m_b = [] +m_c = [] + + +# лучше не надо +def do_multiplication(size): + global m_a + global m_b + global m_c + + m_a = np.random.randint(10, size=(size, size)) + m_b = np.random.randint(10, size=(size, size)) + m_c = np.zeros(shape=(size, size)) + bt = m_b.transpose() + + start_time = time.time() + for i in range(size): + for j in range(size): + for k in range(size): + m_c[i][j] = m_c[i][j] + m_a[i][k] * bt[j][k] + + return time.time() - start_time + + +def multiply_row(a, bt, c, size): + for j in range(size): + c[j] = sum(el_a * el_b for el_a, el_b in zip(a, bt[j])) + return c + + +def do_multiplication_parallel(size, proc_num): + global m_a + global m_b + global m_c + + if proc_num > 61: + proc_num = 61 + + m_a = np.random.randint(10, size=(size, size)) + m_b = np.random.randint(10, size=(size, size)) + m_c = np.zeros(shape=(size, size)) + bt = m_b.transpose() + + start_time = time.time() + with ProcessPoolExecutor(max_workers=proc_num) as executor: + results = [executor.submit(multiply_row, m_a[i], bt, m_c[i], size) for i in range(size)] + m_c = [future.result() for future in results] + + return time.time() - start_time + + +def do_research(): + benchmark['size=100, proc_num=1: '] = do_multiplication_parallel(100, 1) + benchmark['size=300, proc_num=1: '] = do_multiplication_parallel(300, 1) + benchmark['size=500, proc_num=1: '] = do_multiplication_parallel(500, 1) + benchmark['size=100, proc_num=10: '] = do_multiplication_parallel(100, 10) + benchmark['size=300, proc_num=10: '] = do_multiplication_parallel(300, 10) + benchmark['size=500, proc_num=10: '] = do_multiplication_parallel(500, 10) + benchmark['size=100, proc_num=100: '] = do_multiplication_parallel(100, 100) + benchmark['size=300, proc_num=100: '] = do_multiplication_parallel(300, 100) + benchmark['size=500, proc_num=100: '] = do_multiplication_parallel(500, 100) + print(benchmark) + + +if __name__ == '__main__': + do_research() + + +def get_results(size, proc_num): + global m_a + global m_b + global m_c + + res = "time: " + res = res + str(do_multiplication_parallel(size, proc_num)) + + res = res + "
" + for i in range(size): + res = res + "

" + for a in range(size): + res = res + str(m_a[i][a]) + ", " + res = res + " " + for b in range(size): + res = res + str(m_b[i][b]) + ", " + res = res + " " + for c in range(size): + res = res + str(m_c[i][c]) + ", " + res = res + "

" + + return res + + +def get_benchmark(): + global benchmark + + if len(benchmark) == 0: + do_research() + + res = '' + for key, val in benchmark.items(): + res = res + "

" + key + str(val) + "

" + + return res diff --git a/alexandrov_dmitrii_lab_5/readme.md b/alexandrov_dmitrii_lab_5/readme.md new file mode 100644 index 0000000..f450a20 --- /dev/null +++ b/alexandrov_dmitrii_lab_5/readme.md @@ -0,0 +1,31 @@ +## Задание +Создать программу, производящую параллельные умножения реализовать двух больших квадратных матриц. + +## Выполнение +Программа состоит из модуля-сервиса service и модуля для вычислений matrix. +В модуле для вычислений реализовано: +* метод do_multiplication, который в обычном режиме одним потоком умножает матрицы. Не используется, т.к. слишком медленный. +* метод multiply_row, который получает строку матрицы A, транспонированную матрицу B, строку выходной матрицы C, размер матриц и заполняет эту строку проходя по строкам транспонированной матрицы B. Возвращает заполненную строку. +* метод do_multiplication_parallel, использующий предыдущий, который получает размер матриц и количество процессов, генерирует случайные матрицы заданного размера и производит вычисления. +* метод прогона эксперимента с заполнением данных результатами. Методы интерфейса доступа. + +Способ вычисления: в методе do_multiplication_parallel матрица B транспонируется, создаётся объект ThreadPoolExecutor с переданным количеством потоков, который их создаёт и распределяет по ним строки вычисляемой матрицы, а именно передавая им метод multiply_row. +Если передать методу число 1 в качестве количества потоков, то соответственно вычисление произойдёт в одном потоке. + +## Результаты +Был создан Flask сервис, позволяющий получать результаты умножения случайных квадратных матриц. +Возможно задать размер и количество потоков. + +Дополнительно возможно провести эксперимент и получить результаты умножения матриц размера 100, 300 и 500 одним, десятью и ста потоками. + +Поскольку распараллеливание основано на процессах, а в системе имеется 6 ядер, то максимальное увеличение производительности будет достигнуто при выборе такого количества процессов. + +Результаты: +![RabbitMQ](screens/get5.png) + +![MediaWiki](screens/get15.png) + +Бенчмарк: +![MediaWiki](screens/bench.png) + +## Ссылка на видео diff --git a/alexandrov_dmitrii_lab_5/screens/bench.png b/alexandrov_dmitrii_lab_5/screens/bench.png new file mode 100644 index 0000000000000000000000000000000000000000..2ffefcf7ab958ac36e1d1c5baf176c146334c339 GIT binary patch literal 39809 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 Js?%5Q{1+~a^^5=j literal 0 HcmV?d00001 diff --git a/alexandrov_dmitrii_lab_5/screens/get5.png b/alexandrov_dmitrii_lab_5/screens/get5.png new file mode 100644 index 0000000000000000000000000000000000000000..022b4b5057fad3b977e881867909b0dc61dfb127 GIT binary patch literal 22971 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 ic9bC>YyYpuWfCP<;-gKPQ${%Qbu`uVR7+HBg8l + + + + Matrix + + +
+ + + +
+
+ +
+ {{results_html|safe}} + + \ No newline at end of file -- 2.25.1 From 81f811677007e6a7445c0610d1e118b39c900a37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=90=D0=BB?= =?UTF-8?q?=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=D0=BE=D0=B2?= Date: Fri, 22 Dec 2023 16:48:46 +0400 Subject: [PATCH 2/6] =?UTF-8?q?=D0=9F=D1=8F=D1=82=D0=B0=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alexandrov_dmitrii_lab_5/readme.md | 8 +++++++- alexandrov_dmitrii_lab_5/template.html | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/alexandrov_dmitrii_lab_5/readme.md b/alexandrov_dmitrii_lab_5/readme.md index f450a20..98bea48 100644 --- a/alexandrov_dmitrii_lab_5/readme.md +++ b/alexandrov_dmitrii_lab_5/readme.md @@ -18,7 +18,12 @@ Дополнительно возможно провести эксперимент и получить результаты умножения матриц размера 100, 300 и 500 одним, десятью и ста потоками. -Поскольку распараллеливание основано на процессах, а в системе имеется 6 ядер, то максимальное увеличение производительности будет достигнуто при выборе такого количества процессов. +Поскольку распараллеливание основано на процессах, а в системе имеется 6 ядер (+2 виртуальных), то максимальное увеличение производительности будет достигнуто при выборе такого количества процессов. +Более 61 потока урезается до 61 из-за системных ограничений. +Как видно из бенчмарка: +* во всех случаях скорость максимальна при выборе 10 процессов, т.е. при ближайшем к 8 числу процессов. +* в случае 100 процессов из-за издержек создания процессов малые матрицы обрабатываются на порядок дольше, нежели одним потоком. +* в случае 100 процессов благодаря распараллеливанию скорость обработки оказалась в 3 раза выше скорости обработки одним потоком. Результаты: ![RabbitMQ](screens/get5.png) @@ -29,3 +34,4 @@ ![MediaWiki](screens/bench.png) ## Ссылка на видео +https://drive.google.com/file/d/1_bIyLL8YGwDePwWdCFk4KxntJip6mP0t/view?usp=drive_link \ No newline at end of file diff --git a/alexandrov_dmitrii_lab_5/template.html b/alexandrov_dmitrii_lab_5/template.html index f9c2e43..c999367 100644 --- a/alexandrov_dmitrii_lab_5/template.html +++ b/alexandrov_dmitrii_lab_5/template.html @@ -7,7 +7,7 @@
- +
-- 2.25.1 From b7187c8f60c07c6aa12f6ae296f5b7a0cdb78ef3 Mon Sep 17 00:00:00 2001 From: mapoch Date: Fri, 22 Dec 2023 22:07:13 +0400 Subject: [PATCH 3/6] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'alexandrov=5Fdmitrii=5Flab=5F5/readme?= =?UTF-8?q?.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alexandrov_dmitrii_lab_5/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alexandrov_dmitrii_lab_5/readme.md b/alexandrov_dmitrii_lab_5/readme.md index 98bea48..f3653ed 100644 --- a/alexandrov_dmitrii_lab_5/readme.md +++ b/alexandrov_dmitrii_lab_5/readme.md @@ -9,7 +9,7 @@ * метод do_multiplication_parallel, использующий предыдущий, который получает размер матриц и количество процессов, генерирует случайные матрицы заданного размера и производит вычисления. * метод прогона эксперимента с заполнением данных результатами. Методы интерфейса доступа. -Способ вычисления: в методе do_multiplication_parallel матрица B транспонируется, создаётся объект ThreadPoolExecutor с переданным количеством потоков, который их создаёт и распределяет по ним строки вычисляемой матрицы, а именно передавая им метод multiply_row. +Способ вычисления: в методе do_multiplication_parallel матрица B транспонируется, создаётся объект ProcessPoolExecutor с переданным количеством потоков, который их создаёт и распределяет по ним строки вычисляемой матрицы, а именно передавая им метод multiply_row. Если передать методу число 1 в качестве количества потоков, то соответственно вычисление произойдёт в одном потоке. ## Результаты -- 2.25.1 From f17187207aa9aead8963320da7fcc239287c851e Mon Sep 17 00:00:00 2001 From: mapoch Date: Fri, 22 Dec 2023 22:10:41 +0400 Subject: [PATCH 4/6] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'alexandrov=5Fdmitrii=5Flab=5F5/readme?= =?UTF-8?q?.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alexandrov_dmitrii_lab_5/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/alexandrov_dmitrii_lab_5/readme.md b/alexandrov_dmitrii_lab_5/readme.md index f3653ed..96eea8c 100644 --- a/alexandrov_dmitrii_lab_5/readme.md +++ b/alexandrov_dmitrii_lab_5/readme.md @@ -9,12 +9,12 @@ * метод do_multiplication_parallel, использующий предыдущий, который получает размер матриц и количество процессов, генерирует случайные матрицы заданного размера и производит вычисления. * метод прогона эксперимента с заполнением данных результатами. Методы интерфейса доступа. -Способ вычисления: в методе do_multiplication_parallel матрица B транспонируется, создаётся объект ProcessPoolExecutor с переданным количеством потоков, который их создаёт и распределяет по ним строки вычисляемой матрицы, а именно передавая им метод multiply_row. -Если передать методу число 1 в качестве количества потоков, то соответственно вычисление произойдёт в одном потоке. +Способ вычисления: в методе do_multiplication_parallel матрица B транспонируется, создаётся объект ProcessPoolExecutor с переданным количеством процессов, который их создаёт и распределяет по ним строки вычисляемой матрицы, а именно передавая им метод multiply_row. +Если передать методу число 1 в качестве количества процессов, то соответственно вычисление произойдёт в одном потоке. ## Результаты Был создан Flask сервис, позволяющий получать результаты умножения случайных квадратных матриц. -Возможно задать размер и количество потоков. +Возможно задать размер и количество процессов. Дополнительно возможно провести эксперимент и получить результаты умножения матриц размера 100, 300 и 500 одним, десятью и ста потоками. -- 2.25.1 From 0cf1b56fd21b4c597c9302fba991a3cae667c72a Mon Sep 17 00:00:00 2001 From: mapoch Date: Fri, 22 Dec 2023 22:12:18 +0400 Subject: [PATCH 5/6] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'alexandrov=5Fdmitrii=5Flab=5F5/readme?= =?UTF-8?q?.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alexandrov_dmitrii_lab_5/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/alexandrov_dmitrii_lab_5/readme.md b/alexandrov_dmitrii_lab_5/readme.md index 96eea8c..418771e 100644 --- a/alexandrov_dmitrii_lab_5/readme.md +++ b/alexandrov_dmitrii_lab_5/readme.md @@ -16,14 +16,14 @@ Был создан Flask сервис, позволяющий получать результаты умножения случайных квадратных матриц. Возможно задать размер и количество процессов. -Дополнительно возможно провести эксперимент и получить результаты умножения матриц размера 100, 300 и 500 одним, десятью и ста потоками. +Дополнительно возможно провести эксперимент и получить результаты умножения матриц размера 100, 300 и 500 одним, десятью и ста процессами. Поскольку распараллеливание основано на процессах, а в системе имеется 6 ядер (+2 виртуальных), то максимальное увеличение производительности будет достигнуто при выборе такого количества процессов. Более 61 потока урезается до 61 из-за системных ограничений. Как видно из бенчмарка: * во всех случаях скорость максимальна при выборе 10 процессов, т.е. при ближайшем к 8 числу процессов. -* в случае 100 процессов из-за издержек создания процессов малые матрицы обрабатываются на порядок дольше, нежели одним потоком. -* в случае 100 процессов благодаря распараллеливанию скорость обработки оказалась в 3 раза выше скорости обработки одним потоком. +* в случае 100 процессов из-за издержек создания процессов малые матрицы обрабатываются на порядок дольше, нежели одним процессом. +* в случае 100 процессов благодаря распараллеливанию скорость обработки оказалась в 3 раза выше скорости обработки одним процессом. Результаты: ![RabbitMQ](screens/get5.png) -- 2.25.1 From c3c07e870e8558acce4e2c0826d4b363cb95383e Mon Sep 17 00:00:00 2001 From: mapoch Date: Fri, 22 Dec 2023 22:17:57 +0400 Subject: [PATCH 6/6] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB(?= =?UTF-8?q?=D0=B0)=20=D0=BD=D0=B0=20'alexandrov=5Fdmitrii=5Flab=5F5/readme?= =?UTF-8?q?.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- alexandrov_dmitrii_lab_5/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/alexandrov_dmitrii_lab_5/readme.md b/alexandrov_dmitrii_lab_5/readme.md index 418771e..b89568c 100644 --- a/alexandrov_dmitrii_lab_5/readme.md +++ b/alexandrov_dmitrii_lab_5/readme.md @@ -26,12 +26,12 @@ * в случае 100 процессов благодаря распараллеливанию скорость обработки оказалась в 3 раза выше скорости обработки одним процессом. Результаты: -![RabbitMQ](screens/get5.png) +![matrix5x5](screens/get5.png) -![MediaWiki](screens/get15.png) +![matrix15x15](screens/get15.png) Бенчмарк: -![MediaWiki](screens/bench.png) +![bench](screens/bench.png) ## Ссылка на видео https://drive.google.com/file/d/1_bIyLL8YGwDePwWdCFk4KxntJip6mP0t/view?usp=drive_link \ No newline at end of file -- 2.25.1