Вы находитесь на странице: 1из 11

«Национальный исследовательский ядерный университет «МИФИ»

ИНСТИТУТ ИНТЕЛЛЕКТУАЛЬНЫХ КИБЕРНЕТИЧЕСКИХ СИСТЕМ

КАФЕДРА КОМПЬЮТЕРНЫХ СИСТЕМ И ТЕХНОЛОГИЙ (012)

Лабораторная работа №1
по учебной дисциплине «Методы параллельной обработки»

Изучение характеристик параллельных алгоритмов

Выполнил: Герасимычев Д.М.


Группа: С19-501
Проверил: Шувалов В. Б.

Москва, 2023 г.
Цель работы: изучение характеристик параллельных алгоритмов и влияния на них
различных видов архитектур многопроцессорных вычислительных систем.

ВАРИАНТ ЗАДАНИЯ
8

∑ xi y i
f ( x ; y )= i=18
x
∑ yi
i=1 i

План выполнения работы


1) Провести тестирование знаний с помощью соответствующей подпрограммы
лабораторного комплекса.
2) Выбрать вкладку «Алгоритм» и ввести алгоритм.
3) Выбрать вкладку «Архитектура и выполнение» и выбрать топологию
многопроцессорной вычислительной системы, количество процессоров, а
также число тактов, необходимое системе для одной пересылки данных между
двумя соседними процессорами.
4) Запустить процесс выполнения и зарегистрировать результаты в соответствии с
табл. 2.
5) Рассчитать эффективность и ускорение параллельного алгоритма при его
выполнении на данной многопроцессорной вычислительной системе.
Полученные результаты занести в таблицу 3.
6) Повторить п.п. 3–5 для всех вариантов выбранных систем при различных
значениях времени пересылки и количества процессоров.
7) Провести анализ влияния времени пересылки на эффективность и ускорение
параллельного алгоритма.
8) Выбрать из всех архитектур вычислительных систем такую, при выполнении на
которой заданный алгоритм имел бы лучшие показатели ускорения и
эффективности.
9) Результаты отразить в лабораторном отчете.

2
Теоретическая часть
Диаметр – показатель, определяемый как максимальное расстояние между двумя
узлами системы (под расстоянием обычно понимается величина кратчайшего пути между
узлами системы). Эта величина может характеризовать максимально необходимое время
для передачи данных между узлами, поскольку время передачи обычно прямо
пропорционально длине пути;

Связность - показатель, характеризующий наличие разных маршрутов передачи


данных между процессорами сети. Конкретный вид данного показателя может быть
определен, например, как минимальное количество дуг, которое надо удалить для
разделения сети передачи данных на две несвязные области;

Ширина бинарного деления - показатель, определяемый как минимальное


количество дуг, которое надо удалить для разделения сети передачи данных на две
несвязные области одинакового размера;

Стоимость – показатель, который может быть определен, например, как общее


количество линий передачи данных в многопроцессорной вычислительной системе.

Степенью параллелизма численного алгоритма называется число его операций,


которые можно выполнять параллельно.

Средней степенью параллелизма численного алгоритма называется отношение


общего числа операций алгоритма к числу его этапов.

Ускорением параллельного алгоритма называется отношение времени выполнения


алгоритма на одном процессоре ко времени выполнения алгоритма в системе из P
процессоров.

Для задачи сложения векторов следовало бы ожидать, что SP = P, т. е. ускорение


максимально. Однако следует заметить, что в определении ускорения подразумеваются
действительные времена вычислений. Это делает определение более реалистичным, но
затрудняет его использование в том случае, если требуемые времена неизвестны.

Эффективностью параллельного алгоритма называется отношение ускорения


параллельного алгоритма к числу процессоров в системе.

Эффективностью параллельного алгоритма по отношению к наилучшему


последовательному алгоритму называется отношение ускорения параллельного алгоритма

