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

Министерство образования и науки Российской Федерации

Федеральное государственное автономное образовательное


учреждение высшего образования
«Самарский национальный исследовательский университет
имени академика С.П. Королева»

Факультет информатики
Кафедра программных систем

ОТЧЁТ
по лабораторной работе №1
«ПРОГРАММНАЯ СИСТЕМА ПАРАЛАБ
ИССЛЕДОВАНИЯ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ»

по дисциплине
«Моделирование и анализ параллельных алгоритмов»

Задания 1 №1

Выполнил: студент
гр. 6137-020402D
Мартинес Х.К.

Проверил: профессор
кафедры ПС
Коварцев А.Н.

Дата сдачи:
Оценка:
Самара 2017
1. Постановка задачи.
Задача «Сортировка данных». Сравнить между собой методы
пузырьковой и модифицированной пузырьковой сортировки.

2. Описание последовательного и параллельного алгоритма


решения задачи.

Сортировка является одной из типовых проблем обработки данных и


обычно понимается как задача размещения элементов неупорядоченного
набора значений.

𝑆 = {𝑎! , 𝑎! , … , 𝑎! }

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

𝑆~𝑆 ! = 𝑎!! , 𝑎! ! , … , 𝑎! ! : 𝑎!! ≤ 𝑎! ! ≤ ⋯ ≤ 𝑎! !

Вычислительная трудоемкость процедуры упорядочивания является


достаточно Высокой. Так, для ряда известных простых методов
(пузырьновая сортировка, сортировка включением и др) количество
необходимых операций определяется квадратичной зависимостью от
числа упорядочиваемых данных

𝑇~𝑛!
Для более эффективных алгоритмов (сортировка слиянием, сортировка
Шел, быстрая сортировка) трудоемкость определяется величиной

𝑇~𝑛 log ! 𝑛

3. Вывод формул для теоретической оценки трудоемкости


решения поставленной задачи.

4. Вычислительные эксперименты.

4.1 Запустите систему ПараЛаб и создайте новый эксперимент.


Выберите пункт меню Задача и убедитесь, что в активном окне
текущей задачей является задача сортировки. Откройте диалоговое
окно выбора метода и посмотрите, какие алгоритмы сортировки
могут быть выполнены на текущей топологии. Так как при
создании эксперимента по умолчанию текущей топологией
становится кольцо, то единственный возможный алгоритм –
алгоритм сортировки пузырьком. Закройте диалоговое окно и
вернитесь в основное меню системы ПараЛаб.

метод сортировки данных: пузырьковая и модифицированная


пузырьковая

4.2 Выполните несколько экспериментов, изменяя размер


исходных данных. Для выполнения эксперимента выполните
команду В активном окне пункта меню Выполнить.
Проанализируйте временные характеристики экспериментов,
которые отображаются в правой нижней части окна.
Sorting data /Сортировка данных
Total Time(ms)
Problem size/ время выполнения элементов (мкс)
размер исходных Modified Bubble/
данных Bubble/ пузырьковая модифицированная
пузырьковая
500 191,3 155,98
1000 320,75 173,21
2000 814 208,91
топология кольцо
Topology Ring/

3000 1619,75 245,56


4000 2738 282,83
5000 4168,75 320,55
6000 5912 358,63
7000 7967,75 397,01
8000 10336 435,65
9000 13016,75 474,53
10000 16010 513,6
Таблица 1. размер исходных данных
Количество процессоров во всех экспериментах: 8

18000

16000

14000

12000

10000
пузырьковая
8000

6000 модифицированна
я пузырьковая
4000

2000

Рисунок 1. размер исходных данных «Майкрософт Эксель»


Рисунок 2. размер исходных данных «Программная система ПараЛаб»
Время выполнения / количество данных. Пузырьковый метод (зеленый).
Модифицированный метод пузырьков (красный).

При изменении размера данных (таблица 1) очевидно, что для


модифицированного метода пузырьков требуется меньше времени для
решения задачи изменяя размер исходных данных, то есть 513,6 мкс как
максимальное время для 10 000 данных. Метод пузырьков для того же
объема данных требует 16 010 мкс, что примерно в 30 раз больше.

4.3 Проведите несколько вычислительных экспериментов,


изменяя количество процессоров вычислительной системы.
Проанализируйте полученные временные характеристики.
Sorting data /Сортировка данных
Total Time (µs)
Number of время выполнения элементов (мкс)
processors/
Количество Modified Bubble/
процессоров Bubble/ пузырьковая модифицированная
пузырьковая
2 250160 774,39
топология кольцо
Topology Ring/

4 62770 552,19
8 16010 513,6
12 7421,1 557,52
16 4468,7 620,55
20 3146 690,83
Таблица 2. Количество процессоров
Размер исходных данных во всех экспериментах: 10 000

300000

250000

200000

пузырьковая
150000

модифицированная
100000 пузырьковая

50000

0
2 4 8 12 16 20

Рисунок 3. Количество процессоров «Майкрософт Эксель»


