Computació paral·lela
From Wikipedia, the free encyclopedia
La computació paral·lela és una forma de computació en la qual molts càlculs es fan simultàniament,[1] operant sobre el principi que sovint es poden dividir problemes grans en altres de més petits, els quals llavors es poden solucionar concurrentment ("en paral·lel"). Hi ha unes quantes formes diferents de computació paral·lela: a nivell de bit, nivell d'instrucció, dades, i paral·lelisme de tasca. El paral·lelisme s'ha emprat durant molts anys, principalment en la computació d'alt rendiment, però l'interès en això ha augmentat últimament a causa de les restriccions físiques que eviten l'escalat de freqüència.[2] Com què el consum de potència (i consegüentment la generació de calentor) per ordinadors s'ha convertit en una preocupació durant els darrers anys,[3] la computació paral·lela s'ha convertit en el paradigma dominant en l'arquitectura informàtica, principalment en forma de processadors multi nucli.[4]
Els ordinadors paral·lels es poden classificar aproximadament segons el nivell en el qual el maquinari dona suport al paral·lelisme -amb ordinadors multi-nucli i els ordinadors multiprocessador que tenen elements de processament múltiples dins d'una única màquina, mentre que els clústers, MPPs, i els grids utilitzen ordinadors múltiples per fer feina en la mateixa tasca. Les arquitectures informàtiques paral·leles especialitzades s'utilitzen a vegades al costat de processadors tradicionals, per accelerar tasques específiques.
Els programes informàtics paral·lels són més difícils d'escriure que els seqüencials,[5] perquè la concurrència introdueix unes quantes classes noves d'errors de programari potencials, dels quals les condicions de carrera són les més comunes. La comunicació i sincronització entre les subtasques diferents són típicament un dels obstacles més grans per aconseguir el bon rendiment d'un programa paral·lel. El guany de velocitat d'un programa com a resultat de la paral·lelització és governat per la llei d'Amdahl.