Sunteți pe pagina 1din 10

MINISTERUL EDUCAIEI AL REPUBLICII MOLDOVA UNIVERSITATEA TEHNIC A MOLDOVEI FACULTATEA INGINERIE I MANAGEMENT N TELECOMUNICAII CATEDRA RADIOCOMUNICAII

REFERAT
la disciplina Structuri microprocesorale Tema: Sisteme de calcul multiprocesorale

A efectuat studenta grupei IMTC-101

Abramovschi Victoria

Chiinu 2

Intorducere Nici-o alt industrie nu a cunoscut evoluie att de rapid ca industria calculatoarelor. Performantele microprocesoarelor cresc anual cu 50-100%. Frecventa ceasurilor se dubleaz la fiecare trei ani. Numrul de tranzistoare se multiplic cu patru la fiecare trei ani. Dei frecvenele de ceas i densitile de integrare au crescut i continu s cresc continuu, totui lucrurile nu vor putea evolua la nesfrit pe calea aceasta. Viteza luminii e deja o limit care trebuie luat n considerare, iar la un moment dat fiecare tranzistor va avea att de puini atomi nct efectele cuantice vor deveni o problem major (ex. principiul incertitudinii lui Heisenberg). Legea lui Moore descrie o tendin pe termen lung n istoria mainilor de calcul: numrul de tranzistori care pot fi plasai pe un circuit integrat se dubleaz aproximativ la fiecare doi ani. Aceast tendin a continuat de mai bine de o jumtate de secol. Surse din 2005 se ateptau ca aceast tendin s continue cel puin pn n 2015 sau 2020. Cu toate acestea, n 2010 s-a estimat o ncetinire a creterii la sfritul anului 2013, dup care se estimeaz c numrul de tranzistori se va dubla la fiecare 3 ani. O data cu atingerea limtelor fizice ale tehnologiilor bazate pe silicon, vom avea noi tehnologii pregatite sa le ia locul. Procesul tehnologic a ncetat s mai progreseze. Se face referire le legea lui Moore, dar Tranzistoarele nu merg mai repede si au pierderi mai mari (65 nm fat-n-fat cu 45 nm). Firele, legturile sunt ntr-o situatie si mai rea. Performantele firului de control/executie unic s-au plafonat. Complexitatea proiectrii si verificrilor este coplesitoare. Consumul de putere creste dramatic. Paralelismul la nivel de instructiune (ILP Instruction-level parallelism) a fost epuizat. Din toate aceste motive, pentru a rezolva problemele tot mai complexe, arhitecii de calculatoare se ndreapt tot mai insistent spre calculatoarele paralele. Conceptul de thread (fir de execuie) definete cea mai mic unitate de procesare ce poate fi programat spre execuie de ctre sistemul de operare. Este

folosit n programare pentru a eficientiza execuia programelor, executnd poriuni distincte de cod n paralel n interiorul aceluiai proces.

De ce este necesar paralelismul? Paralelismul furnizeaz o alternativ n ceea ce priveste performanta la ceasul (clock) dorit a fi mai rapid si mai rapid. Paralelismul se aplic la toate nivelurile de proiectare a sistemului. Paralelismul este din ce n ce mai n centrul problemelor mari de procesarea informatiei. Cteva exemple: calculele stiintifice: simularea, analiza datelor, managementul si stocarea informatiei etc.; calculele de interes comercial: procesarea tranzactiilor, exploatarea bazelor de date; aplicatiile Internet: operatii de cutare, Google opereaz cu cel putin 50.000 de procesoare, multe din ele ca parte a unor mari sisteme paralel.

Sistemele multiprocesor caracterizate prin : -un multiprocesor este un singur calculator care include mai multe procesoare i un singur spaiu de memorie adresabil de acestea; -procesoarele pot comunica i coopera la diferite niveluri pentru rezolvarea unei probleme date; -un multiprocesor este controlat de un singur sistem de operare integrat, care permite interaciunea ntre procesoare i programele lor la nivel de proces, set de date i chiar date elementare. Trebuie amintit ca un calculator poate avea unul sau mai multe procesoare . Placile de baza normale permit prezenta unui singur processor , insa sunt producatori ce ofera optiunea de dual processor . Astfel in sistemele produse de Digital , HP se pot intalni intre 2-8 procesoare . Problema este ca numai anumite sisteme de operare stiu sa foloseasca multiprocesarea (Linux , SunOs , Unix , WindowsNT) . Astfel in Windows 9x prezenta unui processor suplimentar nu va influenta cu nimic performanta sistemului . Sistemele multiprocessor sunt folosite in servere sau in statii de lucru cu flux mare de date (CAD , GIS , etc) . Un alt