3
по сравнению с наилучшим последовательным алгоритмом к числу процессоров в
системе.
Ярусно-параллельная структурированная схема — это граф, вершинам которого
соответствуют блоки вычислений, а дугам – пересылки данных. Считается, что исходные
данные для выполнения первого яруса вычислений уже загружены в процессоры.

4
Ход выполнения работы
1.1 Разработка алгоритма для обработки функции из домашнего задания

∑ xi y i
i=1
f ( x ; y )= 8
x
∑ yi
i=1 i

Данную функцию можно представить, как 2 параллельно идущие на 1 ярусе


операции деления и умножения. Затем идет их попарное суммирование за log8 = 3
ярусов. Затем результаты сумм делятся на 30 блоке.

Рис. 1 Структурировать алгоритм приведенные к виду, удобному для ввода в программу


лабораторного практикума.
1.2 Расчет средней степени параллелизма

Расчёт средней степени параллелизма полученного алгоритма:


31
=6.2
5
1.3 Заполнение таблицы по требованию

Заполним таблицу 1:
Таблица 1. Структурная таблица алгоритма вычисления функции
№ яруса Количество блоков Номер блока Количество Зависимость
вычислений вычислений передач данных от других

5
блоков

0
1
2
3
4
5
6
7
1 16 - -
8
9
10
11
12
13
14
15

16 2 0, 1
17 2 2, 3
18 2 4, 5
19 2 6, 7
2 8
20 2 8, 9
21 2 10, 11
22 2 12, 13
23 2 14, 15

24 2 16, 17
25 2 18, 19
3 4
26 2 20, 21
27 2 22, 23

4 2 28 2 24, 25

6
29 2 26, 27

5 1 30 2 28, 29

1.4 Проведение тестирования

С помощью подпрограммы лабораторного комплекса проведено тестирование


знаний. Результат представлен на рис. 2.

Рис. 2. Результат прохождения тестирования знаний


1.5 Вывод алгоритма в программе

Вывод алгоритма приведен на рисунке 1.

1.6 Заполнение таблиц по требованию


При выполнении алгоритма на 1 процессоре с одной пересылкой были получены
следующие результаты(рис.3). То есть, получается что время выполнения равно 61.

Рис. 3. Результат выполнения алгоритма 1 проц. 1 перес.

7
Далее было проведено исследование алгоритма на скорость времени работы при
различных топологиях и разного числа профессоров. На пересылку был указан 1 такт.
Время выполнения алгоритмов при разно числе процессоров, у топологий Решетка и
Кольцо было взято среднее число, результаты представлены в табл. 2.

Таблица 2. Время работы алгоритма при одном такте на пересылку

Количество «Полный «Общая «Линейный «Решетка» «Гиперкуб»


«Кольцо»
процессоров граф» шина» массив»

2 31 31 31 31 31 31

4 17 25 23 23 22 22

8 11 29 24 24 19 21

12 11 30 35 27 24 20

16 9 31 27 27 18 19

20 9 32 49 32 27 21

Аналогично было проведено исследование при числе тактов на пересылку, равной


2. У топологий Решетка и Кольцо было взято среднее число, результаты представлены в
табл. 3. По таблице можно заметить, что при топологии линейный массив число тактов на
выполнение при большом числе процессоров возросло более чем в полтора раза.

Таблица 3. Время работы алгоритма при двух тактах на пересылку

Количество «Полный «Общая «Линейный «Решетка» «Гиперкуб»


«Кольцо»
процессоров граф» шина» массив»

2 33 33 33 33 33 33

4 20 27 26 26 27 27

8 15 31 32 32 26 31

12 15 32 50 38 30 30

16 13 33 42 42 28 29

20 13 34 75 48 43 32

Проводим анализ влияния времени пересылки на эффективность и ускорение


