Diferencia entre revisiones de «Computación paralela»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
Sin resumen de edición
Piero71 (discusión · contribs.)
Deshecha la edición 29526097 de 201.144.84.82 (disc.) Posible bandalismo
Línea 3: Línea 3:
La '''computación paralela''' es una técnica de [[programación]] en la que muchas [[instrucción|instrucciones]] se ejecutan simultáneamente.<ref>G.S. Almasi and A. Gottlieb. [http://portal.acm.org/citation.cfm?id=1011116.1011127 Highly Parallel Computing]. Benjamin-Cummings publishers, Redwood city, CA, 1989.</ref> Se basa en el principio de que los problemas grandes se pueden dividir en partes más pequeñas que pueden resolverse de forma [[concurrencia|concurrente]] ("en paralelo"). Existen varios tipos de computación paralela: [[paralelismo a nivel de bit]], [[paralelismo a nivel de instrucción]], [[paralelismo de datos]] y [[paralelismo de tareas]]. Durante muchos años, la computación paralela se ha aplicado en la [[computación de altas prestaciones]], pero el interés en ella ha aumentado en los últimos años debido a las restricciones físicas que impiden el [[escalado en frecuencia]]. La computación paralela se ha convertido en el paradigma dominante en la [[aquitectura de computadores]], principalmente en los [[procesadores multinúcleo]].<ref name="View-Power">Krste Asanovic et al. [http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.pdf The Landscape of Parallel Computing Research: A View from Berkeley] (PDF). University of California, Berkeley. Technical Report No. UCB/EECS-2006-183. [[December 18]], [[2006]]: "Old [conventional wisdom]: Increasing clock frequency is the primary method of improving processor performance. New [conventional wisdom]: Increasing parallelism is the primary method of improving processor performance&nbsp;... Even representatives from Intel, a company generally associated with the 'higher clock-speed is better' position, warned that traditional approaches to maximizing performance through maximizing clock speed have been pushed to their limit."</ref> Sin embargo, recientemente, el [[consumo de energía]] de los ordenadores paralelos se ha convertido en una preocupación.<ref>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".</ref>
La '''computación paralela''' es una técnica de [[programación]] en la que muchas [[instrucción|instrucciones]] se ejecutan simultáneamente.<ref>G.S. Almasi and A. Gottlieb. [http://portal.acm.org/citation.cfm?id=1011116.1011127 Highly Parallel Computing]. Benjamin-Cummings publishers, Redwood city, CA, 1989.</ref> Se basa en el principio de que los problemas grandes se pueden dividir en partes más pequeñas que pueden resolverse de forma [[concurrencia|concurrente]] ("en paralelo"). Existen varios tipos de computación paralela: [[paralelismo a nivel de bit]], [[paralelismo a nivel de instrucción]], [[paralelismo de datos]] y [[paralelismo de tareas]]. Durante muchos años, la computación paralela se ha aplicado en la [[computación de altas prestaciones]], pero el interés en ella ha aumentado en los últimos años debido a las restricciones físicas que impiden el [[escalado en frecuencia]]. La computación paralela se ha convertido en el paradigma dominante en la [[aquitectura de computadores]], principalmente en los [[procesadores multinúcleo]].<ref name="View-Power">Krste Asanovic et al. [http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.pdf The Landscape of Parallel Computing Research: A View from Berkeley] (PDF). University of California, Berkeley. Technical Report No. UCB/EECS-2006-183. [[December 18]], [[2006]]: "Old [conventional wisdom]: Increasing clock frequency is the primary method of improving processor performance. New [conventional wisdom]: Increasing parallelism is the primary method of improving processor performance&nbsp;... Even representatives from Intel, a company generally associated with the 'higher clock-speed is better' position, warned that traditional approaches to maximizing performance through maximizing clock speed have been pushed to their limit."</ref> Sin embargo, recientemente, el [[consumo de energía]] de los ordenadores paralelos se ha convertido en una preocupación.<ref>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".</ref>


Los ordenadores paralelos se pueden clasificar según el nivel de paralelismo que admite su hardware: los ordenadores [[multinúcleo]] y [[multiprocesamiento simétrico|multiproceso]] tienen varios elementos de procesamiento en una sola máquina, mientras que los [[cluster (informática)|clusters]], los [[procesamiento paralelo masivo|MPP]] y los [[Computación grid|grids]] emplean varios ordenadores para trabajar en la misma tarea.1313
Los ordenadores paralelos se pueden clasificar según el nivel de paralelismo que admite su hardware: los ordenadores [[multinúcleo]] y [[multiprocesamiento simétrico|multiproceso]] tienen varios elementos de procesamiento en una sola máquina, mientras que los [[cluster (informática)|clusters]], los [[procesamiento paralelo masivo|MPP]] y los [[Computación grid|grids]] emplean varios ordenadores para trabajar en la misma tarea.


Los [[Algoritmo paralelo|programas de ordenador paralelos]] son más difíciles de escribir que los secuenciales<ref>[[David A. Patterson (scientist)|Patterson, David A.]] and [[John L. Hennessy]] (1998). ''Computer Organization and Design'', Second Edition, Morgan Kaufmann Publishers, p.&nbsp;715. ISBN 1-55860-428-6. </ref> porque la concurrencia introduce nuevos tipos de [[error de software|errores de software]], siendo las [[condiciones de carrera]] los más comunes. La [[Networking|comunicación]] y la [[sincronización]] entre las diferentes subtareas son típicamente las grandes barreras para conseguir un buen rendimiento de los programas paralelos. El [[speedup|incremento de velocidad]] que consigue un programa como resultado de la paralelización viene dado por la [[ley de Amdahl]].
Los [[Algoritmo paralelo|programas de ordenador paralelos]] son más difíciles de escribir que los secuenciales<ref>[[David A. Patterson (scientist)|Patterson, David A.]] and [[John L. Hennessy]] (1998). ''Computer Organization and Design'', Second Edition, Morgan Kaufmann Publishers, p.&nbsp;715. ISBN 1-55860-428-6. </ref> porque la concurrencia introduce nuevos tipos de [[error de software|errores de software]], siendo las [[condiciones de carrera]] los más comunes. La [[Networking|comunicación]] y la [[sincronización]] entre las diferentes subtareas son típicamente las grandes barreras para conseguir un buen rendimiento de los programas paralelos. El [[speedup|incremento de velocidad]] que consigue un programa como resultado de la paralelización viene dado por la [[ley de Amdahl]].

Revisión del 18:05 2 oct 2009

La supercomputadora Cray-2 fue la más rápida del mundo desde 1985 hasta 1989.

La computación paralela es una técnica de programación en la que muchas instrucciones se ejecutan simultáneamente.[1]​ Se basa en el principio de que los problemas grandes se pueden dividir en partes más pequeñas que pueden resolverse de forma concurrente ("en paralelo"). Existen varios tipos de computación paralela: paralelismo a nivel de bit, paralelismo a nivel de instrucción, paralelismo de datos y paralelismo de tareas. Durante muchos años, la computación paralela se ha aplicado en la computación de altas prestaciones, pero el interés en ella ha aumentado en los últimos años debido a las restricciones físicas que impiden el escalado en frecuencia. La computación paralela se ha convertido en el paradigma dominante en la aquitectura de computadores, principalmente en los procesadores multinúcleo.[2]​ Sin embargo, recientemente, el consumo de energía de los ordenadores paralelos se ha convertido en una preocupación.[3]

Los ordenadores paralelos se pueden clasificar según el nivel de paralelismo que admite su hardware: los ordenadores multinúcleo y multiproceso tienen varios elementos de procesamiento en una sola máquina, mientras que los clusters, los MPP y los grids emplean varios ordenadores para trabajar en la misma tarea.

Los programas de ordenador paralelos son más difíciles de escribir que los secuenciales[4]​ porque la concurrencia introduce nuevos tipos de errores de software, siendo las condiciones de carrera los más comunes. La comunicación y la sincronización entre las diferentes subtareas son típicamente las grandes barreras para conseguir un buen rendimiento de los programas paralelos. El incremento de velocidad que consigue un programa como resultado de la paralelización viene dado por la ley de Amdahl.

Antecedentes

El software se ha orientado tradicionalmente hacia la computación en serie. Para resolver un problema, se construye un algoritmo y se implementa en un flujo de instrucciones en serie. Estas instrucciones se ejecutan en la unidad central de procesamiento de un ordenador. En el momento en el que una instrucción se termina, se ejecuta la siguiente.[5]

La computación paralela emplea elementos de procesamiento múltiple simultáneamente para resolver un problema. Esto se logra dividiendo el problema en partes independientes de tal manera que cada elemento de procesamiento pueda ejecutar su parte del algoritmo a la misma vez que los demás. Los elementos de procesamiento pueden ser diversos e incluir recursos tales como un único ordenador con muchos procesadores, varios ordenadores en red, hardware especializado o una combinación de los anteriores.[5]

Referencias

  1. G.S. Almasi and A. Gottlieb. Highly Parallel Computing. Benjamin-Cummings publishers, Redwood city, CA, 1989.
  2. Krste Asanovic et al. The Landscape of Parallel Computing Research: A View from Berkeley (PDF). University of California, Berkeley. Technical Report No. UCB/EECS-2006-183. December 18, 2006: "Old [conventional wisdom]: Increasing clock frequency is the primary method of improving processor performance. New [conventional wisdom]: Increasing parallelism is the primary method of improving processor performance ... Even representatives from Intel, a company generally associated with the 'higher clock-speed is better' position, warned that traditional approaches to maximizing performance through maximizing clock speed have been pushed to their limit."
  3. 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".
  4. Patterson, David A. and John L. Hennessy (1998). Computer Organization and Design, Second Edition, Morgan Kaufmann Publishers, p. 715. ISBN 1-55860-428-6.
  5. a b Barney, Blaise. «Introduction to Parallel Computing». Lawrence Livermore National Laboratory. Consultado el 9 de noviembre de 2007. 

Véase también