1 Indicatori de performantele ai calculului paralel

Σχετικά έγγραφα
Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

Metode iterative pentru probleme neliniare - contractii

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Curs 4 Serii de numere reale

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

Curs 1 Şiruri de numere reale

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

MARCAREA REZISTOARELOR

riptografie şi Securitate

Metode de interpolare bazate pe diferenţe divizate

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.


Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Aplicaţii ale principiului I al termodinamicii la gazul ideal

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Sisteme diferenţiale liniare de ordinul 1

5.4. MULTIPLEXOARE A 0 A 1 A 2

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Noţiuni introductive

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

Examen AG. Student:... Grupa: ianuarie 2016

Laborator 11. Mulţimi Julia. Temă

Subiecte Clasa a VIII-a

Profesor Blaga Mirela-Gabriela DREAPTA

Integrala nedefinită (primitive)

Subiecte Clasa a VII-a

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Valori limită privind SO2, NOx şi emisiile de praf rezultate din operarea LPC în funcţie de diferite tipuri de combustibili

Esalonul Redus pe Linii (ERL). Subspatii.

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

a. 11 % b. 12 % c. 13 % d. 14 %

Problema a II - a (10 puncte) Diferite circuite electrice

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Aparate de măsurat. Măsurări electronice Rezumatul cursului 2. MEE - prof. dr. ing. Ioan D. Oltean 1

Examen AG. Student:... Grupa:... ianuarie 2011

I. Noţiuni introductive

Asupra unei inegalităţi date la barajul OBMJ 2006

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

Seminar 5 Analiza stabilității sistemelor liniare

V O. = v I v stabilizator

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

prin egalizarea histogramei

Capitolul ASAMBLAREA LAGĂRELOR LECŢIA 25

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

1.3 Baza a unui spaţiu vectorial. Dimensiune

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

Laborator 6. Integrarea ecuaţiilor diferenţiale

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă

Criptosisteme cu cheie publică III

Curs 2 Şiruri de numere reale

Modelare şi simulare Seminar 4 SEMINAR NR. 4. Figura 4.1 Reprezentarea evoluţiei sistemului prin graful de tranziţii 1 A A =

III. Reprezentarea informaţiei în sistemele de calcul


SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Fig Impedanţa condensatoarelor electrolitice SMD cu Al cu electrolit semiuscat în funcţie de frecvenţă [36].

Curs 2 DIODE. CIRCUITE DR

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Principiul Inductiei Matematice.

TEMA 9: FUNCȚII DE MAI MULTE VARIABILE. Obiective:

Geometrie computationala 2. Preliminarii geometrice

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

z a + c 0 + c 1 (z a)

Proiectarea filtrelor prin metoda pierderilor de inserţie

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

a. Caracteristicile mecanice a motorului de c.c. cu excitaţie independentă (sau derivaţie)

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

a) (3p) Sa se calculeze XY A. b) (4p) Sa se calculeze determinantul si rangul matricei A. c) (3p) Sa se calculeze A.

Curs 4. RPA (2017) Curs 4 1 / 45

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Arhitectura Calculatoarelor

Olimpiada Naţională de Matematică Etapa locală Clasa a IX-a M 1

Exemple de probleme rezolvate pentru cursurile DEEA Tranzistoare bipolare cu joncţiuni

Statisticǎ - curs 3. 1 Seria de distribuţie a statisticilor de eşantioane 2. 2 Teorema limitǎ centralǎ 5. 3 O aplicaţie a teoremei limitǎ centralǎ 7

Capitolul 2 - HIDROCARBURI 2.4.ALCADIENE

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4

5.1. Noţiuni introductive

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

Ovidiu Gabriel Avădănei, Florin Mihai Tufescu,

8 Intervale de încredere

CIRCUITE INTEGRATE MONOLITICE DE MICROUNDE. MMIC Monolithic Microwave Integrated Circuit

1. PROPRIETĂȚILE FLUIDELOR

CIRCUITE LOGICE CU TB

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

Tabelul tranziţiilor este prezentat mai jos. La construirea sumatorului folosim bistabile de tip JK: (3.1)

Transcript:

