Sunteți pe pagina 1din 2

ALGORITMI PARALELI

A. Performanta algoritmilor paraleli

Princlipalul criteriueste timpul de executie. Acesta este notat cu T(n,p) definde de 2 factori, n
este dimensiunea problemei(nr datelor de intrare) si p reprezinta numarul de procesoare.

1. Cresterea de viteza(speed-up), se noateaza cu Sx(n,p)=Ts(n)/Tx(np); x-algoritmul,


Ts(n) – timpul de executie al unui algoritm paralel;
Cresterea de viteza depinde deci de n si p, daca p este constant cresterea de viteza creste odata
cu n, daca n este constant, p creste cu nr de procesoare;
S(n,p)>=1
S(n,p)<=p (valoare ideala)
S poate fi mai mic decat 1 daca algoritmul se executa secvential pe cele p procesoare, pt ca se
pierde timp intre comunicatia de procesoare.

2. Eficienta

S x (n , p) T (n)
ε x ( n , p) = = s Eficienta are o valoare sbunitarea si algoritmul paralel x este cu
p p ∙ T x (n)
atat mai eficient cu cat eficienta tinde la 1

lim ε x (n , p)=1 daca pentru orice p constant ε =1


n→∞

3. Costul(volumul de lucru) W(n,p)=pT(n,p)

Este executia cumulata pe cele p procesoare. El poate fi comparat cu costul algoritmului


secvential W(n,p) – W(n,p), unde W(n,1)=Ts(n) arata timpul total suplimentar consumat in
executia paralela; W(n,1) – timpul consumat cu executia secventiala

' T xs (n , p)
4. Eficienta relativa este notata cu ε x (n , p) = unde xp- varianta paralela a unui
p T xp (n , p)
algoritm; xs- varianta secventiala a unui algoritm
5. Viteza relativa – compara doi algoritmi ce se executa pe aceeasi arhitectura, cu acelasi
nr de procesoare
T (n)
Sr ( n ) = y , daca Sr >1 algoritmul y este mai lent decat algoritmul x
T x (n)
P y T y (n)
6. Volumul de lucru relativ W r (n)= este un indicator ce indicadaca 2 algoritmi
P x T x (n)
paraleli x si y se executa pe acelasi tip de arhitectura dar cu nr de procesoare diferit, Px,
Py – nr de procesoare
B. Overhead-ul

1−ε ≜ ineficienta

Overheadul reprezinta cumulul de factori care micsoareaza eficienta

1. Overheadul algoritmic – cu cat ε este mai mic,ineficienta este mai mare. Se datoreaza
partilor eminente secventiale ale algoritmului sau parti ce nu se pot paraleliza sau
operatii suplimentare efectuate in algoritmul paralel fata de algoritmul secvential.
2. Overheadul supraincarcare ilegala a procesoarelor - in cazul ideal procesoarele sunt
incarcate unifom cu calcule astfel incat fiecare procesor sa execute acelasi numar de
operatii. Daca unele au mai mult de lucru, timpul de executie creste.
3. Overheadul de comunicatii – se datoreaza comunicatiei intre procesoare ceea ce duce la
cresterea ineficientei
4. Overheadul software - se datoreaza repetarii unor operatii ce se executa o singura data
in cazul secvemtial dar care se repeta pe fiecare procesor al arhitecturii paralel
Tp=Ta+Tc+Tl
Tp - timpul de executie al algoritmului paralel
Ts
Ta - timpul de executie operatiilor aritmetice; Ta ≅ , unde Ts este timpul secvential se
p
executei pe un procesor si se presupune ca procesoarele sunt incarcate echilibrat
Tc=Tp-Tnc – timpul pierdut pt comunicatii, Tnc este timpul de executie al unui algoritm
in care nu se efectueaza comunicatii
Tl=Tnc-Ta – timpul pierdut in executia paralela din cauza incarcatii inegale a
procesoarelor
Tnc
a. Overhead de comunicatii Oc=1−
Tp
Deoarece protocolul de comunicatii implica sincronizare, mai ale la arhitectura cu
memorie distribuita, o parte a acestuia se datoreaza timpulu mort de asteptare a
sincronizarii;

Ts
b. Overheadul de incarcare inegala software si algoritmic Ol=(Tnc− )/Tp
p

S-ar putea să vă placă și