Computación paralela

A computación paralela é unha forma de cálculo na que moitas instrucións se levan a cabo simultaneamente (denominadas "en paralelo"),Almasi, G.S. and A. Gottlieb (1989). Highly Parallel Computing. Benjamin-Cummings publishers, Redwood City, CA. dependendo da teoría de que os problemas grandes poden dividirse a miúdo noutros máis pequenos, e despois resolverse simultaneamente (en concorrencia ou "en paralelo").

Existen varias formas diferentes de computación paralela:

  Bit-level parallelism.  (Paralelismo a nivel de bits)
 Instruction-level parallelism. (Paralelismo a nivel de instrución)
  Data parallelism.    (Paralelismo de datos)
  Task parallelism.   (Paralelismo de tarefas)

Utilizouse durante moitos anos, principalmente en computación de altas prestacións, cun grande aumento do seu uso nos últimos anos, debido ás limitacións físicas que impiden o escalado de frecuencias. A computación paralela converteuse no modelo principal na arquitectura de ordenadores, principalmente en forma de procesadores multinúcleo.Asanovic, Krste et al. (Decembro 18, 2006). "The Landscape of Parallel Computing Research: A View from Berkeley" (PDF). University of California, Berkeley. Technical Report No. UCB/EECS-2006-183.  Non obstante, nos últimos anos, o consumo de enerxía dos ordenadores paralelos converteuse nunha preocupación.Asanovic et al. Old [conventional wisdom]: Power is free, but transistors are expensive. New [conventional wisdom] is [that] power is expensive, but transistors are "free".

(Antigo: a enerxía é gratuíta, pero os transistores son caros. Novo: a enerxía é cara, pero os transistores son "gratis").

Os ordenadores paralelos pódense clasificar segundo o nivel no que o hardware admite o paralelismo, con ordenadores multinúcleo e multiprocesador que teñen varios elementos de procesamento dentro dunha única máquina, mentres que os clústeres, as láminas, os MPP e as redes usan varios ordenadores para traballar na mesma tarefa.

Os programas ou algoritmos informáticos paralelos son máis difíciles de programar que os secuenciais, porque a concorrencia introduce varias novas clases de posibles bugs ou erros de software, dos cales as condicións de carreira e os deadlocks ou bloqueos mortos son os máis comúns. Porén, creáronse moitas linguaxes de programación paralelas para simplificar a programación de ordenadores paralelos. Aínda así, a comunicación e sincronización entre as diferentes subtarefas é difícil mentres se consegue un bo rendemento do programa paralelo.

 Notas 

 Véxase tamén 

 Outros artigos 
 Computación
 Programación
 Leslie Lamport
 Jack Dongarra
 Ligazóns externas 


 Lawrence Livermore National Laboratory: Introduction to Parallel Computing Arquivado o 29/06/2013  
 Deseño e construción de programas paralelos, de Ian Foster
 Arquivo de Internet Parallel Computing  Arquivado
 Área temática de procesamento paralelo en IEEE Distributed Computing Online  Arquivado 
 Libro en liña gratuíto de Parallel Computing Works 
 Fronteiras da supercomputación. Libro en liña gratuíto
Categoría:Informática