Computación paralela

Computación paralela
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 arquitectura 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 09-11-2007.

Véase también


Wikimedia foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Mira otros diccionarios:

  • Computación de alto rendimiento — El campo de computación de alto rendimiento (High performance Computing o HPC en inglés) es una herramienta muy importante en el desarrollo de simulaciones computacionales a problemas complejos. Para lograr este objetivo, la computación de alto… …   Wikipedia Español

  • Computación no convencional — La computación no convencional es un conjunto de áreas de la ciencia que buscan la implementación de computación basado en el hecho de que la computación es un proceso por el cual los datos son manipulados: adquiriendolos (entrada),… …   Wikipedia Español

  • Computación basada en ADN — La Computación basada en ADN consiste en usar moléculas de ADN en vez de procesadores basados en silicio. Las ventajas de la computación por ADN se basan en dos características fundamentales: El gran paralelismo de las hebras de ADN. Muchos de… …   Wikipedia Español

  • Computación grid — En sus comienzos grid computing era una forma de aprovechar recursos computacionales diversos …   Wikipedia Español

  • Computación concurrente — La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un conjunto de procesos o hilos de ejecución creados por un único programa. Las tareas se pueden ejecutar en una sola unidad… …   Wikipedia Español

  • Programación paralela — La programación paralela o programación concurrente es una técnica de programación basada en la ejecución simultánea, bien sea en un mismo ordenador (con uno o varios procesadores) o en un cluster de ordenadores, en cuyo caso se denomina… …   Enciclopedia Universal

  • Cluster (informática) — Un clúster en la Universidad McGill. Un ejemplo de clúster en l …   Wikipedia Español

  • Quinta generación de computadoras — Saltar a navegación, búsqueda Sistema de computadoras PIM/m de quinta generación La quinta generación de computadoras, también conocida por sus siglas en inglés, FGCS (de Fifth Generation Computer Systems) fue un ambicioso proyecto lanzado por… …   Wikipedia Español

  • Jack B. Dennis — es Profesor de Informática e Ingeniería, emérito, en el MIT (Massachusets Institute of Technology). Entró en el MIT en 1949 y se convirtió en Profesor en 1969. Se dedicó a un primer trabajo de tiempo compartido mediante PDP 1. Ésta es conocida en …   Wikipedia Español

  • ILLIAC IV — UC del computador paralelo ILLIAC IV El ILLIAC IV fue uno de los más infames supercomputadores de la historia. Uno de la serie de máquinas de investigación, los ILLIACs de la Universidad de Illinois, el diseño del ILLIAC IV se caracterizó por un… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”