ZŁOŻONOŚĆ ALGORYTMÓW RÓWNOLEGŁYCH

Download Report

Transcript ZŁOŻONOŚĆ ALGORYTMÓW RÓWNOLEGŁYCH

ZŁOŻONOŚĆ
ALGORYTMÓW RÓWNOLEGŁYCH
T - czas wykonania programu równoległego
to czas od momentu gdy pierwszy procesor rozpoczyna wykonanie programu
do momentu gdy ostatni procesor zakończy wykonywanie programu
T = f ( N, P, U, ....)
N - rozmiar problemu
P - liczba procesorów
U - liczba procesów ( zadań )
Dwa sposoby definiowania T :
(1) T = Tjcomp + Tjcomm + Tjidle
(2) T = ( Tcomp + Tcomm + Tidle ) /P
T=
P  i 0
 T i comp
1  P 1
(**)
T
i 0

P 1
T
i 0
comm
i

P 1
idle
i



Tcomm = Tsend + Trecv = Tmsg
Tmsg = ts + tw * L
Podstawowe operacje komunikacyjne
i ich złożoność na różnych architekturach
P'
1
2
.....
Oznaczenia :
m - rozmiar wiadomości
d
- długość drogi
tk
- czas przesłania nagłówka wiadomości
m tw - czas przesłania reszty wiadomości
ts
- czas startu
Tmsg= ts + (mtw + tk) * d
Tmsg = ts + mtw * d
d
P''
dla jednego "odcinka"
P - liczba procesów
• Procesy tworzą pierścień (ring) d  P/2
Tmsg = ts + tw*m*P/2
• Procesy tworzą siatkę dwuwymiarową (mesh) d  2 * P/2 
Tmsg = ts + 2 * tw*m* P /2
• Procesy tworzą kostkę (hypercube) d  logP
Tmsg = ts + tw*m* logP
Przyśpieszenie
S = TS/ TP
TS - złożoność czasowa najszybszego algorytmu sekwencyjnego
TP - złożoność czasowa algorytmu równoległego
Przykład : DOD
Dane : N procesorów (kostka), Pi posiada jedną liczbę rzeczywistą Xi
Wynik : X1 + ... + XN w P0
TS(DOD) = ( N )
TP(DOD) = ( logN )
S(DOD) =  ( N/logN )
Uwagi:
• S p
p - liczba procesorów
• S=p
idealny równoległy komputer może...
Efektywność
E = S/p
Przykład :
E(DOD) =  ( 1/logN )
Uwagi :
• E = 1 w idealnym systemie
• 0<E<1
• E = TS / (p*TP)
Koszt
Kpar = TP * p
Równoległy algorytm jest optymalny ze względu na koszt jeśli
jego Kpar jest proporcjonalny do TS
E = (1)
dla optymalnych systemów
Kpar(DOD) = ( NlogN )
Stąd algorytm nie jest optymalny ze względu na koszt.