Procesarea paralela vs. procesarea serial

HED
27 februarie 2012

Datorita limitarilor de fabricare si specificatiile de design, cum ar fi numarul de tranzistori si capacitatile maxime de incalzire, este acum un standard industrial ca un procesor sa aiba mai multe nuclee. Abordarea multi-core a condus la procesarea paralela pe scara larga chiar si pe cel mai simplu calculator. Exista multe avantaje, atat pentru procesarea serial cat si pentru cea paralela, cu toate acestea, in unele cazuri, adaugarea mai multor nuclee de procesare nu duce la cresterea capacitatilor de calcul ale unui calculator.


Procesarea serial este designul original operational al unui procesor. In esenta sa, este ideea de “FIFO” sau procesare “first-in first-out”. Instructiunile sunt efectuate de procesor pe fundamentul primului venit, primul servit. Multitaskingul este eficient doar la procesoarele de mare viteza, care poseda o frecventa de clock suficient de mare pentru a face comutarea transparenta intre sarcini. Acest lucru depinde foarte mult de sistemul de operare si software-ul utilizat. In procesarea serial nu este o cale pentru fluxul de date si executarea de instructiuni.




Threading este procesul de impartire a unei sarcini in mai multe parti mai mici, fiecare fiind un proces serial. De exemplu, un joc video ar putea rula calcule de fizica pe un thread si procesarea sunetului pe altul. Initial aceasta a fost pusa in aplicare pe un procesor serial care putea, intr-o masura limitata, sa comute intre thread-uri. Acest lucru este posibil deoarece un procesor petrece majoritatea timpului in asteptarea datelor sau instructiunilor care urmeaza sa fie aduse din memorie sau de pe hard disk. Multi-threading are un avantaj al acestor asteptari comutand intre thread-uri si astfel crescand eficienta de prelucrare.

Procesoarele multi-core poseda doua sau mai multe nuclee fizice. Acest lucru permite adevarata procesare paralela. Aceste nuclee, de multe ori, isi impart memoria, cunoscut sub numele de memorie cache, astfel incat acestea pot partaja date in timpul sarcinilor de procesare. Procesoarele multi-core sunt, de asemenea, capabile de multi-threading pe fiecare nucleu, desi aceasta capacitate este limitata la anumite procesoare din seria Intel. Procesoarele multi-core exceleaza la procesarea paralela, cum ar fi criptarea, codarea media, compresia datelor si, de asemenea, permite multi-tasking fara probleme.

Este adesea tentant sa vedem performanta potentiala a unui CPU capabil de procesare paralela ca o justificare pentru un calculator mai scump. Cu toate acestea, procesarea paralela este inca insuficienta. In afara de aplicatii stiintifice concepute pentru procesare paralela, aplicatiile de consum de multe ori nu sunt programate pentru a utiliza procesarea paralela. Unele aplicatii nu au posibilitatea de a fi impartita intr-o maniera care este in concordanta cu arhitectura paralela. Doar cateva aplicatii, in afara de cele mentionate, sunt programate sa profite de un procesor multi-core eficient. Acest lucru este in continuare complicat de deficientele sistemelor de operare in ceea ce priveste planificarea proceselor. In afara de un utilizator care executa simultan mai multe sarcini, multi utilizatori nu vor vedea castiguri semnificative de eficienta avand doua sau mai multe nuclee.

About - hedmasster: Web developer , Web designer , Games reviewer . Pasionat de IT & Gaming , owner www.blasterzone.ro & www.graphicpedia.ro. Dacă aveţi nelămuriri în privinţa unor articole/tutoriale puteţi lăsa un comentariu şi în cel mai scurt timp vă voi răspunde.

Lasa un comentariu

XHTML: Poti folosi urmatoarele taguri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>