Está en la página 1de 10

ARQUITECTURAS

EN PARALELO
TAXONOMÍA DE
FLYNN
SE BASA EN DOS CARACTERÍSTICAS:
● Nº de datos que se pueden procesar
● Nº de flujos de instrucciones que
se pueden procesar

MIMD
ARQUITECTURAS EN
PARALELO
• Sistema con dos o mas procesadores
conectados de tal manera que les
sea posible compartir la ejecución
de una determinada tarea (realizar
procesamiento paralelo).
• MIMD
porque en un mismo instante de
tiempo existen múltiples cadenas
de instrucciones que están siendo
ejecutadas sobre diferentes
secuencias de datos.
MIMD: Multicomputadoras
Procesadores débilmente acoplados
• Cada CPU tiene su propia memoria, invisible
para la demás. La comunicación entre
procesadores se realiza a través de un
mecanismo de pasaje de mensajes. Desde el
punto de vista del programador no existen las
variables globales, sino canales de
comunicación y operaciones de envío y
recepción, que deben programarse en forma
explícita. La performance de la red de
interconexión limita el número de
procesadores. Depende mucho del tipo de
aplicación.
MIMD: Multiprocesadores
Procesadores fuertemente acoplados
• Existe un único espacio de
direccionamiento. La comunicación
entre procesadores se realiza a través
de la memoria compartida. Desde el
punto de vista del programador se
trata de variables globales. Los
programas son fáciles de escribir, La
performance de la memoria limita el
número de procesadores (crítico).
Clases de multiprocesadores
UMA (Uniform Memory Access)
• En un modelo de Memoria de Acceso Uniforme
(UMA) la memoria física esta uniformemente
compartida por todos los procesadores. Esto
quiere decir que todos los procesadores
tienen el mismo tiempo de acceso a todas las
palabras de memoria, para lograr un
funcionamiento correcto debe garantizarse de
manera explícita el acceso sincronizado a los
datos.
Clases de multiprocesadores
NUMA (No Uniform Memory Access)
• Un multiprocesador de tipo NUMA es un sistema
de memoria compartida donde el tiempo de
acceso varía según el lugar donde se encuentre
localizado el acceso. La memoria compartida se
divide en tantos bloques como procesadores
haya, y cada bloque se une a un procesador
mediante un bus. Esto se debe a que la memoria
se encuentra físicamente distribuida. Si bien,
en principio, todos los procesadores pueden
acceder a cualquier lugar de memoria, cada uno
de ellos tiene un área de almacenamiento local
de más rápido acceso.
Clases de multiprocesadores
COMA (Cache Only Memory Access)
• Un multiprocesador que solo use
cache como memoria es considerado de
tipo COMA, Cada bloque de memoria
trabaja como una memoria caché, Los
datos migran dinámicamente de un
bloque a otro, según los procesadores
que los vayan necesitando.
VENTAJAS Y DEVENTAJAS
MULTICOMPUTADORES
Ventajas de los multicomputadores:
• Altamente escalables
• No es necesario el uso de monitores ni
otros mecanismos de sincronización, ya que
el paso de mensajes lo hace por sí mismo.
Desventajas de los multicomputadores:
• El equilibrado de la carga es difícil de
conseguir automáticamente, por lo que ha
de ser el programador el que reparta las
tareas lo mejor posible.
• El paso de mensajes puede llevar a
situaciones de interbloqueo.
• Degradación del rendimiento cuando aumenta
el tráfico de los mensajes.
VENTAJAS Y DEVENTAJAS
MULTIPROCESADORES
Ventajas de los multiprocesadores:
• No hay que partir el código ni los datos, ya
que se pueden adaptar fácilmente las técnicas
de programación monoprocesador.
• No hay que transferir datos entre
procesadores, sino que se accede a la memoria
común.
Desventajas de los multiprocesadores:
• Es necesario programar mecanismos de control
de la concurrencia(semáforos, regiones
críticas, ….).
• Muy mala escalabilidad: Cuanto mayor es el
número de procesadores, más accesos a memoria
se quieren realizar, y se agrava el cuello de
botella.
Posibles soluciones:
• Redes de interconexión rápidas entre los
procesadores y la memoria.
• Cachés (problema: coherencia de caché)
• Memoria compartida virtual

También podría gustarte