ARQUITECTURAS MIMD Introducción Docente: José Díaz Chow.
-
Upload
cenobia-abeita -
Category
Documents
-
view
122 -
download
0
Transcript of ARQUITECTURAS MIMD Introducción Docente: José Díaz Chow.
ARQUITECTURAS MIMD
Introducción
Docente: José Díaz Chow
ARQUITECTURAS MIMD
FLYNN: Múltiple flujo de instrucciones, Multiples flujos de
Datos.
¿Qué significa para la arquitectura? Sistemas paralelos que se componen por varios
procesadores trabajando simultánea o concurrentemente.
Paralelismo
¿Qué significa que procesamiento sea paralelo?Que existan al mismo tiempo (simultáneamente):
• Múltiples ejecutores trabajando en conjunto y/o
• Ejecución de múltiples tareas.
Casos: Un ejecutor con múltiples tareas solapadas o a la vez:
— Segmentación y Supersegmentación.— Superescalaridad.
Varios ejecutores con una misma tarea. Varios ejecutores con múltiples tareas.
Paralelismo
Dos componentes, de acuerdo a sus formas de operación: Temporal:
Solapamiento de ejecución de múltiples tareas en el tiempo.
Espacial: Multiplicidad de ejecutores trabajando
simultáneamente en una o varias tareas.
Niveles de Paralelismo Nivel de tareas (Job Level): Diferentes
procesadores ejecutando diferentes procesos.
• Nivel de instrucciones (Instruction Level): Diferentes instrucciones ejecutándose en un procesador (Pipelining, Superpiplining, Scalar, Superescalar)
CPU
• Nivel de Programa (Program level): Diferentes procesadores ejecutando diferentes secciones de un mismo programa en paralelo.
• Nivel de Aritmética y bits. (Bit Level): Varios procesadores trabajando en paralelo sobre diferentes secciones de bits de los datos. (Bit slice processor)
Grano Grueso
Grano Fino
Arquitecturas MIMD Trabajan en nivel de paralelismo de grano
grueso
Clasificación (Según Salomon): Multiprocesadores: Memoria compartida Multicomputadoras: Memoria distribuida
Por nivel de Acoplamiento: Fuertemente acoplados (Thightly coupled): Débilmente acoplados (Loosely coupled)
Comparación Monoprocesador – Multiprocesador en procesamiento a job level
P
Pr
Pr
P r
P r
P1 P2 P3
Pr
Pr
P r
P r
SistemaMonoprocesador
S istemaMultiprocesador
Estructuras de Interconexión
Deben proveer mecanismo para comunicación entre diferentes entidades de procesamiento y entre ellas y memoria.
En dependencia de su tipología pueden demandar alto ancho de banda.
Suelen emplearse las mismas estructuras de los SIMD. Difieren en cuanto al tipo de MIMD, los
multiprocesadores requieren énfasis en acceso a memoria compartida y los multicomputadores en la comunicación interprocesador.
Clasificación MIMD por estructura de Interconexión
MIMD
Multiprocesadores Multicomputadoras
Basados en Buses
Basados en redes
conmutadas
Basados en redes inter-procesador
Basados en servicios de
red
Sequent, Encore
Ultracomputer,RP3
Hipercubo, Transputer
Sistemas Distribuidos
Estructura de Bus común
Todos los CPUs comparten un mismo bus del sistema para acceder a memoria compartida y opcionalmente a dispositivos o canales de Entrada – Salida.
P1 P2 P3 P4
M1 M2 IOP1 IOP2
MIMD con estructura de interconexión en Bus común.
Estructura de Bus común
El acceso a memoria se convierte en cuello de botella. Necesidad de arbitraje para el control del bus del
sistema. El empleo de jerarquía de memoria puede reducir el
impacto de contención de acceso. Problema de coherencia de cachés. Diferentes esquemas de solución.
P1 P2 P3 P4
M 1 M 2 IOP IOP
MIMD con Estructura de interconexiónempleando Bus común
Red de conmutación de barras cruzadas. Un bus común generar contención, varios buses
pueden distribuir el tráfico entre los CPUs y Memoria
M0 M1 M2 M3
P1
P2
P3
P4
Red de conmutación de barras cruzadas. El conmutador se encarga de controlar el tráfico en los
buses de procesadores y memorias. Direcciones y son pueden soportarse
concurrentemente. La dirección tiene mayor prioridad y bloquea a la dirección .
Cualquier procesador puede acceder a cualquier módulo de memoria que no esté ocupado por un procesador de mayor prioridad.
Las prioridades establecidas por la posición.
Memorias Multipuerto Las memorias multipuerto permiten atender n
procesadores de forma concurrente.
M0 M1
P1
P2
P1
P2
Memorias Multipuerto
Esquema de interconexión ideal para sistemas de memoria compartida.
Muy ventajoso en caso de pocos CPUs y alto requerimiento de ancho de banda en transferencias CPU-Memoria.
No son escalables. La cantidad de CPUs está limitada a los puertos disponibles en las Memorias.
Costo muy elevado.
Redes de conmutación
Para permitir mayor cantidad de procesadores, se proponen estructuras de interconexión basadas en redes de conmutación multietapa.
Redes multietapa Basadas en conmutadores de intercambio que tienen
n entradas y m salidas. Cada entrada puede conmutar hacia cualquiera de las
salidas que no esté ocupada. Esquema de prioridades de entradas.
Ejemplo de red: Red Delta
Comunica p procesadores a m módulos de memoria, tal que m es potencia de 2 de p.
La interconexión se establece en base a la dirección de memoria a acceder
Ejemplo de red: Red Omega
Comunica p procesadores a m módulos de memoria, tal que p <= m.
Otros escenarios y usos.
Redes de intercambio de mensajes Habilitan comunicación entre procesadores (nodos de
la red) mediante paso de mensajes. Empleo prevalece en sistemas débilmente acoplados.
Ejemplo de Red: Hipercubo Proceso recursivo. Parte de una red 1D para formar una 2D
duplicando la red anterior e interconectando los nodos homólogos. Asigna a cada nodo de la red 1D una dirección 0 , 1. Al ampliarse la
red, se antepone 0 a los nodos de la primera red y 1 a los de la réplica.
Ejemplo de Red: Hipercubo Asignación de direcciones también puede seguir
coordenadas cartesianas. Direcciones de nodos adyacentes solo difiere en 1 bit.
Ejemplo de Red: Hipercubo Algritmo de ruteo para el paso de mensajes:
Ruta = Direccion_Fuente Direccion_Destino.
Ruta describe trayectoria del paquete en los ejes coodenados.