motiv de a folosi un sistem multiprocessor este securitatea oferita . Astfel in cazul unei defectiuni produse la unul din procesoare conducerea va fi luata de celalalt .

Clasificarea arhitecturilor paralele De-a lunugul timpului au fost propuse un mare numr de arhitecturi paralele, multe din ele au fost i realizate, chiar dac unele nu au depit modelul experimental. Taxonomia Flynn care, dei foarte general, este totui cea mai folosit. Flynn nu i-a bazat clasificarea sa pe structura mainilor ci pe relaia instruciune de executat date de prelucrat. Se definesc astfel fluxul de instruciuni i fluxul de date. Un flux (stream) de instruciuni este o sceven de comenzi ce poate fi executat de un singur procesor i are asociat un singur contor de program. Un flux de date const dintr-un set de operanzi. Considernd fluxurile de instruciuni i fluxurile de date relativ independente, exist 4 combinaii ale lor: SISD (Single Instruction stream Single Data stream) este calculatorul von Neumann clasic, secvenial, care cu o singur UCP nu poate face dect un singur lucru la un moment dat. Mainile SIMD (Single Instruction stream Multiple Data stream) au o singur unitate de control i mai multe uniti aritmetice ce pot executa simultan operaii pe mai multe seturi de date sub controlul unei singure instruciuni. n aceast categorie intr procesoarele vectoriale i matriciale. Primul calculator din aceast categorie a fost ILLIAC IV (sfritul anilor 1960), construit la Universitatea Illinois, el a fost urmat de sistemele comerciale Connection Machine CM-2, Hughes 3-D Computer i altele. Mainile MISD (Multiple Instruction stream Single Data stream) fluxuri multiple de instruciuni pe un singur flux de date este o clas vid, deoarece implic execuia simultan a mai multor instruciuni asupra aceluiai operand. Flynn a menionat c include aici structurile specializate, dar nu a dat exemple. Alii ncearc s includ aici mainile n linie de asamblare (pipeline), dar realitatea contrazice acest raionament.

Mainile MIMD (Multiple Instruction stream Multiple Data stream) presupune mai multe CPU independente opernd pe fluxuri proprii de date. n aceast categorie intr Sunt att dou multiprocesoarele modele de (arhitecturi cu memorie cu partajat) memorie ct i

multicalculatoarele (arhitecturi cu transfer de mesaje). comunicare: procesoare partajat (multiprocesoare) i procesoare cu transfer de mesaje (procesoare cu memorie distribuit sau multicalculatoare). Sisteme cu memorie partajat Toate procesoarele partajeaz o memorie fizic comun . Procesele care lucreaz pe un multiprocesor partajeaz un spaiu de adrese unic. Memoriile cache minimizeaz comunicaiile pe magistral sau reea. Sunt necesare protocoale de asigurare a coerenei cache-urilor.Este un model uor de neles pentru programatori i are o gam foarte larg de aplicaii. Se cunosc trei categorii de multiprocesoare (arhitecturi cu memorie partajat): Multiprocesoare cu acces uniform la memorie (UMA Uniform Memory Access): se mai numesc multiprocesoare simetrice (SMP Symetrical Multiprocesor). n aceast arhitectur mai multe procesoare partajeaz un spaiu de adrese comun. Timpul de acces la memoria partajat este acelai pentru toate procesoarele. Acest lucru face performana predictibil, factor important pentru scrierea de cod eficient. Fiecare procesor are asociat memorie cache pe 1, 2 sau 3 nivele. Principala problem coerena cache-urilor este asigurat prin politici de supraveghere spionare (snooping). Multiprocesoare cu acces neuniform la memorie (NUMA NonUniform Memory Access): i n aceast arhitectur procesoarele partajeaz un singur spaiu de adrese, dar memoria este mprit fizic n mai multe module plasate fiecare n apropierea unui procesor sau grup de procesoare (pe aceai plac). Timpul de acces la modulul de