Indicatori de performantele ai calculului paralel Datorita complexitatii calculului paralel este greu de a stabili o masura a performantelor care sa stabileasca real si absolut performantele unui sistem cu arhitectura paralela. Totusi sunt utilizati citiva indici care masoara diferite aspecte globale.. Rata de executie - masoara rata de producere a unor rezultate in unitatea de timp. Uzual se foloseste : MIPS - milioane de instrucrtiuni pe secunda care masoara numarul de instructiuni pe care le executa pe secunda o unitate de prelucrare momo sau multiprocesor. Un asfesl de indice este inadecvat pentru o masina SIMD care executa aceeasi instructiune pe mai multe fluxuri de date. MOPS - milioane de operatii pe secunda care masoara operatiile efectuate de unitatile de prelucrare. O astfel de unitate de masura nu tine seama de lungimea cuvintului si nici de natura operatiilor. MFLOPS - milioane de operatii cu virgula mobila pe secunda (Giga) care masoara operatiile cu virgula mobila efectuate (Tera) de unitatile de prelucrare.o astfel de masura este adecvata numai pentru aplicatii numerice dar nu reprezinta nici un fel de masura pentru prelucrari alfanumerice sau pentru aplicatii bazate pe intaligenta artificiala. MLIPS milioane de inferente logice pe secunda care masoara numarul de inferente logice realizate in aplicatii de IA.2 Viteza de prelucrare - Vp T Vp = unde Tp T - timpul necesar pentru prelucrare utilizind un singur procesor Tp - timpul necesar pentru prelucrare utilizind p procesoare Cu alte cuvinte, Vp reprezinta raportul intre prelucrarea secventiala si cea paralela care scoate in evidenta cresterea in viteza datorita paralelismului. p*tp >> T deoarece se consuma timp cu sincronizarea, comunicarea si "overhead" cerut de interactiunea intre procesoare. Vp < p

.3 Eficienta Ep Este definita ca raportul intre viteza de prelucrare si numarul de procesoare. Vp T Ep = = < Eficienta este o masura a eficientei costului. p p*tp.4 Redundanta Rp Este definita ca raportul intre numarul total al operatiilor Op necesar efectuarii calculului cu p procesoare si numarul de operatii O necesar efectuarii calculului cu un singur procesor. Op Rp = reflecta timpul pierdut cu overhead-ul. O.5 Utilizarea Up Este definita ca raportul dintre numarul de operatii Op necesar efectuarii calculului cu p procesoare si numarul de operatii care ar fi putut fi efectuate cu p procesoare in timpul Tp Op Up = p*tp 2 Modele matematice ale calculului paralel Este foarte important a stabili modele ale calculului paralel in vederea stabilirii limitei calculului paralel. Fie Tn timpul necesar executiei a n taskuri de k tipuri diferite. Fiecare tip consta din ni taskuri necesitind ti secunde fiecare In acest caz k k Tn = Σ (ni*ti) iar n = Σ ni i= i= Prin definitie, rata de executie R este numarul de operatii efectuate in unitatea de timp n n Rn= ----- = --------- k Tn Σ (ni*ti) i= 2

Fie fi=ni/n k Σ fi = i= Ri = ------ ti In acest caz rezulta n Rn= --------- = ----------------- = k k k Σ (ni*ti) Σ (ni/n*ti) Σ (fi/ri) i= i= i= Aceasta relatie reprezinta "bottleneck" - "gituirea", limitarea in structurile paralele. Rata de executie a unui task poate domina performantele masinii. 3 Legea lui Amdhal Inca din 967 Gene Amdahl a introdus o lege care ii poarta numele privind rata de executie. El propune o formula prin care stabileste o limita a cresterii de viteza a structurilor paralele in raport cu structurile monoprocesor. Fie: Rh rata de executie pe structura paralela Rl rata de executie pe structura monoprocesor f procentul secventei de instructiuni executata in paralel -f procentul secventei de instructiuni executata secvential In acest caz formula de baza este : R(f) = ----------------- f/rh + (-f)/rl Rl - poate fi stabilita de I/E sau operatii de comunicatie sau executie secvente critice care se exclud reciproc Rh -poate fi stabilita de prelucrari concurente pe procesoare distincte O forma redusa a acestei formule ar putea fi exprimata astfel : Fie p procesoare L lungimea toata a programului S lungimea sectiunii secventiale timp calcul procesor L R = ---------------------------------------- = ------------- timp calcul pentru p procesoare S + (L-S)/p pentru p >>> rezulta R = L / S 3

