Новости
О Центре
Кластер
Обучение
Основной курс по параллельному программированию
Учебные курсы
Магистратура
Дополнительное образование
Работы студентов
Библиотека
Исследования
Конференции
Полезные ссылки
NVIDIA
Контакты
О сайте
Имя:
Пароль:
запомнить:
Забыли пароль? Регистрация

Анализ эффективности

Анализ эффективности параллельного алгоритма Флойда проведем в два этапа. На первом этапе оценим порядок вычислительной сложности алгоритма, затем на втором этапе уточним полученные оценки и учтем трудоемкость коммуникационных операций.

Общая трудоемкость последовательного алгоритма равна n3. Для параллельного алгоритма на отдельной итерации каждый процессор выполняет обновление элементов матрицы A. Всего в подзадачах n2/p таких элементов (p – число процессоров), число итераций алгоритма равно n, таким образом, показатели ускорения и эффективности параллельного алгоритма Флойда имеют вид:

Sp = n3/(n3/p) = p,

Ep = n3/(p(n3⁄p)) = 1.

Таким образом, общий анализ сложности дает идеальные показатели эффективности параллельных вычислений. Для уточнения полученных соотношений введем в полученное выражения время выполнения базовой операции выбора минимального значения и учтем затраты на выполнение операций передачи данных между процессами.

Коммуникационная операция, выполняемая на каждой итерации алгоритма Флойда, состоит в передаче одной из строк матрицы A всем процессорам вычислительной системы. Выполнение такой операции может быть выполнено за log2 p шагов. С учетом количества итераций алгоритма Флойда длительность выполнения коммуникационных операций может быть определена как

Tp(comm) = n log2 p (α + wn/β),

где α – латентность сети передачи данных, β – пропускная способность сети, w – размер элемента матрицы в байтах.

С учетом полученных соотношений общее время время выполнения параллельного алгоритма Флойда составляет

Tp = n2(n/p) τ + n log2 p (α + wn/β),

где τ есть время выполнения операции выбора минимального значения.

Новости

22.10.2012
04.09.2012
05.04.2012
06.03.2012
02.03.2012