Рисунок 4. Количество процессоров «Программная система ПараЛаб»
Время выполнения / количество процессоров. Пузырьковый метод (красный).
Модифицированный метод пузырьков (зеленый).

Согласно результатам, приведенным в таблице 2, отмечается, что для


модифицированного метода пузырьков время разрешения задачи
упорядочения данных намного меньше по сравнению с методом
пузырьков.

Согласно рисунок 5 видно, что число процессоров, идеальных для


метода пузырьков, с этими характеристиками моделирования составляет
от 6 до 8 процессоров.

В то же время на рисунке 6 для модифицированного метода пузырьков с


этими имитационными характеристиками наблюдается, что из 8
процессоров время выполнения остается почти постоянным.
Рисунок 5. Количество процессоров «Программная система ПараЛаб»
Время выполнения / количество процессоров. Пузырьковый метод.

Рисунок 6. Количество процессоров «Программная система ПараЛаб»


Время выполнения / количество процессоров. Модифицированный метод
пузырьков.

4.4 Исследование влияния латентности на характеристики


алгоритмов.
Sorting data /Сортировка данных
Total Time(µs)
время выполнения элементов (мкс)
Latency (µs)
Латентность (мкс) Modified Bubble/
Bubble/ пузырьковая модифицированная
пузырьковая
0 15870 373,6
20 16150 653,6
40 16430 933,6
топология кольцо
Topology Ring/

60 16710 1213,6
80 16990 1493,6
100 17270 1773,6
120 17550 2053,6
140 17830 2333,6
160 18110 2613,6
180 18390 2893,6
200 18670 3173,6
Таблица 3. латентность
Размер исходных данных 10 000 и Количество процессоров во всех
экспериментах.

20000

18000

16000

14000

12000
пузырьковая
10000

8000 модифицированная
6000 пузырьковая

4000

2000

0
0 20 40 60 80 100 120 140 160 180 200

Рисунок 7. Латентность «Майкрософт Эксель»


Рисунок 8. Латентность «Программная система ПараЛаб»
Время выполнения / Латентность. Пузырьковый метод (красный).
Модифицированный метод пузырьков (зеленый).

Для двух методов, пузырьков и модифицированных пузырьков


наблюдается прямо пропорциональное поведение между значением
латентности и временем выполнения. Также можно видеть, что,
увеличивая значение задержки в 20 мкс (таблица 3), время выполнения
увеличивается на 280 мкс.
4.5 Исследование влияния метода передачи данных.

Sorting data /Сортировка данных


Communication
Method/ Total Time(µs)
метод передачи время выполнения элементов (мкс)
пакетов
Packet Packet
header size/ Modified Bubble/
size/ общий Bubble/ пузырьковая модифицированная
заголовка пакета пузырьковая
пакета
10 100 23718,4 8221,9
10 300 18395,6 2899,2
10 500 17417 1920,2
10 700 16998,4 1501,9
топология кольцо

10 900 16715,6 1219,2


Topology Ring/

10 1100 16577 1080,6


10 1300 16432,8 936,4
10 1500 16444 947,6
10 1700 16291,4 794,9
10 1900 16299,8 803,4
10 2100 16308,2 811,8
10 2300 16316,6 820,2
10 2500 16325 828,6
Таблица 4. метод передачи пакетов
Размер исходных данных 10 000 и Количество процессоров во всех
экспериментах.
25000

20000

15000
пузырьковая

10000 модифицированная
пузырьковая

5000

0
100
300
500
700
900
1100
1300
1500
1700
1900
2100
2300
2500
Рисунок 9. метод передачи пакетов «Майкрософт Эксель»

В таблице 4 приведены результаты эксперимента, в котором в котором


изменен общий пакета, для метода передачи данных, метод передачи
пакетов. Отмечается, что кратчайшее время выполнения достигается
между 1500 и 1700 байтами.

Как было отмечено во всем этом документе, модифицированный метод


упорядочения данных пузырьков обеспечивает значительно лучшее
время выполнения по сравнению с методом пузырьков.
Sorting data /Сортировка данных

Communication Method/
метод передачи пакетов
Cut through routing/Передачи
Store and forward routing/Сообщений
пакетов
Modified Bubble/ Modified Bubble/
Bubble/ Bubble/
модифицированная модифицированная
пузырьковая пузырьковая
пузырьковая пузырьковая
Total Time(µs)
Total Time(µs)
время выполнения элементов
время выполнения элементов (мкс)
(мкс)
16010 573,6 16291,4 794,7
Таблица 4. метод передачи пакетов
Размер исходных данных 10 000 и Количество процессоров во всех
экспериментах.

5. Вычислительные эксперименты.

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


устаревшим. Благодаря этому документу с каждым результатом (при
сравнении размера данных, латентности, количества процессоров,
методов связи) наблюдается большая разница между временем
выполнения с модифицированным методом пузырьков.

Согласно параметрам, использованным в экспериментах, наблюдается,


что, увеличивая количество процессоров, время выполнения улучшается,
как и ожидалось. Но с более чем 8 процессорами существенная разница в
результате не достигается.