Indiferent de numarul de procesoare cresterea de viteza este limitata de caracteristicile intrinseci ale programului. Exemplu: Fie un sistem de calcul multiprocesor care poate executa 00 Mflops utilizand procesoarele de care dispune si poate executa Mflops activitatile secventiale. Care este performanta sistemului cand executa un program care contine 90% din cod care se poate executa in paralel si 0% din cod care se executa secvential Rezolvare: Utilizand legea lui Amdahl: R(f) = ----------------- f/rh + (-f)/rl R(f) = ----------------- = -------- = 9.7 Mflops 0.9/00 + 0./ 0.09 Sa consideram ca masina executa Gflops utilizand procesoarele de care dispune si poate executa Mflops activitatile secventiale. R(f) = ----------------- = -------- = 9.9 Mflops 0.9/000 + 0./ 0.009 Exemplu: Un algoritm secvential prelucreaza o matrice A[n,n] in n 3 /3 n 2 /6 unitati de timp. Fiind date p procesoare, timpul necesar este n(n 2 -)/2p Sa se calculeze Vp 2 Care este eficienta algoritmului cand n >>> 3 Pentru ce valoare a lui n algoritmul se apropie cu 5% de eficienta maxima n 3 /3 n 2 /6 n p (2n-) Vp = --------------- = ------------------- n(n 2 -)/2p 3 (n 2 -) Vp n (2n-) Ep= -------- = ------------ Cand n >>> rezulta Ep = 2/3 P 3 (n 2 -) 4

Vp n (2n-) 95 Ep= -------- = ------------ = -------- P 3 (n 2 -) 00 200n 2-00n=285 n 2 285 85 n 2 +00n -285=0 n= 2.670067 deci n=2 4 Limite ale calculului paralel In 986 Jack Worlton a studiat limitele calculului paralel utilizind un model care aproximeaza operarea unui multiprocesor. El presupune ca un program paralel consta din : sectiuni de prelucrare distribuite pe diverse procesoare; sectiuni de sincronizare; sectiuni care se executa secvential si constituie un "overhead". Sa definim : ts timpul de sincronizare; to sectiune de overhead t media timpului de executie a unui task N numarul de task-uri (intre puncte de sincronizare) P numarul de procesoare Timpul de executie secvential al celor N task-uri este : T = N*t Timpul de executie a celor N task-uri executate pe p procesoare este : Tn,p = ts + ( n / p )*(t+to) Viteza de prelucrare N*t Vn,p = T / Tn,p = ---------------------------- = ts + ( N / p )*(t+t0) = ----------------------------------------------- ts / (N*t) + (/N)*( N / p )*(+(t0/t)) Observatii: Pentru a creste viteza de prelucrare trebuie sa avem in vedere reducerea efectului sincronizarii, overhead-ului si a numarul de pasi N / p 5

efectul sincronizarii cauzat de ts/(n*t) poate fi redus fie prin micsorarea timpului de sincronizare ts sau prin marirea intervalului intre sincronizari N*t efectul overhead-ului cauzat de to/t poate fi redus prin reducerea timpului de overhead to sau prin cresterea granularitatii task-urilor. Cresterea granularitatii task-urilor ajuta la reducerea atit a efectului sincronizarii cit si a overheadului. numarul pasilor de calcul N / p poate fi redus prin cresterea numarului de procesoare si avind un numar de task-uri multiplu de procesoare. Eficienta Vn,p En,p= -------- p Presupunind ca avem un numar mare de task-uri si ca overhead-ul este neglijabil relativ la granularitate avem : p >>>> N fix N Vn,p = ------ si En,p= 0 ts/t N >>>> p fix P Vn,p = ---------- si En,p = ----------- + t0/t + t0/t 5 Nivelurile de paralelism Paralelismul poate fi examinat la multe niveluri in functie de complexitatea dorita. Frecvent gasim descrierea paralelismului la nivelurile: job; J = { JOB,., JOB m } task; JOBi = { Ti,...,Ti n } proces; Tik = { Pik,Pik2,..., Pikp} variabila; bit. 5. Nivel de job Se executa doua sau mai multe programe independente pe resurse de procesare distincte. 5.2 Nivel de task-uri JOB={T,..., Tn}. Fiecare Ti se executa pe cite un procesor distinct insa exista o relatie intre Ti si Tj in ceea ce priveste 6