memorie din imediata vecintate a procesorului este mult mai mic dect timpul de acces la module de memorie aflate la distan. Multiprocesoarele cu acces numai la cache (COMA Cache Only Memory Access): sunt o categorie mai nou de multiprocesoare ce ncearc s combine avantajele mainilor UMA i NUMA printr-o plasare mai puin rigid a paginilor de memorie i transformarea memoriei principale ntr-o memorie cache mare.

Sisteme cu transfer de mesaje Fiecare procesor are memoria sa privat la care numai el are acces. Un astfel de sistem se mai numete i multicalculator sau sistem cu memorie distribuit (distributed memory system). Procesoarele comunic ntre ele folosind transferul de mesaje prin reeaua de interconectare. Pentru aceasta se folosesc primitive de tip SEND (trimite) i RECEIVE (recepioneaz). Comunicarea de mesaje poate fi sincron sau asincron, direct (de la proces la proces peer-to-peer), prin cutii potale globale sau prin canale de legtur ntre procese. Multiprocesoarele sunt mult mai greu de construit i mai puin scalabile, dar sunt foarte uor de programat. n schimb, muticalculatoarele sunt foarte uor de construit i sunt foarte scalabile (uor se pot ajunge la arhitecturi cu mii de procesoare), dar sunt greu de programat. Din acest motiv, foarte mare parte din cercetrile actuale n arhitecturi paralele urmresc realizarea convergenei celor dou tipuri de arhitecturi n forme hibride care s combine avantajele fiecreia. Multicalculatoarele (arhitecturi cu transfer de mesaje) nu au memorie partajat la nivel arhitectural (hardware), de aceea se mai numesc i arhitecturi fr acces la memorie la distan (NORMA NO Remote Memory Access). Multicalculatoarele se pot mpri aproximativ n dou categorii: - Procesoare masiv paralele (MPP Massively Parallel Processor): sunt supercalculatoarele ce constau dintr-un numr foarte mare (uneori mii) de procesoare puternice (cu memorii cache pe 3 nivele i memorii private mari)

conectate prin reele proprietare de foarte mare vitez. Sunt cele mai scumpe calculatoare de pe pia. Exemple: Cray T3E i IBM SP/2. - Grupuri de staii de lucru (Cluster of Workstations): sunt realizate cu componente de raft (off-shelf), adic din comer. Procesoarele, memoria, reelele de interconectare sunt disponible pe pia. De regul, totui, arhitecturi UMA multiprocesor, dar acestea au devenit n ultimii ani produse comerciale destul de comune. Coerena memoriilor intermediare (cache coherence) Mai multe procesoare pot avea n memoria intermediar copii ale unei date comune (partajate). Dac un procesor modific o copie a unei date partajate din cache-ul propriu, atunci trebuie iniiat o procedur pentru: - actualizarea datei n memoria principal i - invalidarea sau actualizarea copiilor datei din celelalte cache-uri. Scopul acestei proceduri este meninerea coerenei cache-urilor, adic toate cacheurile s conin copii valide (actuale) ale datelor. Exist mai muli algoritmi de asigurare a coerenei memoriilor cache care, n cazul arhitecturilor bazate pe magistral, se bazeaz pe supravegherea (spionarea) magistralei. n toate soluiile, controlorul memoriei cache este proiectat special pentru implementa protocolul de coeren prin supravegherea magistralei (fig. 29). Rolul principal al acestor protocoale este s previn apariia n memoriile cache a unor versiuni diferite ale aceluiai bloc de memorie. Deoarece spionarea, care nseamn monitorizarea fiecrui transfer pe magistral prin compararea adreselor datelor transferate cu adresele (tag) memorate n cache, ar putea stnjeni accesul procesorului la mamoria cache, se recurge la duplicarea adreselor (tags) pstrate n cache. Astfel aciunea comparare se face pe o copie a tag-urilor Reele de interconectare Am artat c reelele de interconectare sunt utilizate att n multiprocesoare ct i n multicalculatoare i sunt similare. Deosebirea este c n multiprocesoare

