Documente Academic
Documente Profesional
Documente Cultură
+
= =
+ =
1
1
) 1 (
f
S
p
1
lim =
Legea lui Amdahl - Accelerarea
functie de numarul de procesoare
Numar procesoare
Accelerarea S
ideal
real
S=p
S<p
p
1/f
Exemplu
Problema: adunarea a n numere pe p procesoare
n
p p
p
S
E
p
p
n
n
T
T
S
p
p
n
T
t t
p t t
p
n
t T
P
S
P
comm add
comm add add P
log 2
1
1
log 2
log 2
1 : timp de e cu valoril masina o presupunem
log ) (
+
= =
+
= =
+ =
= =
+ + =
Din: [Grama,Gupta,Kumar&Karypis]
Din: [Grama,Gupta,Kumar&Karypis]
Relatia: Eficienta Numar
procesoare - Dimensiunea problemei
Pentru o dimensiune fixa a problemei, Eficienta
E scade odata cu cresterea numarului de
procesoare p
Pentru un numar fix de procesoare, eficienta E
poate sa creasca daca creste dimensiunea
problemei
Scalabilitate: pastrarea eficientei E constante
prin cresterea simultana a dimensiunii
problemei si numarului de procesoare
p creste la p
Cat trebuie sa creasca n asffel incat
E(n,p)=E(n,p)
Izoeficienta
Functia de izoeficienta: specifica rata de
crestere a dimensiunii problemei necesara
pentru a mentine constanta eficienta, odata
cu cresterea numarului de procesoare
Sisteme nescalabile: nu se poate determina functia de
izoeficienta (nu exista): eficienta nu poate fi mentinuta
constanta la cresterea numarului de procesoare
Sistem eficient scalabil: functie de izoeficienta mica: ex
O(p): dimensiunea problemei trebuie sa creasca liniar cu
numarul de procesoare
Sistem greu scalabil: functie de izoeficienta mare: ex
O(2^p): dimensiunea problemei trebuie sa creasca
exponential cu numarul de procesoare
Cum se defineste dimensiunea
problemei ?
Definitia trebuie aleasa astfel incat dimensiunea
sa fie direct proportionala cu volumul calculelor
Dimensiunea problemei = W= numarul total de
operatii necesare rezolvarii problemei
Exemplu: pentru inmultirea a 2 matrici cu n*n
elemente, dimensiunea problemei este W=O(n^3)
Dimensiunea problemei = W = Ts = timpul de
executie al celui mai performant algoritm
secvential
Calculul functiei de izoeficienta
) , (
1
) (
0
0
0
p W T
E
E
p W
E
W T
W
p
S
E
W T
p W
T
T
S
p
W T
T
W T p T T p T
O
O
O P
S
O
P
P S P O
=
=
+
= =
+
= =
+
=
= =
Exemplu calcul functie izoeficienta
Problema: adunarea a n numere pe p procesoare
log
log
la creasca sa trebuie ) curent, exemplului cazul (in
datelor a dimensiune atunci la la de creste procesoare
de numarul daca constanta, eficienta pastra a pentru
scalabil alg valoare orice pentru exista ) (
log 2
1
log 2
log 2
, ,
,
,
0
0
0
p p
p p
n n
n
p p
E p W
p p K T
E
E
W
p p T T p T
n T
p
p
n
T
O
S P O
S
P
=
=>
=
=
= =
=
+ =
Problema: procesarea imaginilor n*n pe p procesoare
) ( ) (
1
unde ), ( 2
) ( 2
) ( 2
) ( 2 9
9
2
0
0
2
2
2
p O p W
E
E
K W t t p K W
n W
n t t p K T K W
n t t p T T p T
n t t
p
n
c T
n c T
w S
w S O
w S S P O
w S P
S
=
= + =
=
+ = =
+ = =
+ + =
=
Exemplu calcul functie izoeficienta
Problema: procesarea imaginilor n*n pe p procesoare
16 , 256
2 2
4 4
64
4
64 , 8
2
) ( ) (
2
2
1
2
2
1 2
2
1 1
1
2
2
= =
= =
=
= =
=
=
=
n
p
p
W W
p
W n
p
p O p W
n W
Exemplu calcul functie izoeficienta
Exemplu calcul functie izoeficienta
Problema: procesarea imaginilor n*n pe p procesoare
0 1
0 1 2 3
0 1 2 3
p1=2
n1=8, W1=64
p2=4
n2=16, W2=256
E2=E1
p3=4
n3=8, W3=64
E3<E1
Calcul intuitiv functie izoeficienta
e temporar ti inactivita si i comunicati de cauzata na suprasarci si
ca crestere de rata aceeasi aiba sa trebuie efectiv calcul de timpul
insumat paralel executie de timpul si ca
crestere de rata aceeasi aiba sa r trebuie uniproceso executie de timpul
: ate scalabilit Conditie
procesoare p celor al insumat executie de timpul
procesor 1 pe executie de timpul
=
+ +
=
=
=
calcul S
idle i comunicati calcul
S
P
S
T T
ct E
T T T
T
E
T p
T
E
Exemplu calcul intuitiv functie
izoeficienta
Problema: procesarea imaginilor n*n pe p procesoare
0 1
0
1 2 3
0 1 2 3
p1=2
n1=8
p2=4
n2=16
p3=4
n3=8
Tcalcul2=4*Tcalcul1
Tcomunic2=4*Tcomunic1
E2=E1
Tcalcul3=1*Tcalcul1
Tcomunic3=2*Tcomunic1
E3<E1
Tcalcul1=Ts=8*8
Tcomunic1=2*2*8