transferul de date sau completarea functiilor de prelucrare realizate in cadrul job-ului. Exemplu: Consideram un robot care are mai multe grade de libertate. Pentru fiecare grad de libertate exista un procesor. Programul de conducere a robotului este partitionat in task-uri care se ocupa de cite un grad de libertate al robotului. Taskurile se executa in paralel, dar interactioneaza pentru miscarea robotului. 5.3 Nivel de proces Ti={Pi, Pi2,..., Pip} Task-urile sunt alcatuite din mai multe procese care in general sunt identificate de utilizator sau de catre compilator daca acesta este destinat pentru structuri multiprocesor. Sa consideram task-ul For i= to n x(i)=x(i-2)+y(i-2) y(i)=x(i-2) * y(i-) suma(i)=x(i) +y(i) if s(i) > a then c=c+ else d=d+ In cadrul acestui task identificam doua procese: P(i) x(i)=x(i-2)+y(i-2) y(i)=x(i-2) * y(i-) P2(i) suma(i)=x(i) +y(i) if s(i) > a then c=c+ else d=d+ Intre P(i) si P2(i) exista o dependenta de date, deci nu pot fi efectuate in paralel Insa P(i) si P2(i-) pot fi efectuate in paralel Interdependenta intre aceste procese este urmatoarea: P x(i)=x(i-2)+y(i-2) y(i)=x(i-2) * y(i-) i-2 i- i i+ Se pot executa simultan: P(i) si P2(i-) P2 suma(i)=x(i) + y(i) if sum a(i) > a then c=c+ else d=d+ 7

5.4 Nivel de variabila Pi= { Ii,.Iik} Fiecare proces este format dintr-uo multime de instructiuni care pot calcula variabilele de iesire in functie de variabilelel de intrare. Paralelismul in cadrul unui proces se poate realiza prin calculul simultan a mai multe variabile de iesire. In exemplul anterior putem considera ca in cadrul procesului P variabilele x(i) si y(i) se pot calcula in paralel sau x(i) si y(i+) se pot calcula in paralel i-2 i- i i+ i+2 x(i)=x(i-2)+y(i-2) y(i)=x(i-2) * y(i-) 5.5 Nivel de bit Toate calculatoarele, cu foarte putine exceptii, utilizeaza unitati aritmetice paralele cu sau fara anticiparea transportului si cu structura pipe line. 6 Relatia intre algoritmi paraleli si arhitecturi paralele Prelucrarea paralela include atit algoritmi paraleli cit si arhitecturi paralele. Un algoritm paralel poate fi considerat ca o colectie de procese independente care se executa simultan, procesele comunicind in timpul executiei. Astfel un algoritm se executa pe unitati functionale hardware care in general constau din elemente de procesare; module de transfer date. Ceea ce intereseaza este cum se transpun procesele pe unitatile functionale hardware. H.T.Kung a fost unul din primii care au studiat relatia intre algoritmi si arhitectura. A stabilit citeva caracteristici si a prezentat corelarea intre ele: 8

Algoritmi paraleli granularitate modul control concurent mecanismul datelor geometria comunicatiei.complexitate algoritm Arhitecturi paralele complexitate procesor mod de operare structura memoriei retele de comutare numar de procesoare; dimensiune memorie Sa specificam foarte sumar caracteristicile elementelor prezentate Granularitate modul - se refera la complexitatea modulului care poate fi job, task, proces sau instructiune.de obicei exista posibilitati de paralelism la o granularitae mare dar care nu este exploatat deoarece implica o comunicatie intensa si o crestere a complexitatii software-ului.la acest nivel se face o analiza intre granularitate si comunicatie pentru a stabili solutia cea mai buna. Control concurent se refera la schema de selectie a modulelor pentru executie. Aceasta trebuie sa satisfaca dependenta de date si dependenta de control (asigurarea excluderii mutuale la o aceeasi resura). Citeva scheme de control sunt bazate pe: disponibilitatea datelor (data flow) control centralizat (sinchronized) cereri (demand-driven). De exemplu algoritmii cu matrice se potrivesc foarte bine pe procesoarele sistolice sau pe masive de procesoare iar algoritmii care au transferuri conditionate si alte iregularitati se potrivesc foarte bine pe arhitecturi asincrone cum ar fi multiprocesoare si data-flow. Mecanismul datelor se refera la faptul cum sunt utilizati operanzii. Datele furnizate de instructiuni pot fi utilizate ca "date pure" in structurile data-flow sau pot fi depuse in locatii adresabile in masinile Von Neumann. Geometria comunicatiei - se refera la sablonul de interactiune intre module. Poate fi regulata sau neregulata. Dimensiune algoritm se refera la numarul de operatii necesare pentru implementarea algoritmului. Are influenta asupra numarului de procesoare si dimensiunii memoriei. 9