reelele leag procesoarele la modulele de memorie, iar n multicalculatoare reelele leag procesoarele sau modulele de memorie ntre ele. Prin reea se trimit mesaje (pachete). Topologia stea este o topologie zero-dimensional n care procesoarele i memoriile sunt conectate la nodurile exterioare, iar nodul central face doar comutare. Este o topologie ntlnit des la reelele de calculatoare, este simpl dar are dezavantajul c nu este tolerant la defecte, iar nodul central poate fi o surs major de strangulare. Topologia arbore sau stea extins (tree, extended star fig. 12) este o topologie de asemenea zero-dimensional des ntlnit n reelele de calculatoare. Lrgimea de band a biseciei este egal cu capacitatea legturii. Deoarece traficul crete pe msur ce ne apropiem de rdcin, o soluie practic este s cretem lrgimea de band a legturilor din vecintatea rdcinei. Se opine aa-numitul arbore gros (fat tree). Nodul rdcin i cele din imediata vecintate a lui nu conecteaz procesoare i memorii sau, dac da, atunci conecteaz procesoare i memorii foarte rapide, cu un statut special (n cazul reelelor de calculatoare, conecteaz servere foarte puternice). Interconectarea complet (full interconect fig. 13) este o topologie utilizat la sistemele cu numr relativ redus de procesoare. Asigur o conexiune direct ntre oricare dou noduri ale reelei. Are foarte multe avantaje: maximizeaz lrgimea de band a biseciei, minimizeaz diametrul (este 1) i este excesiv de tolerant la defecte (poate pierde oricare N-2 legturi i este n continuare complet conectat), este neblocabil. Are ns marele dezavantaj c necesit un numr foarte mare de legturi N(N-1)/2.

Fortele motoare ale calculului parallel Necesittile aplicative, pofta de calcul general si insatiabil: calcule stiintifice (n mecanica fluidelor, n biologie, n chimie, n fizic ), calcule de uz general (video, grafic, CAD, baze de date, procesarea tranzactiilor), aplicatiide Internet (cutare, comert electronic, clustering)

Trendul tehnologic; Trendul arhitecturilor; Aspectele economice; Tendintele curente; Toate microprocesoarele au suport pentru multiprocesare (MP) extern. Serverele si statiile de lucru sunt fr exceptie MP-uri: Sun, SGI, Dell, COMPAQ Concluzii Din cele dou mari categorii de arhitecturi paralale, SIMD i MIMD, prima categorie este deja de domeniul istoriei. Mainile MIMD domin procesarea paralel. Dar i n aceast categorie sunt multe diferenieri de fcut. Multiprocesoarele cu memorie partajat, dei au o scalabilitate limitat domin i vor continua s domine piaa calculatoarelor paralele. Principala lor atractivitate este modelul lor de programare care a fcut ca aplicaiile s fie portabile i uor de realizat. Numrul mare de aplicaii, practic nelimitat le asigur un viitor ascendent. Cercetrile actuale vizeaz modele SMP UMA i modelele COMA cu ierarhii de magistrale i nivele sporite de memorie cache care s permit o scalabilitate dincolo de limita a 256 de procesoare. De asemeni continu s se investeasc mult n cercetarea arhitecturilor CC-NUMA, n reducerea neuniformitilor accesului la memorie i n mbuntirea algoritmilor de asigurare a coerenei prin directoare. Rezultate promitoare au adus sistemul SGI Origin 2000. Din categoria arhitecturilor multicalculatoare cu transfer de mesaje, se estimeaz c sistemele MPP vor disprea de pe pia n urmtorii 10 ani, n schimb arhitecturile cluster vor beneficia de progresele tehnologice deosebite din domeniul reelelor de calculatoare i ajutate de cercetrile deosebit de intense din sfera protocoalelor de implemantare a memoriei partajate distribuite (DSM Distributed Shared Memory) vor domina piaa multicalculatoarelor. Sistemele de operare ce implementeaz DSM vor asigura convergena arhitecturilor multicalculator cu

transfer de mesaje spre modelul memoriei partajate, adic spre un izvor nesecat de aplicaii.