Programación en paralelo

Solo disponible en BuenasTareas
  • Páginas : 7 (1574 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de marzo de 2012
Leer documento completo
Vista previa del texto
Programación en paralelo
La idea del procesamiento en paralelo, es decir, ejecutar muchos cálculos en paralelo, nos ha estado rondando desde la década de 1960.
El pseudoparalelismo represento un adelanto considerable en la tecnología de la computación y sigue siendo la forma estándar de operar de la mayoría de las maquinas grandes.
El verdadero paralelismo en el que muchos procesadores estánconectados juntos para ejecutarse de la manera concertada ya sea como un sistema único que incorpora a todos los procesadores o como un grupo de procesadores individuales interconectados mediante enlaces de alta velocidad.

--Introducción al procesamiento en paralelo--
El concepto fundamental del procesamiento en paralelo es el de proceso: es la unidad básica de código ejecutada por unprocesador.
A los procesos solía llamárseles tareas y en los primeros días de la computación, las tareas se ejecutaban de una manera puramente secuencial, es decir, por lotes. Por lo tanto en todo momento solo había un proceso en existencia, por lo cual no había necesidad de distinguir entre un proceso y un programa.
Cuando el pseudoparalelismo apareció, se dio a la capacidad de tenerse variosprocesos de manera simultánea.
Ahora un proceso podía estar en cualquiera de los siguientes estados:
* En Ejecución: En posesión del procesador.

* Bloqueado o Esperando: Esperando a que se termine alguna actividad.

En un sistema de este tipo, el sistema operativo necesita aplicar algún algoritmo para programar procesos para su ejecución y administrar una estructura de datos, por logeneral una cola de espera.

Necesita también un método para hacer que los procesos liberen el procesador, es decir, un tiempo fuera. El método para lograr lo anterior es la interrupción de hardware.
En algunas maquinas se designa a un procesador como controlador, el cual se ocupa de administrar a los demás procesadores. En algunos casos este control central incluye incluso la selección deinstrucciones, y todos los procesadores deben ejecutar las mismas instrucciones sobre sus respectivos registros o conjuntos de datos. Estos sistemas se llaman sistemas de una sola instrucción, datos múltiples, es decir sistemas SIMD, y son por su naturaleza de multiprocesamiento más que de sistemas distribuidos.
Programa

Procesador de control

Procesador satéliteMemoria

En otras arquitecturas, cada uno de los procesadores actúa de manera independiente. Estos sistemas se conocen como sistemas de instrucción múltiple, datos múltiples o sistemas MIMD, y pueden ser sistemas multiprocesador o de procesador distribuido. En un sistema MIMD, los procesadores pueden operar a diferentes velocidades, por lo que son sistemas asíncronos.

ProgramasProcesadores

Memoria

--Procesamiento en paralelo y lenguajes de programación--
Los lenguajes de programación son como sistemas operativos, ya que necesitan poner a disposición de los programadores mecanismos para la creación, sincronización y comunicación de los procesos. Sin embargo incluyen requisitos más severos que un sistema operativo:
* Sus servicios de utileríadeben ser independientes de la maquina y obedecer a principios de diseño de lenguaje como:
* La legibilidad
* La capacidad de escritura
* La de mantenimiento
Independiente de lo anterior, la mayoría de los lenguajes de programación han adoptado un modelo particular de organización en paralelo para la provisión de servicios de paralelismo, por lo tanto, algunos utilizan el modelode la memoria compartida y proporcionan servicios de utilería para la exclusión mutua, típicamente mediante la inclusión de un mecanismo incorporado de hilos, o biblioteca de hilos, en tanto que otros adoptan el modelo distribuido y proporcionan servicios de utilería de comunicación.
--Creación y destrucción de procesos—
Un lenguaje de programación que contiene mecanismos explícitos para el...
tracking img