Documente Academic
Documente Profesional
Documente Cultură
Monitorizarea Proceselor Industriale - C9
Monitorizarea Proceselor Industriale - C9
4/29/2013
Paralelism
In general, structurile cu arhitecturi paralele au indici de performant diferiti pentru diverse categorii de probleme, motiv pentru care s-au dezvoltat maini dedicate aplicaiilor.
Algoritm
Pro ble ma
de imple menta re
4/29/2013
Domenii de aplicatii
Aplicatii tipice: cele care necesita procesari complexe pe volum mare de date Modelare si simulare: prognoza meteo, dinamica moleculara Inteligenta artificiala: retele neuronale, cautare Grafica Multimedia, realitate virtuala, cinematografie Motoare de cautare (ex: AltaVista 10 procesoare)
Precizari
Algoritmii paraleli se construiesc reproiectnd algoritmii seriali astfel ca s foloseasc resursele specifice ale sistemului de calcul paralel. Nu toi algoritmii seriali pot fi paralelizai. O analogie exemplificativ: o femeie nate un copil n decursul a nou luni, dar nou femei nu pot nate un copil n decurs de o lun. n practic este foarte dificil de obinut o mrire linear a vitezei de calcul, proporional cu numrul de procesoare. Aceasta deoarece cei mai muli algoritmi sunt prin natura lor secveniali. Unele probleme pot beneficia de pe urma paralelismului de tip "n secven" (pipeline ), atunci cnd sunt adugate noi procesoare. n acest caz, pentru a submpri problema se folosete abordarea de tip "linie de asamblare". Dac problema poate fi mprit n n etape i un rezultat parial este pasat de la etap la etap, atunci pot fi folosite n paralel tot n procesoare, dar cea mai nceat etap le va frna pe celelalte, i deci cele n procesoare se vor folosi doar rareori la capacitatea lor total teoretic maxim.
4/29/2013
Terminologie
Task: o seciune logic independent dintr-o problem de rezolvat, programat pe un calculator aproape ca un program de sine stttor. Sincronizare: coordonarea sarcinilor simultane (task-urilor) pentru a evita dezordinea n recepionarea rezultatelor pariale, i pentru a asigura corectitudinea rezultatului final. Speedup (pronunie aproximativ: 'spiid-'ap): denumit i parallel speedup, arat de cte ori este mai rapid un algoritm paralel dect algoritmul serial corespunztor. Scalabilitate: abilitatea unui sistem de calcul paralel de a-i mri viteza total de calcul atunci cnd se adaug procesoare suplimentare. n general nu se atinge o scalabilitate perfect, proporional cu numrul total de procesoare.
4/29/2013
Muli factori tehnici au impact asupra performanei atinse de programarea paralel. Astfel, sarcina de echilibrare automat a procesoarelor paralele ncearc s in toate procesoarele la fel de ocupate, mutnd la nevoie sarcinile curente de la procesoarele mai ncrcate la cele mai puin ncrcate. Unii consider programarea n calcul paralel ca fiind sinonim cu programarea concurent. Alii fac deosebire ntre programarea n calcul paralel, pe de-o parte, care folosete abloane bine definite i structurate de comunicaie ntre procese i se axeaz pe execuia n paralel a proceselor, i pe de alt parte programarea concurent, care de obicei implic definirea de noi abloane de comunicaie ntre procese care au fost fcute concurente. n ambele cazuri comunicaia se face ori prin memoria partajat ori prin schimburi de mesaje corespunztoare ntre sarcini. Programele care lucreaz corect ntr-un sistem cu un singur procesor ar putea s nu funcioneze bine ntr-un mediu paralel. Aceasta pentru c multiple copii ale aceluiai program pot interfera ntre ele, de exemplu accesnd aceeai zon de memorie n acelai moment. De aceea ntr-un sistem paralel este necesar o programare deosebit de acurat (sincronizare).
Sistem distribuit
Procesoarele sunt, de obicei, eterogene Procesoarele sunt, de obicei, distribuite pe o arie geografica mare Scopul: utilizarea in comun a resurselor disponibile, transmiterea informatiilor. Probleme specifice: fiabilitate, securitate
4/29/2013
4/29/2013
Pipeline
Cuprinde doua submodule; se poate si pe ambele nivele
UCP UAL UAL UCP UCP
Procesoare de vectori
Contin seturi de intructiuni ce trateaza vectorii ca un operand simplu; trebuie sa existe UAL pipeline si registre vectori
SIMD
Port1 Port1 M
Reg.
Unitate comanda
Port1 M
Unitate comanda
UAL
sau
4/29/2013
Procesoare masive
Sunt UAL multiple supervizate de o singura unitate de comanda; SIMD
P1 Unitate comanda P2 SW M M
Pn
M1
M loc.
M2 SW
M loc.
Mn
4/29/2013
PRAM
Memoria este accesibila tuturor programelor Are submodule EREW (exclusive Read exclusive Write), CREW (concurent Read exclusive Write), ERCW i CRCW; apare nesiguranta datelor in memorie se poate scrie simultan in aceeasi locatie de memorie Ca si RAM este folosita numai la proiectarea algoritmilor si analiza lor (nu este realizabila fizic) X1 X2 X3 Xn
Prog1 Prog1
Prog1
Y1 Y2 Y3
Yn
4/29/2013
Procesoare sistolice
Elemente de procesare identice asezate intr-o structura pipeline Stie sa faca operatii de forma: yout=yin+ax
a yin P x yout
a33
5 4 3 2 1
a23 a13
y3 y2 y1
x1
x2
10
4/29/2013
Pipeline
1 2 3 4
z2 z3 z4
1 2 3 4
1 2 3 4 1 2 3 4
zn
1 2 z1=x1+y1 3 4
V. Neumann
1 2 3 4
z1=x1+y1
MIMD/SIMD
1 2 3 4 1 2 3 4
zn=xn+yn
1 2 z2=x2+y2 3 4 1 2 zn=xn+yn 3 4
T=4nt
z2=x2+y2
T=(n+3)t
T=4t
11
4/29/2013
12