procesamiento paralelo arquitectura

10

Click here to load reader

description

Uploaded from Google Docs

Transcript of procesamiento paralelo arquitectura

Page 1: procesamiento paralelo arquitectura

ARQUITECTURAS EN PARALELO

Page 2: procesamiento paralelo arquitectura

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

Page 3: procesamiento paralelo arquitectura

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.

Page 4: procesamiento paralelo arquitectura

MIMD: MulticomputadorasProcesadores 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.

Page 5: procesamiento paralelo arquitectura

MIMD: MultiprocesadoresProcesadores 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).

Page 6: procesamiento paralelo arquitectura

Clases de multiprocesadoresUMA (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.

Page 7: procesamiento paralelo arquitectura

Clases de multiprocesadoresNUMA (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.

Page 8: procesamiento paralelo arquitectura

Clases de multiprocesadoresCOMA (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.

Page 9: procesamiento paralelo arquitectura

VENTAJAS Y DEVENTAJASMULTICOMPUTADORES

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.

Page 10: procesamiento paralelo arquitectura

VENTAJAS Y DEVENTAJASMULTIPROCESADORES

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