Professional Documents
Culture Documents
Multiprocesadores:Definici
n
Los multiprocesadores son sistemas MIMD
basados en varios procesadores funcionales
de forma paralela e independiente.
La principal caracterstica de los
multiprocesadores es que la memoria est
compartida, es decir, todos los procesadores
comparten el mismo espacio de
direccionamiento.
Multiprocesamiento:
Definicin
El procesamiento en paralelo es un proceso
empleado para acelerar el tiempo de
ejecucin de un programa dividindolo en
mltiples trozos que se ejecutarn al mismo
tiempo, cada uno en sus propios
procesadores.
La razn de ser del procesamiento en
paralelo es acelerar la resolucin de un
problema, la aceleracin que puede
alcanzarse depende tanto del problema en s
como de la arquitectura de la computadora.
Arquitecturas Paralelas
El primer paso hacia la paralelizacin de las
arquitecturas de los computadores, se da
con la aparicin de los procesadores o
sistemas vectoriales.
Los procesadores vectoriales extienden el
concepto de paralelismo por segmentacin
al tratamiento de grandes cantidades de
datos.
El hecho de que los procesadores
segmentados hayan venido asociados a los
supercomputadores paralelos, los pone en la
entrada a lo que son los sistemas paralelos.
Paralelismo de Control:
Proviene del hecho de que determinadas
sub-tareas de la aplicacin son
independientes y en consecuencia pueden
realizarse en paralelo (simultneamente).
Paralelismo de Datos:
Proviene del hecho de que ciertas
aplicaciones trabajan con escrituras de datos
muy regulares (vectores y matrices),
repitiendo una misma accin sobre cada
elemento de la estructura.
Paralelismo de Flujo:
Proviene del hecho de que ciertas
aplicaciones funcionan como un flujo de
datos sobre el que debe efectuarse una
sucesin de operaciones en cascada
(etapas).
Taxonoma de Flynn
Es la clasificacin ms extendida del
paralelismo.
Esta taxonoma de las arquitecturas est
basada en la clasificacin atendiendo al flujo
de datos e instrucciones en un sistema.
Un flujo de instrucciones es el conjunto de
instrucciones secuenciales que son
ejecutadas por un nico procesador.
Datos
Instrucci Simples
Mltiples
ones
SISD
MISD
Simples
Mltipl
es
SIMD
MIMD
SISD
SIMD
Existen dos alternativas distintas que
aparecen despus de realizarse esta
clasificacin:
Arquitectura Vectorial con segmentacin: Una
CPU nica particionada en unidades funcionales
independientes trabajando sobre flujos de datos
concretos
Arquitectura Matricial (matriz de procesadores):
Varias ALUs idnticas a las que el procesador de
instrucciones asigna una nica instruccin pero
trabajando sobre diferentes partes del
programa.
SIMD
MISD
MIMD
Clasificacin
Multiprocesadores
Puede verse como un computador paralelo
compuesto por varios procesadores
interconectados que pueden compartir un
mismo sistema de memoria.
Los procesadores se pueden configurar para
que ejecute cada uno una parte de un
programa o varios programas al mismo
tiempo.
Dado que los multiprocesadores comparten
los diferentes mdulos de memoria,
pudiendo acceder varios procesadores a un
mismo mdulo, los multiprocesadores
tambin se les llama sistemas de memoria
Modelo de la subdivisin
UMA
Cache-only Memory
Architecture (COMA)
Sistemas con acceso a memoria solo en
caches, no tiene memoria compartida fsica,
pero el cache solo constituye la memoria de
las mquinas.
Se provee un solo espacio fsico de
direcciones pero los tiempos de acceso
varan dependientemente si la ubicacin de
la memoria requerida est en el cache local
o en uno remoto.
El software de aplicacin ignorara la
arquitectura del sistema ya que la mquina
se comporta en forma muy parecida a una
mquina UMA con cache.
Cache-only Memory
Architecture (COMA)
Cluster Jerrquico
Otro modelo NUMA que nace como la mezcla del
modelo UMA explicado anteriormente y el modelo
NUMA anterior,
Es el cluster jerrquico en el que se combinan las
memorias locales y las globales obteniendo una cierta
escalabilidad del sistema.
Los procesadores aparecen distribuidos en clusters (1
sistema UMA o un 1 sistema NUMA). Estos clusters
estn conectados a la memoria global compartida.
La ventaja de estos sistemas con respecto a los
sistemas UMA, es que el acceso a memoria local es
mucho ms rpido.
Multiprocesadores de memoria
distribuida
Procesadores Matriciales
Mquinas con mltiples elementos de proceso
supervisados por una unidad de control capaces de
llevar a cabo una nica instruccin sobre mltiples
datos y corresponden a la clase SIMD de la taxonoma
de Flynn.
La idea de utilizacin de los procesadores matriciales
es explotar el paralelismo en los datos de un
problema ms que paralelizar la secuencia de
ejecucin de las instrucciones.
El problema se paraleliza dividiendo los datos en
particiones sobre las que se pueden realizar las
mismas operaciones. Un tipo de datos altamente
particionable es el formado por vectores y matrices,
por eso a estos procesadores se les llama matriciales.
Procesadores Vectoriales
Un procesador vectorial es un diseo de CPU capaz de
ejecutar operaciones matemticas sobre mltiples datos de
forma simultnea, en contraste con los procesadores
escalares, capaces de manejar slo un dato cada vez.
Los procesadores vectoriales son muy comunes en el rea de
la computacin cientfica.
En la arquitectura de procesadores vectoriales se encuentran:
Los procesadores vectoriales memoria-memoria son capaz de
extraer dos vectores de memoria y operar sobre ellos. El
inconveniente sera el cuello de botella que supondra los
accesos a memoria.
Los procesadores vectoriales registro-registro disponen de
uno o ms bancos de registros vectoriales que hagan de
memoria intermedia.
Procesadores
Vectorial:memoria-memoria
Arrays sistlicos
Son otro tipo de mquinas que se suelen considerar
MISD.
En un array sistlico hay un gran nmero de
elementos de proceso idnticos con una limitada
memoria local.
Los elementos de proceso colocados en forma de
matriz (array) de manera que slo estn permitidas las
conexiones con los elementos de proceso vecinos.
El adjetivo sistlico viene precisamente del hecho de
que todos los procesadores vienen sincronizados por
un nico reloj que hace de corazn que hace
moverse a la mquina.
Arquitecturas hbridas
Hay formas de explotar el paralelismo:
Paralelizacin de cdigo que se consigue con
las mquinas de tipo MIMD.
Paralelizacin de los datos conseguidas con
arquitecturas SIMD y MISD.
Arquitecturas Especficas
Las arquitecturas especficas son muchas
veces conocidas tambin con el nombre de
arquitecturas VLSI ya que muchas veces
llevan consigo la elaboracin de circuitos
especficos con una alta escala de
integracin.
Un ejemplo de arquitectura de propsito
especfico son las redes neuronales y los
procesadores basados en lgica difusa.
Problema de coherencia
cach
El problema de la coherencia cach en
multiprocesadores surge por las operaciones
de escritura. Ejemplo: secuencia de
operaciones de acceso a memoria (1,2,3,4,5)
realizadas por tres procesadores P1, P2, P3
sobre la posicin de memoria u.
Cach con poltica write-through.
Cach con poltica writeback.
Solucin de la coherencia
cach
Existen dos formas de abordar el problema
de la coherencia cach.
Software, lo que implica la realizacin de
compiladores que eviten la incoherencia entre
datos de cach compartidos.
Hardware, que mantengan de forma continua
la coherencia en el sistema, siendo adems
transparente al programador.