Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
28.03.2016
Размер:
609.79 Кб
Скачать

Показатели эффективности параллельного алгоритма…

Стоимость (cost) вычислений

Cp pTp

Стоимостно-оптимальный (cost-optimal) параллельный алгоритм - метод, стоимость которого является пропорциональной времени выполнения наилучшего последовательного алгоритма.

21 из 58

Пример: Вычисление частных сумм…

Задача нахождения частных сумм последовательности числовых значений

(prefix sum problem):

k

Sk xi ,1 k n

i 1

Задача вычисления общей суммы имеющегося набора значений:

n

S xi

i 1

22 из 58

Пример: Вычисление частных сумм…

Последовательный алгоритм суммирования элементов числового вектора

n

 

S xi ,

G1 (V1, R1 )

i 1

 

Данный "стандартный" алгоритм суммирования допускает только строго последовательное исполнение и не может быть распараллелен

23 из 58

Пример: Вычисление частных сумм…

Каскадная схема суммирования

G2 (V2 , R2 )

V2 = { (vi1,…,vili), 0≤i≤k, 1≤li≤2-in } есть вершины графа,

(v01,…, v0n) есть операции ввода,

(v11,…,v1n/2) есть операции первой итерации и т.д.,

R2 = { (vi-1,2j-1vij),(vi-1,2jvij), 1≤i≤k, 1≤li≤2-in } есть множество дуг графа.

24 из 58

Пример: Вычисление частных сумм…

Количество итераций каскадной схемы суммирования:

klog2 n

Общее количество операций суммирования:

Kпосл n / 2 n / 4 ... 1 n 1

При параллельном исполнении отдельных итераций каскадной схемы общее количество параллельных операций суммирования является равным:

Kпар log2 n

25 из 58

Пример: Вычисление частных сумм…

Показатели ускорения и эффективности каскадной схемы алгоритма суммирования:

S p T1Tp (n 1) / log2 n,

Ep T1 pTp (n 1)( p log2 n) (n 1)((n / 2) log2 n),

где p=n/2 есть необходимое для выполнения каскадной схемы количество процессоров.

время параллельного выполнения каскадной схемы совпадает с оценкой для паракомпьютера (теорема 2),

эффективность использования процессоров уменьшается при увеличении количества суммируемых значений:

 

lim Ep 0 при

n

 

 

 

 

Н.Новгород, 2005 г.

Основы параллельных вычислений: Моделирование и анализ параллельных

26 из 60

 

 

вычислений

 

© Гергель В.П.

Пример: Вычисление частных сумм…

Модифицированная каскадная схема:

Все суммируемые значения подразделяются на (n/log2n) групп, в каждой из которых содержится (log2n) элементов; для каждой группы вычисляется сумма значений при помощи последовательного алгоритма суммирования;

На втором этапе для полученных (n/log2n) сумм отдельных групп применяется обычная каскадная схема:

27 из 58

Пример: Вычисление частных сумм…

Для выполнения первого этапа требуется (log2n)

выполнение параллельных операций при использовании p= (n/log2n) процессоров

Для выполнения второго этапа необходимо log2(n/log2n)≤log2n параллельных операций для p=(n/log2n)/2

процессоров

Время выполнения параллельного алгоритма составляет

TP 2 log2 n

для p= (n/log2n) процессоров.

28 из 58

Пример: Вычисление частных сумм…

С учетом полученных оценок показатели ускорения и эффективности модифицированной каскадной схемы определяются соотношениями:

S p T1Tp (n 1)2 log2 n,

Ep T1 pTp (n 1)(2(n / log2 n) log2 n) (n 1)2n

По сравнению с обычной каскадной схемой ускорение уменьшилось в 2 раза,

Для эффективности нового метода суммирования можно получить асимптотически ненулевую оценку снизу:

Ep (n 1) / 2n 0.25, lim Ep 0.5 при n .

Модифицированный каскадный алгоритм является стоимостно- оптимальным (стоимость вычислений пропорциональна времени выполнения последовательного алгоритма):

C p pTp (n / log 2 n)(2 log 2 n) 2n

29 из 58

Пример: Вычисление частных сумм…

Вычисление всех частных сумм…

Вычисление всех частных сумм на скалярном компьютере может быть получено при помощи обычного последовательного алгоритма суммирования при том же количестве операций

T1 n

При параллельном исполнении применение каскадной схемы в явном виде не приводит к желаемым результатам.

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

30 из 58

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