Tipos de Computación Paralela
Tipos de Computación Paralela
Tipos de Computación Paralela
PARALELA
TIPOS DE COMPUTACIÓN
PARALELA
La creciente complejidad de los problemas
tratados en ciertas áreas de la ciencia, la
ingeniería, el procesamiento de datos, etc.,
requieren una gran capacidad de cálculo. Es un
hecho bien establecido que para algunos
problemas tales como los métodos numéricos, la
simulación, la optimización, etc.
Las aplicaciones de esta área de la computación se
extienden a diferentes disciplinas. La Figura 2.1 muestra
los requerimientos computacionales para distintos campos
de aplicación.
Ø La computación paralela o procesamiento en paralelo
consiste en acelerar la ejecución de un programa
mediante su descomposición en fragmentos que pueden
ejecutarse de forma simultánea, cada uno en su propia
unidad de proceso.
Ø
Ø Normalmente, los problemas no pueden dividirse
perfectamente en partes totalmente independientes y se
necesita, por tanto, una interacción entre ellas que
ocasiona una disminución de la velocidad computacional.
Ø
Ø En este sentido se habla de mayor o menor grado de
paralelismo en la medida en que un algoritmo sea más o
menos divisible en partes independientes con igual coste
computacional.
Ø
Ø Entre las interacciones hay que considerar principalmente las
dos siguientes:
a) La transferencia de datos.
b) La sincronización de los cálculos de los
diferentes procesadores.
El concepto de computador paralelo, como es de esperar, no es una idea nueva.
Por ejemplo, Gill ya escribió acerca de la programación paralela en 1958, y un
año después Holland planteó la posibilidad de que un computador pudiera
ejecutar un número arbitrario de subprogramas simultáneamente. En 1963
Conway describe el diseño de un computador paralelo y su programación, y
40 años más tarde se siguen encontrando numerosísimos artículos con títulos
y planteamientos similares a los que ya apuntaban estos precursores del
campo de la computación paralela.
1.1 Taxonomía de las arquitecturas
paralelas
Las diferentes posibilidades existentes para desarrollar
sistemas paralelos hacen que una clasificación definitiva
sea complicada, y seguramente estéril. Por ello, en
primer lugar se recuerdan las características básicas del
modelo secuencial, con el fin de delimitar los aspectos
básicos que son comunes o diferentes de los sistemas
paralelos.
Seguidamente se muestra una clasificación clásica
propuesta por Flynn, que se basa en el flujo de
instrucciones y en el flujo de datos, es decir, el
mecanismo de control utilizado. Sin embargo, existe una
gran cantidad de criterios, aunque no todos
mutuamente excluyentes entre sí, para establecer una
clasificación de las distintas arquitecturas paralelas.
1.2 Arquitectura de los computadores
secuenciales
Como es bien sabido, los computadores secuenciales,
también denominados computadores serie, se
basan en la arquitectura de J. von Neumann. En
este modelo se considera una única secuencia de
instrucciones que tratan una única secuencia de
datos. Por ello se conocen como computadores
SISD.
Arquitectura de Von Neumann
IF (búsqueda de la instrucción)
ID (decodificación de la instrucción y lectura de
los registros)
EX (operaciones aritméticas)
MEM (lectura/escritura de/en memoria)
WB (escritura en los registros).
2.2.1 Taxonomía de Flynn
En 1966 Flynn propuso una clasificación
generalista de los computadores,
adoptando como criterio el flujo de
instrucciones y el flujo de datos que en
ellos se desarrolla.
Se entiende por flujo (stream) una
secuencia de elementos, en este
caso de datos o de instrucciones.
Así, la clasificación de Flynn es la
siguiente:
Single Instruction, Single Data
(SISD):
Un único procesador interpreta una única secuencia de
instrucciones, para operar con los datos almacenados en
una única memoria. Los computadores monoprocesador
caen en esta categoría.
SI SD
Unidad de Unidad de Unidad de
control proceso memoria
Instructions
Instruction
Stream
Data Output
Processor
Data Input A stream A
stream A Data Output
Data Input Processor
stream B
stream B B
Processor
Data Output
Data Input C stream C
stream C
Multiple Instruction, Single Data
(MISD):
Se transmite una secuencia de datos a un conjunto
de procesadores, cada uno de los cuales ejecuta
una secuencia de instrucciones diferente. Esta
estructura ha sido implementada sólo con fines
de investigación.
Instruction Stream A
Instruction Stream B
Instruction Stream C
Processor
A Data
Data Processor Output
Input B Stream
Stream Processor
C
Multiple Instruction, Multiple Data (MIMD):
Instruction Stream B
Instruction Stream C
SI SD
Unidad de Elemento
Control 2 de proceso 2
Memoria
Compartida
SI SD
Unidad de Elemento
Control n de proceso n
La mayoría de los sistemas de memoria
compartida incorporan una memoria cache
local en cada procesador, y del mismo modo
que en los computadores secuenciales, sirve
para aumentar el ancho de banda entre el
procesador y la memoria local. Análogamente
puede existir una memoria cache para la
memoria global. Cuando se utilizan memorias
cache es fundamental asegurar la coherencia
de la información en la memoria cache
Sistemas de memória distribuída o
multicomputadores
En los sistemas de memoria distribuida
cada procesador dispone de su propia
memoria, denominada local o privada,
independiente del resto y accesible sólo
por su procesador. La comunicación se
realiza por paso de mensajes, es decir,
para que un dato que reside en la
memoria de un procesador pase a la de
otro, el primero debe construir un
mensaje por software, enviarlo a través
de una red de interconexión y el segundo
debe recibirlo.
Unidad de SI SD
Elemento Memoria
Control 1 de proceso 1 Local 1
Red de
SI SD Interco-
Unidad de Elemento Memoria
nexión
Control 2 de proceso 2 Local 2
Unidad de SI SD
Elemento Memoria
Control n de proceso n Local n
CLASIFICACIÓN DE LAS
ARQUITECTURAS PARALELAS
OTROS CRITERIOS DE
CLASIFICACIÓN
La anterior clasificación, siendo muy completa
e ilustrativa, no puede considerarse
definitiva. De hecho, atendiendo a otros
factores o desde otros puntos de vista, se
pueden realizar taxonomías diferentes
como:
REDES DE INTERCONEXIÓN
REDES DE INTERCONEXIÓN
LIMITACIONES: