Algoritmi paraleli si distribuiti
calendar_month 13 Apr 2015, 00:00
Structura calculatorului, asa cum a fost ea elaborata de John von Neumann, stabileste ca operatiile, fie logice, fie aritmetice, se executa in unitatea centrala, in blocul aritmetico-logic.
Astfel, programul realizat pentru solutionarea problemei, ca succesiune de instructiuni de calculator care urmeaza algoritmul adecvat, este la randul sau memorat in calculator, iar instructiunile sale sunt aduse una cate una in unitatea de comanda, realizandu-se pas cu pas transformarea datelor de intrare in rezultatele finale...
O vreme parea ca paralelismul este atuul de neatins al gandirii umane. Dar inca din anii '60-'70 cresterea vitezei de calcul s-a realizat mai ales prin trucuri, prin diviziunea sarcinilor in cadrul sistemului de calcul, prin introducerea cererilor de intrerupere din partea dispozitivelor de intrare/iesire, prin accesul direct la memorie.
Apoi au inceput sa apara "supercalculatoarele", dar mai ales sisteme specializate pentru prelucrarea imaginilor numerice, sisteme in care s-a cautat sa se compenseze viteza insuficienta de pe atunci printr-o procesare paralela, alocand pentru fiecare pixel dintr-o linie a imaginii cate o unitate de calcul - un procesor dedicat operatiilor locale din imagine.
Astfel au aparut primele configuratii de calcul paralel, dar si primii algoritmi de calcul paralel. In cazul imaginilor numerice, asupra fiecarui element de imagine (pixel) se pot aplica simultan aceleasi transformari, astfel incat se puteau folosi procesoare identice care nici macar nu trebuiau sa comunice intre ele. Era modelul de calcul care s-a numit SIMD (Single Instruction Multiple Data).
Noutati




