Professional Documents
Culture Documents
J. Aguilar, E. Leiss
Sin embargo, existen otros criterios que se podran usar para establecer una clasificacin
a nivel de la programacin paralela: el modo operacional de los procesadores, la
organizacin de la memoria, la granularidad de los procesadores, las caractersticas de la
arquitectura. As, otras clasificaciones han sido propuestas basadas en otros criterios,
algunas de ellas son las de Feng, Kuck, Gajskim Treleaven, etc. Presentaremos aqu a la
de Flynn, y mencionaremos otras para tratar de mostrar las arquitecturas paralelas hasta
ahora conocidas [5, 10, 13, 16, 17, 18, 27, 30, 32, 34, 40].
Datos
Unidad de
Procesam. (UP)
Comandos
Instrucciones
Unidad de
Control (UC)
Procesador
18
J. Aguilar, E. Leiss
19
J. Aguilar, E. Leiss
Memoria Central
Datos
Instrucciones
UC
UP 1
UP 2
...
Comandos
Datos
UP
Datos
Memoria Central
Instrucciones
UC
Etapa 1
Etapa 2
...
Etapa n
...
Comandos
20
J. Aguilar, E. Leiss
21
J. Aguilar, E. Leiss
SIMD-Memoria Distribuida:
Estas mquinas se caracterizan por un control centralizado y los datos distribuidos (ver
figura 1.5). Normalmente, los procesadores de estas mquinas son de bajo poder, y la
potencia de clculo de la mquina paralela es obtenida por el gran nmero de
procesadores usados. En esta arquitectura, cada procesador tiene una memoria local
pequea y recibe las instrucciones de una unidad de control central para ejecutar la
misma instruccin, conjuntamente con el resto de procesadores, de manera sincronizada.
Mem.
Local
Mem.
Local
UP
UP
Datos
Comandos
...
Mem.
Local
Mem.
Local
UP
UP
Datos
UC
22
J. Aguilar, E. Leiss
Datos
Instrucc.
UP
UC
Comandos
Procesador 1
Red de Interconexion
...
Datos
Instrucc.
UP
UC
Comandos
Procesador
Comandosn
23
J. Aguilar, E. Leiss
paralelismo a utilizar debe ser explcito, lo que hace requerir nuevos sistemas de
explotacin y ambientes de programacin.
Como la memoria local de cada procesador no puede ser accesada por otro
computador, la red de interconexin es usada para que los procesadores se comuniquen a
travs de pase de mensajes (los mensajes incluyen datos, requerimientos, etc.). Programar
una aplicacin para estos sistemas implica dividir el programa en tareas independientes,
algunas de las cuales podrn ser ejecutadas concurrentemente. En este caso se habla de
espacios de memorias locales, y la comunicacin entre los procesadores se hace
explcitamente a travs de pase de mensajes, usando la red de interconexin.
Red de Interconexion
Mem.
Procesador
...
Computador 1
Mem.
Procesador
Computador n
24
J. Aguilar, E. Leiss
los accesos locales. Para eso se agrega una capa de software al hardware de memoria
distribuida que permite a todos los procesadores acceder de manera transparente a toda la
memoria distribuida. Un acceso a una memoria no local es realizado por un envo de
mensajes generados por dicha capa, con el fin de realizar el acceso a distancia. El
programador puede usar un lenguaje de programacin implcito usando la memoria
compartida o un lenguaje de programacin explcito con pase de mensajes.
Nodo 0
Memoria Compartida
Red de Interconexion
Nodo 1
Nodo 2
Memoria Compartida
Memoria Compartida
25