параллельного алгоритма, при одном такте на пересылку. Ускорение — это отношение
времени на одном процессе ко времени на p процессах. На одном процессе получилось
ускорение
61. Эффективность считается по таблице 4 , так как равна .
число процессоров
Таблица 4. Ускорение алгоритма при одном такте на пересылку
Количество «Полный «Общая «Линейный «Кольцо» «Решетка» «Гиперкуб»
8
процессоров граф» шина» массив»

2 1,968 1,968 1,968 1,968 1,968 1,968

4 3,588 2,44 2,652 2,652 2,773 2,773

8 5,545 2,103 2,542 2,542 3,211 2,905

12 5,545 2,033 1,743 2,259 2,542 3,05

16 6,778 1,968 2,259 2,259 3,389 3,211

20 6,778 1,906 1,245 1,906 2,346 2,905

Таблица 5. Эффективность алгоритма при одном такте на пересылку

Количество «Полный «Общая «Линейный «Решетка» «Гиперкуб»


«Кольцо»
процессоров граф» шина» массив»

2 0,984 0,984 0,984 0,984 0,984 0,984

4 0,897 0,61 0,663 0,663 0,693 0,693

8 0,693 0,263 0,318 0,318 0,401 0,363

12 0,463 0,169 0,145 0,188 0,212 0,254

16 0,424 0,123 0,141 0,141 0,212 0,201

20 0,339 0,095 0,062 0,095 0,117 0,145

Проводим анализ влияния времени пересылки на эффективность и ускорение


параллельного алгоритма, при двух тактах на пересылку.
Таблица 6. Ускорение алгоритма при двух тактах на пересылку

Количество «Полный «Общая «Линейный «Решетка» «Гиперкуб»


«Кольцо»
процессоров граф» шина» массив»

2 1,848 1,848 1,848 1,848 1,848 1,848

4 3,05 2,259 2,346 2,346 2,259 2,259

8 4,067 1,968 1,906 1,906 2,346 1,968

12 4,067 1,906 1,22 1,605 2,033 2,033

16 4,692 1,848 1,452 1,452 2,179 2,103

20 4,692 1,794 0,813 1,271 1,419 1,906

Таблица 7. Эффективность алгоритма при двух тактах на пересылку

Количество «Полный «Общая «Линейный «Кольцо» «Решетка» «Гиперкуб»


9
процессоров граф» шина» массив»

2 0,924 0,924 0,924 0,924 0,924 0,924

4 0,763 0,565 0,587 0,587 0,565 0,565

8 0,508 0,246 0,238 0,238 0,293 0,246

12 0,339 0,158 0,102 0,134 0,169 0,169

16 0,293 0,116 0,091 0,091 0,136 0,131

20 0,235 0,09 0,041 0,064 0,071 0,095

Исходя из полученных результатов, можно сделать вывод, что число тактов на


пересылку заметно влияет на эффективность и ускорение. А именно при увеличении
тактов на пересылку эффективность и ускорение уменьшаются. Топология “Полный граф”
хоть и имеет по факту большую стоимость, но дает лучшие показатели среди
эффективности и ускорения, наибольший показатель достигается при числе процессоров
больших 16. Топология “Линейный массив” наоборот дешёвая с точки зрения стоимости,
но использовать ее более чем на одном процессоре не выгодно, так как ее приросты
ускорения и производительности наименьшие.

10
Заключение
В ходе выполнения лабораторной работы были изучены характеристики
параллельных алгоритмов и влияния на них различных видов архитектур
многопроцессорных вычислительных систем. Было проведено тестирования знаний с
помощью подпрограммы лабораторного комплекса. Проведен анализ по решению задачи
параллелизма с точки зрения различных топологий, числа процессоров, тактов на
пересылку. Для целей анализа были посчитаны время обработки, ускорение, и
эффективность для одного и двух тактов на пересылку. Наиболее эффективная топология
при числе процессоров больших 16 оказалась “Полный граф”. Самая неэффективная
топология для ускорения оказалась “Линейный массив”. При малом числе (2 или менее)
процессоров показатели эффективности и ускорения примерно равны.

11

Вам также может понравиться