- •Лекция 9.Принципы разработки параллельных алгоритмов
- •9.1. Методика разбиения алгоритмов на параллельные части
- •9.2. Этапы разработки параллельных алгоритмов
- •9.2.1. Разделение вычислений на независимые части
- •9.2.2. Выделение информационных зависимостей
- •9.2.3. Масштабирование набора подзадач
- •9.2.4. Распределение подзадач между процессорами
- •9.3. Примеры распараллеливания методов сортировки
- •9.1. Принципы распараллеливания
- •9.2. Масштабирование параллельных вычислений
- •9.3. Пузырьковая сортировка
- •9.3.1. Последовательный алгоритм
- •9.3.2. Алгоритм чет-нечетной перестановки
- •9.3.3. Определение подзадач и выделение информационных зависимостей
- •9.3.4. Масштабирование и распределение подзадач по процессорам
- •9.3.5. Анализ эффективности
- •9.3.6. Результаты вычислительных экспериментов
- •Литература:
9.3.6. Результаты вычислительных экспериментов
Эксперименты осуществлялись на вычислительном кластере Нижегородского университета на базе процессоров Intel Xeon 4 EM64T, 3000 МГц и сети Gigabit Ethernet под управлением операционной системы Microsoft Windows Server 2003 Standard x64 Edition и системы управления кластером Microsoft Compute Cluster Server.
Для
оценки длительности τ базовой скалярной
операции алгоритма сортировкипроводилось решение задачи упорядочивания
при помощи последовательного алгоритма
и полученное таким образом время
вычислений делилось на общее количество
выполненных операций – в результате
выполненных экспериментов для величины
τ было получено значение 9,41 нсек.
Эксперименты, выполненные для определения
параметров сети передачи данных, показали
значения латентности
и
пропускной способности β соответственно
130 мкс и 53,29 Мбайт/с. Все вычисления
производились над числовыми значениями
типаdouble,
размер которого на данной платформе
равен 8 байт (следовательноw=8).
Результаты вычислительных экспериментовприведены в таблице. Эксперименты выполнялись с использованием двух и четырех процессоров.
|
| |||||
|
Количество элементов |
Последовательный алгоритм |
Параллельный алгоритм | |||
|
2 процессора |
4 процессора | ||||
|
Время |
Ускорение |
Время |
Ускорение | ||
|
10000 |
0,001422 |
0,002210 |
0,643439 |
0,003270 |
0,434862 |
|
20000 |
0,002991 |
0,004428 |
0,675474 |
0,004596 |
0,650783 |
|
30000 |
0,004612 |
0,006745 |
0,683766 |
0,006873 |
0,671032 |
|
40000 |
0,006297 |
0,008033 |
0,783891 |
0,009107 |
0,691446 |
|
50000 |
0,008014 |
0,009770 |
0,820266 |
0,010840 |
0,739299 |

Рис. 9.5. Зависимость ускорения от количества процессоров при выполнении параллельного алгоритма пузырьковой сортировки
Как можно заметить из приведенных результатов вычислительных экспериментов, параллельный вариант алгоритмасортировкиработает медленнее исходного последовательного методапузырьковой сортировки, т.к. объем передаваемых данных между процессорами является достаточно большим и сопоставим с количеством выполняемых вычислительных операций (и этот дисбаланс объема вычислений и сложностиопераций передачи данныхувеличивается с ростом числа процессоров).
Сравнение
времени выполнения эксперимента
и
теоретической оценкиTpиз (9.6) приведено в таблицах.
|
| ||||
|
Количество элементов |
Параллельный алгоритм | |||
|
2 процессора |
4 процессора | |||
|
|
|
|
| |
|
10000 |
0,002003 |
0,002210 |
0,002057 |
0,003270 |
|
20000 |
0,003709 |
0,004428 |
0,003366 |
0,004596 |
|
30000 |
0,005455 |
0,006745 |
0,004694 |
0,006873 |
|
40000 |
0,007227 |
0,008033 |
0,006035 |
0,009107 |
|
50000 |
0,009018 |
0,009770 |
0,007386 |
0,010840 |

Рис. 9.6. График зависимости экспериментального и теоретического времени проведения эксперимента на двух процессорах от объема исходных данных
Литература:
1. В.П. Гергель. Теория и практика параллельных вычислений. http://www.intuit.ru/department/calculate/paralltp/4/2.html
2. Foster I Designing and Building Parallel Programs: Concepts and Tools for Software Engineering Reading, MA: Addison-Wesley, 1995
