Você está na página 1de 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 ( )
( ) ( ) ( )

Eficienta are o valoare sbunitarea si algoritmul paralel x este cu atat

mai eficient cu cat eficienta tinde la 1 ( ) daca pentru orice p constant

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 4. Eficienta relativa este notata cu

( (

) )

unde xp- varianta paralela a

unui algoritm; xs- varianta secventiala a unui algoritm 5. Viteza relativa compara doi algoritmi ce se executa pe aceeasi arhitectura, cu acelasi nr de procesoare ( )
( ) ( )

, daca

algoritmul y este mai lent decat algoritmul x

6. Volumul de lucru relativ

este un indicator ce indicadaca 2 ( ) algoritmi 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

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 Ta - timpul de executie operatiilor aritmetice;

, unde Ts este timpul secvential

se 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 a. Overhead de comunicatii 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;

b. Overheadul de incarcare inegala software si algoritmic

Você também pode gostar