Tema 4: Arquitecturas paralelas

Anuncio
Departamento de Automática
Arquitectura e Ingeniería de Computadores
Tema 4
Arquitecturas Paralelas
Prof.
Dr. José Antonio de Frutos Redondo
Dr. Raúl Durán Díaz
Curso 2010-2011
Arquitectura e Ingeniería de Computadores
Tema 4. Arquitecturas Paralelas
„
„
Arquitecturas paralelas.
„
¿En qué consiste una arquitectura paralela?
„
Evolución y convergencia de las arquitecturas paralelas.
Redes de interconexión.
„
„
„
Redes de interconexión estáticas.
Redes de interconexión dinámicas.
Coherencia en memoria cache.
„
„
„
Fuentes de incoherencia.
Protocolos basados en escucha.
Protocolos basados en directorios.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 2
Arquitectura e Ingeniería de Computadores
Sistemas vectoriales instalados (85-93)
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 3
Arquitectura e Ingeniería de Computadores
Base instalada de Crays (76-85)
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 4
Comparativa Vectoriales-MPP
„
10,000
z MPP peak
„ CRAY peak
ASCI Red z
1,000
LINPACK (GFLOPS)
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
Paragon XP/S MP
(6768)
z
Paragon XP/S MP
(1024) z
„ T3D
CM-5 z
100
T932(32) „
Paragon XP/S
CM-200 z
CM-2 z
10
1„
z
Delta
z iPSC/860
z nCUBE/2(1024)
1989
1991
Desde 1993,
Cray produce
también MPP
(T3D, T3E)
„ C90(16)
Xmp /416(4)
0.1
1985
1987
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
z
„
Ymp/832(8)
Cray
vectoriales
(paralelos) :
X-MP (2-4)
Y-MP (8)
C-90 (16)
T94
(32)
1993
1995
1996
4. Arquitecturas paralelas 5
Arquitectura e Ingeniería de Computadores
Sistemas vectoriales por fabricante
Total
NEC
1992
1991
1990
1989
1988
1987
1986
Hitachi
Fujitsu
CDC
Cray
0
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
200
400
600
4. Arquitecturas paralelas 6
Lista TOP500 de los computadores más rápidos
350
300 „
Number of systems
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
239
‹
250
200
‹187
© J. A. de Frutos Redondo, R. Durán 2005
Œ
63
11/94
‹
‹ MPP
„ PVP
ΠSMP
110
Œ„
106
100
0Œ
11/93
284
‹
„ 198
150
50
V1.4
319
313
106
73
11/95
„
Œ
11/96
4. Arquitecturas paralelas 7
Arquitectura e Ingeniería de Computadores
Tipos de CPU en la lista TOP500
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 8
Arquitectura e Ingeniería de Computadores
Arquitecturas en la lista TOP500
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 9
Arquitectura e Ingeniería de Computadores
Siglas en “Arquitecturas Paralelas”
„
„
„
„
„
„
SMP: Symmetric Multiprocessor.
MPP: Massively Parallel Processor. Típicamente el número
de procesadores es superior a 100.
Cluster: Conjunto de computadores completos conectados
por una red comercial.
Cluster Beowulf: Cluster de sistema operativo libre y
componentes comerciales ordinarios.
Constellation: Cluster de nodos donde cada uno de ellos es
de tipo SMP.
Grid: Colección de recursos autónomos geográficamente
distribuidos, acoplados mediante la infraestructura de
comunicaciones, y débilmente acoplados.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 10
Arquitectura e Ingeniería de Computadores
Familias de CPUs en la lista TOP500
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 11
Arquitectura e Ingeniería de Computadores
Rendimiento de los sistemas en TOP500
„
„
„
„
„
En la siguiente gráfica, se muestra el rendimiento de los
sistemas colocados en la posiciones 1, 10, 100, 500 de la
lista TOP500.
También se muestra el crecimiento acumulado.
La curva del sistema número 500 crece con un factor de 1,9
anual.
El resto de curvas muestran un crecimiento anual en un factor
de 1,8.
¡Es una especie de “ley de Moore”!
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 12
Arquitectura e Ingeniería de Computadores
Rendimiento de los sistemas en TOP500
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 13
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
Criterios antiguos
• Arquitecturas paralelas ligadas a modelos de programación.
• Arquitecturas divergentes, sin ningún patrón de crecimiento.
Aplicaciones
Arrays
Sistólicos
Sistema
Software
Arquitectura
SIMD
Paso de mensajes
Flujo de datos
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
Memoria compartida
4. Arquitecturas paralelas 14
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
Criterios actuales
„
Extensión de la arquitectura de computadores para soportar
comunicaciones y cooperación.
„
„
„
Hay que definir:
„
„
„
ANTES: Conjunto de instrucciones.
AHORA: Comunicaciones.
Abstracciones, fronteras, primitivas (interfaces)
Estructuras que implementan los interfaces (hw o sw)
Compiladores, librerías y OS son cuestiones importantes en
nuestros días.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 15
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
„
Recordemos que
„
„
Un computador paralelo es un conjunto de elementos de
proceso que se comunican y cooperan para resolver
rápidamente grandes problemas.
Podemos decir que la “Arquitectura Paralela” es:
„
Arquitectura convencional
+
„
Arquitectura de comunicación
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 16
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
Arquitectura de comunicación
„
User/System Interface + Implementación
„
User/System Interface:
„
„
Implementación:
„
„
„
„
Primitivas de comunicación a nivel de usuario y a nivel de sistema.
Estructuras que implementan las primitivas: hardware o OS
Capacidades de optimización. Integración en los nodos de proceso.
Estructura de la red.
Objetivos:
„
„
„
„
„
Rendimiento
Amplia aplicación
Fácil programación
Ampliable
Bajo coste
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 17
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
Modelos de programación
„
„
Especifica las comunicaciones y la sincronización.
Ejemplos:
„
„
„
„
Multiprogramación: no hay comunicación o sincronismo.
Paralelismo a nivel de programa.
Memoria compartida: como un tablón de anuncios.
Paso de mensajes: como cartas o llamadas telefónicas, punto a
punto.
Paralelismo de datos: varios agentes actúan sobre datos
individuales y luego intercambian información de control antes
de seguir el proceso.
„
El intercambio se implementa con memoria compartida o con paso
de mensajes.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 18
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
„
Niveles de abstracción en la comunicación
CAD
Database
Multiprogramming
Shared
address
Scientific modeling
Message
passing
Data
parallel
Compilation
or library
Operating systems support
Communication hardware
Parallel applications
Programming models
Communication abstraction
User/system boundary
Hardware/software boundary
Physical communication medium
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 19
Arquitectura e Ingeniería de Computadores
Arquitecturas Paralelas
Evolución de los modelos arquitectónicos
„
Modelo de programación, comunicación y organización de la
máquina componen la arquitectura.
„
„
„
„
Espacio de memoria compartida.
Paso de mensajes.
Paralelismo de datos.
Otras:
„
„
Flujo de datos.
Arrays sistólicos.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 20
Arquitectura e Ingeniería de Computadores
Memoria Compartida
„
Cualquier procesador puede referenciar directamente cualquier
posición de memoria.
„
„
La comunicación se realiza implícitamente por medio de cargas
y almacenamientos.
Ventajas:
„
Localización transparente.
„
Programación similar a tiempo compartido en uniprocesadores.
„
„
Excepto que los procesos se ejecutan en diferentes
procesadores.
Buen rendimiento en distribución de carga.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 21
Arquitectura e Ingeniería de Computadores
Memoria Compartida
„
„
Proporcionado en un amplio rango de plataformas.
„
Históricamente sus precursores datan de los años 60.
„
Desde 2 procesadores a cientos de procesadores.
Conocidas como máquinas de memoria compartida.
„
Ambigüedad: la memoria puede estar distribuida en los
procesadores.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 22
Arquitectura e Ingeniería de Computadores
Memoria Compartida
„
„
Proceso: espacio de direcciones virtuales más una o varias
hebras.
Parte de las direcciones son compartidas por varios
procesos.
„
„
„
Las escrituras en posiciones compartidas son visibles a las
otras hebras (también en otros procesos).
Es la extensión natural del modelo uniprocesador: memoria
convencional; operaciones atómicas especiales para la
sincronización.
El sistema operativo usa la memoria compartida para coordinar
procesos.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 23
Arquitectura e Ingeniería de Computadores
Memoria Compartida
Direcciones Físicas en la máquina
Espacio de direcciones virtuales.
Conjunto de procesos con comunicación
por medio de memoria compartidas
Pn pr i vat e
Load
P0
P1
Pn
P2
Store
Direcciones
Físicas
compartidas
Espacio de
direcciones
compartidas
P2 pr i vat e
Espacio de
direcciones privadas
P1 pr i vat e
P0 pr i vat e
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 24
Arquitectura e Ingeniería de Computadores
Memoria Compartida
Hardware de comunicación
I/O
devices
Mem
Mem
Mem
Interconnect
Processor
Mem
I/O ctrl
I/O ctrl
Interconnect
Processor
Aumento independiente de capacidades de memoria, de I/O o de
proceso añadiendo módulos, controladores o procesadores.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 25
Arquitectura e Ingeniería de Computadores
Memoria Compartida
Estrategia de
comunicaciones en
“Mainframe”:
•Red de barras cruzadas.
•Inicialmente limitado por el
coste de los procesadores.
Después, por el coste de la
red.
•El ancho de banda crece
con p.
•Alto coste de ampliación;
uso de redes multietapa.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
P
P
I/O
C
I/O
C
M
M
M
M
4. Arquitecturas paralelas 26
Arquitectura e Ingeniería de Computadores
Memoria Compartida
Estrategia de comunicaciones
en “Minicomputer”:
•Casi todos los sistemas con
microprocesadores usan bus.
•Muy usados para computación
paralela.
•Llamados SMP, symmetric
multiprocessor.
•El bus puede ser un cuello de
botella.
•Problema de la coherencia en
cache.
•Bajo coste de ampliación
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
I/O I/O
C
C
M
M
$
$
P
P
4. Arquitecturas paralelas 27
Arquitectura e Ingeniería de Computadores
Memoria Compartida
CPU
P-Pro
module
256-KB
L2 $
Interrupt
controller
Bus interface
P-Pro
module
P-Pro
module
„
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
PCI
bridge
PCI bus
PCI
I/O
cards
PCI
bridge
PCI bus
P-Pro bus (64-bit data, 36-bit addr ess, 66 MHz)
Memory
controller
MIU
1-, 2-, or 4-way
interleaved
DRAM
Ejemplo: Intel Pentium Pro
Quad.
„ Coherencia y multiproceso
integrados en el modulo
procesador.
4. Arquitecturas paralelas 28
P
$
P
$
$2
$2
CPU/mem
car ds
Mem ctrl
Bus interface/switch
Gigaplane bus (256 data, 41 addr
„
El acceso a la memoria es por bus,
simétrico.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
SBUS
16 tarjetas de cualquier tipo:
procesadores + memoria, o I/O.
2 FiberChannel
„
SBUS
Ejemplo: SUN Enterprise.
SBUS
„
ess, 83 MHz)
I/O car ds
Bus interface
100bT, SCSI
Arquitectura e Ingeniería de Computadores
Memoria Compartida
4. Arquitecturas paralelas 29
Arquitectura e Ingeniería de Computadores
Memoria Compartida
Otras opciones en comunicación:
M
M
°°°
M
Network
$
$
P
P
Network
°°°
$
P
UMA o Dance hall
„
„
„
„
M
$
P
M
$
°°°
P
M
$
P
NUMA
Problemas de interconexión: coste (barras cruzadas) o ancho de banda (bus).
Dance-hall: ampliable a menor coste que en barras cruzadas.
„ Latencia en acceso a memoria uniforme, pero alta.
NUMA (non-uniform memory access):
„ Construcción de un simple espacio de memoria con latencias diferentes.
COMA: Arquitectura de memoria a base de caches compartidas.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 30
Arquitectura e Ingeniería de Computadores
Memoria Compartida
Ejemplo: Cray T3E
Exter nal I/O
P
$
Mem
Mem
ctrl
and NI
XY
Switch
Z
„
Ampliable a 1024 procesadores, enlaces de 480MB/s.
„
El controlador de memoria genera las peticiones para posiciones no locales.
„
No tiene mecanismo de hardware para coherencia (SGI Origin y otros sí lo
proporcionan)
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 31
Arquitectura e Ingeniería de Computadores
Paso de Mensajes
„
„
„
„
Construidos por medio de computadores completos,
incluyendo I/O.
„ Comunicación por medio de operaciones explícitas de
I/O.
Modelo de programación: acceso directo sólo a direcciones
privadas (memoria local), comunicación por medio de
mensajes (send/receive)
Diagrama de bloques similar al NUMA
„ Pero las comunicaciones se integran a nivel de I/O.
„ Como redes de workstations (clusters), pero mayor
integración.
„ Más fáciles de construir y ampliar que los sistemas
NUMA.
Modelo de programación menos integrado en el hardware.
„ Librerías o intervención del sistema operativo.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 32
Arquitectura e Ingeniería de Computadores
Paso de Mensajes
send especifica el buffer a transmitir y el proceso receptor.
„ recv especifica el proceso emisor y el buffer de
almacenamiento.
„ Son copias memoria-memoria, pero se necesitan los nombres
de procesos.
„ Opcionalmente se puede incluir el destino en el envío y unas
reglas de identificación en el destino.
„ En la forma simple, el emparejamiento se consigue por medio
de la sincronización de sucesos send/recv.
„
„
„
Existen múltiples variantes de sincronización.
Grandes sobrecargas: copia, manejo de buffer, protección.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 33
Arquitectura e Ingeniería de Computadores
Paso de Mensajes
Match
Receive, Y,P, t
Direcciones Y
Send X, Q, t
Dir X
Espacio local
del proceso
Proceso P
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
Espacio local
del proceso
Proceso Q
4. Arquitecturas paralelas 34
Arquitectura e Ingeniería de Computadores
Paso de Mensajes
Evolución en las máquinas de Paso de Mensajes
„
Primeras máquinas: FIFO en cada
enlace.
„
„
„
Modelo de programación muy
próximo al hw; operaciones simples
de sincronización.
Reemplazado por DMA, permitiendo
operaciones no bloqueantes.
„
Buffer de almacenamiento en
destino hasta recv.
101
001
Disminución de la influencia de la
topología (enrutado por hw).
„
„
„
„
Store&forward routing: importa la
topología.
Introducción de redes multietapa.
Mayor coste: comunicación nodo red.
Simplificación de la programación
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
100
000
111
011
110
010
4. Arquitecturas paralelas 35
Ejemplo: IBM SP-2
Power 2
CPU
IBM SP-2 node
L2 $
Memory bus
General inter connection
network formed fr om
8-port switches
4-way
interleaved
DRAM
Memory
contr oller
Micr oChannel bus
NIC
„
Realizado a base
de estaciones
RS6000.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
I/O
DMA
i860
NI
DRAM
Arquitectura e Ingeniería de Computadores
Paso de Mensajes
4. Arquitecturas paralelas 36
Arquitectura e Ingeniería de Computadores
Paso de Mensajes
i860
i860
L1 $
L1 $
Intel
Paragon
node
Memory bus (64-bit, 50 MHz)
Mem
ctrl
DMA
Driver
Sandia’ s Intel Paragon XP/S-based Super
computer
2D grid network
with pr ocessing node
attached to every switch
NI
4-way
interleaved
DRAM
8 bits,
175 MHz,
bidir ectional
Ejemplo Intel Paragon.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 37
Arquitectura e Ingeniería de Computadores
La Convergencia de las Arquitecturas
„
La evolución y el papel del software ha difuminado las
fronteras entre memoria compartida y paso de mensajes.
„
„
„
Se puede construir un espacio global de direcciones en Paso
de Mensajes.
También converge la organización del hardware.
„
„
„
send/recv soporta memoria compartida vía buffers.
Mayor integración para Paso de Mensajes (menor latencia,
mayor ancho de banda)
A bajo nivel, algunos sistemas de memoria compartida
implementan paso de mensajes en hardware.
Distintos modelos de programación, pero también en
convergencia.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 38
Arquitectura e Ingeniería de Computadores
Paralelismo de Datos
Modelo de programación:
„
Las operaciones se ejecutan en paralelo en
cada elemento de la estructura.
Una hebra de control, ejecución paralela.
„
Un procesador asociado a cada elemento.
„
Contr ol
processor
Modelo arquitectónico:
„
„
„
Array de muchos procesadores
simples, baratos y con poca
memoria.
Asociados a un procesador de
control que emite las
instrucciones.
Fácil sincronización de
comunicaciones.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
PE
PE
°°°
PE
PE
PE
°°°
PE
°°°
°°°
PE
PE
°°°
°°°
PE
4. Arquitecturas paralelas 39
Arquitectura e Ingeniería de Computadores
Paralelismo de Datos
EVOLUCION
„ Rígida estructura de control (SIMD en la taxonomía de Flynn)
„ Populares cuando el coste ahorrado con la centralización era
alto.
„
„
En los 60, cuando la CPU era un armario.
Reemplazados por vectoriales a mediados de los 70.
„
„
„
„
Revivido en los 80 cuando aparecen 32-bit datapath slices.
Aniquilados por los modernos microprocesadores.
Más razones para su desaparición:
„
„
„
Más flexibles y fáciles de manejar
Las aplicaciones regulares son fáciles de ejecutar por su
localidad en otro tipo de procesadores.
MIMD son eficaces y más generales en el paralelismo de datos.
El modelo de programación converge con SPMD (single
program multiple data).
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 40
Arquitectura e Ingeniería de Computadores
Flujo de Datos
1
a = (b +1) × (b − c)
d=c ×e
f=a ×d
b
c
e
−
+
×
d
×
Dataflow graph
a
×
Network
f
Token
stor e
Program
stor e
Waiting
Matching
Instruction
fetch
Execute
Form
token
Network
Token queue
Network
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 41
Arquitectura e Ingeniería de Computadores
Flujo de Datos
EVOLUCIÓN
„
Claves:
„ Capacidad para el nombramiento de instrucciones, sincronización,
planificación dinámica.
„
Problemas:
„ Manejo de complejas estructuras de datos, como arrays.
„ Complejidad de la memoria de emparejamiento y la unidades de
memoria.
„
Convergencia al uso de procesadores y memoria convencional.
„ Soporte para conjuntos de hebras ejecutadas en distintos
procesadores.
„ Uso de memoria compartida.
„ Progresiva separación entre el modelo de programación y el HW.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 42
Arquitectura e Ingeniería de Computadores
Interconexión de sistemas paralelos
„
„
La misión de la red en una arquitectura paralela es transferir
información desde cualquier fuente a cualquier destino
minimizando la latencia y con coste proporcionado.
La red se compone de:
„
„
„
„
nodos;
conmutadores;
enlaces.
La red se caracteriza por su:
„
„
„
„
topología: estructura de la interconexión física;
enrutado: que determina las rutas que los mensajes pueden o
deben seguir en el grafo de la red;
estrategia de conmutación: de circuitos o de paquetes;
control de flujo: mecanismos de organización del tráfico.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 43
Arquitectura e Ingeniería de Computadores
Interconexión de sistemas paralelos
„
Clasificación de las redes por su topología.
„
Estáticas:
„
„
„
„
conexiones directas estáticas punto a punto entre los nodos;
fuerte acoplamiento interfaz de red-nodo;
los vértices del grafo de la red son nodos o conmutadores;
se clasifican a su vez:
„
„
simétricas: anillo, hipercubo, toro;
no simétricas: bus, árbol, malla.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 44
Arquitectura e Ingeniería de Computadores
Interconexión de sistemas paralelos
„
Clasificación de las redes por su topología.
„
Dinámicas:
„
„
los conmutadores pueden variar dinámicamente los nodos que
interconectan.
Se clasifican a su vez:
„
„
monoetapa;
multietapa:
„ bloqueante (línea base, mariposa, baraje);
„ reconfigurable (Beneš);
„ no bloqueante (Clos).
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 45
Arquitectura e Ingeniería de Computadores
Interconexión de sistemas paralelos
„
Parámetros característicos de una red:
„
Tamaño de la red: número de nodos que la componen.
„
Grado de un nodo: número de enlaces que inciden en el nodo.
„
„
Diámetro de la red: es el camino mínimo más largo que se
puede encontrar entre dos nodos cualesquiera de la red.
Simetría: una red es simétrica si todos los nodos son
indistinguibles desde el punto de vista de la comunicación.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 46
Arquitectura e Ingeniería de Computadores
Redes estáticas
Red lineal
Anillo
Arbol
Malla
Estrella
Red sistólica
Cubo-3
Totalmente conexa
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
Anillo cordal
4. Arquitecturas paralelas 47
Arquitectura e Ingeniería de Computadores
Redes estáticas
Tipo de red
grado
diámetro
enlaces
simetría
lineal
2
N−1
N−1
no
anillo
2
N/2
N
sí
totalmente conexa
N−1
1
N(N − 1)/2
sí
arbol
(h = log2 N + 1)
3
2(h − 1)
N−1
no
estrella
N−1
2
N−1
no
malla - 2D (r x r)
4
2(r − 1)
2N − 2r
no
hipercubo n
n
n
nN/2
sí
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 48
Arquitectura e Ingeniería de Computadores
Redes estáticas
Hipercubo 3D ciclo-conexo
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 49
Arquitectura e Ingeniería de Computadores
Redes estáticas
Ejemplo de conexiones en un hipercubo 3
Conexión de nodos que se diferencian en el bit menos significativo
000
110
111
011
100
101
110
111
Conexión de nodos que se diferencian en el segundo bit
000
100
101
001
010
011
100
101
110
111
Conexión de nodos que se diferencian en el bit más significativo
001
000
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
010
011
010
000
001
001
010
011
100
101
110
111
4. Arquitecturas paralelas 50
Arquitectura e Ingeniería de Computadores
Redes dinámicas
„
Redes dinámicas: son redes cuya configuración puede
modificarse. Hay dos tipos:
„
„
„
Las redes monoetapa realizan conexiones entre
elementos de proceso en una sola etapa.
„
„
monoetapa.
multietapa.
Puede que no sea posible llegar desde cualquier elemento a
cualquier otro, por lo que puede ser necesario recircular la
información (=>redes recirculantes)
Las redes multietapa realizan conexiones entre los
elementos de proceso en más de una etapa.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 51
Arquitectura e Ingeniería de Computadores
Redes dinámicas
Redes de interconexión monoetapa
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 52
Arquitectura e Ingeniería de Computadores
Redes dinámicas
Red de barras cruzadas: permite cualquier conexión.
EP0
EP0
EP1
EP1
EPn
EPn
EP0
EP1
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
EPn
M0
M1
Mm
4. Arquitecturas paralelas 53
Arquitectura e Ingeniería de Computadores
Redes dinámicas
Redes de interconexión (multietapa)
Cajas de conmutación
a0
b
a1
b
0
a0
b
1
a1
b
1
Cruce
Paso directo
a0
b
a1
b
Difusión inferior
0
0
a0
b
1
a1
b
0
1
Difusión superior
Las cuatro configuraciones posibles de una caja de
conmutación de 2 entradas.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 54
Arquitectura e Ingeniería de Computadores
Redes dinámicas bloqueantes
„
Redes multietapa bloqueantes.
„
„
Se caracterizan porque no es posible establecer siempre una
nueva conexión entre un par fuente/destino libres, debido a
conflictos con las conexiones en curso.
Generalmente existe un único camino posible entre cada par
fuente/destino.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 55
Arquitectura e Ingeniería de Computadores
Redes dinámicas bloqueantes
„
Red de línea base:
Red de línea base 8 x 8
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 56
Arquitectura e Ingeniería de Computadores
Redes dinámicas bloqueantes
„
Red mariposa:
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 57
Arquitectura e Ingeniería de Computadores
Redes dinámicas bloqueantes
„
Red baraje perfecto:
Barajado perfecto
000
000
000
000
001
001
001
001
010
010
010
010
011
011
011
011
100
100
100
100
101
101
101
101
110
110
110
110
111
111
111
111
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
Barajado perfecto inverso
4. Arquitecturas paralelas 58
Arquitectura e Ingeniería de Computadores
Redes dinámicas reconfigurables
„
Redes multietapa reconfigurables.
„
„
Se caracterizan porque es posible establecer siempre una
nueva conexión entre un par fuente/destino libres, aunque haya
conexiones en curso, pero puede hacerse necesario un cambio
en el camino usado por alguna(s) de ellas (reconfiguración).
Interesante en procesadores matriciales, en donde se conoce
simultáneamente todas las peticiones de interconexión.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 59
Arquitectura e Ingeniería de Computadores
Redes dinámicas reconfigurables
„
Red de Beneš:
Red de Benes 8 x 8
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 60
Arquitectura e Ingeniería de Computadores
Redes dinámicas reconfigurables
„
La red de Beneš se puede construir recursivamente:
Red de Benes 4 x 4
Red de Benes 4 x 4
Red de Benes 8 x 8
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 61
Arquitectura e Ingeniería de Computadores
Redes dinámicas no bloqueantes
„
Redes dinámicas no bloqueantes.
„
„
Se caracterizan porque es posible establecer siempre una
nueva conexión entre un par fuente/destino libres sin
restricciones.
Son análogas a los conmutadores de barras cruzadas, pero
pueden presentar mayor latencia, debido a las múltiples etapas.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 62
Arquitectura e Ingeniería de Computadores
Redes dinámicas no bloqueantes
„
Red de Clos:
nxm
rxr
mxn
1
1
1
1
1
n
n
2
2
2
r
m
r
Red de Clos
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 63
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
Estructuras comunes de la jerarquía de memoria en
multiprocesadores
„
„
„
„
Memoria cache compartida.
Memoria compartida mediante bus.
Interconexión por medio de red (dance-hall)
Memoria distribuida.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 64
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
Cache compartida
„ Pequeño número de
procesadores (2-8)
„ Fue común a mediados
de los 80 para conectar
un par de procesadores
en placa.
„ Posible estrategia en
chip multiprocesadores.
P1
Pn
Memoria cache
(Entrelazada)
Memoria principal
(Entrelazada)
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 65
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
Compartición por medio de
bus.
„ Ampliamente usada en
multiprocesadores de
pequeña y mediana escala
(20-30)
„ Forma dominante en las
máquinas paralelas
actuales.
„ Los microprocesadores
modernos están dotados
para soportar protocolos
de coherencia en esta
configuración.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
P1
Pn
Memoria
cache
Memoria
cache
bus
Memoria principal
4. Arquitecturas paralelas 66
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
Salón de baile
„ Fácilmente escalable.
„ Estructura simétrica
UMA.
„ Memoria demasiado
lejana especialmente
en grandes sistemas.
P1
Pn
Memoria
cache
Memoria
cache
Red de interconexión
Memoria
principal
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
Memoria
principal
4. Arquitecturas paralelas 67
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
Memoria distribuida
•Especialmente atractiva par multiprocesadores escalables.
•Estructura no simétrica NUMA.
•Accesos locales rápidos.
Memoria
principal
P1
Pn
Memoria
cache
Memoria
cache
Memoria
principal
Red de interconexión
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 68
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
El problema de la coherencia
„
„
Datos actualizados en memoria principal y las caches
particulares.
Monoprocesadores:
„
„
„
Incoherencia en distintos niveles.
Operaciones de I/O.
Multiprocesadores:
„
„
Incoherencia en distintos niveles
Incoherencia en el mismo nivel
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 69
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
Fuentes de incoherencia:
„
„
„
Los datos compartidos.
La migración de procesos.
Las operaciones de entrada-salida.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 70
Fuentes de incoherencia
Arquitectura e Ingeniería de Computadores
Datos compartidos
en caches de escritura directa.
P0
P1
P2
Pn
Memoria
cache
Memoria
principal
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 71
Fuentes de incoherencia
Arquitectura e Ingeniería de Computadores
Datos compartidos
en caches de post-escritura.
P0
P1
P2
Pn
Memoria
cache
Memoria
principal
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 72
Fuentes de incoherencia
Arquitectura e Ingeniería de Computadores
Migración de procesos
en caches de escritura directa.
P0
P1
P2
Pn
Memoria
cache
Memoria
principal
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 73
Fuentes de incoherencia
Arquitectura e Ingeniería de Computadores
Migración de procesos
en caches de post-escritura.
P0
P1
P2
Pn
Memoria
cache
Memoria
principal
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 74
Arquitectura e Ingeniería de Computadores
Fuentes de incoherencia
Operaciones de entrada salida
P0
P1
P2
Pn
Memoria
cache
Memoria
principal
Entrada
Salida (post-escritura)
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 75
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
Posibles soluciones
„
„
„
„
Caches locales.
Memoria cache compartida.
Caches privadas con protocolos de escucha.
Caches privadas con directorio compartido.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 76
Arquitectura e Ingeniería de Computadores
Coherencia en Memoria Cache
„
Políticas de mantenimiento de coherencia
„
„
Invalidar.
Actualizar.
X
X
X
X
X
P
P
P
P
X'
X'
X'
I
I
I
X'
X'
X'
X'
P
P
P
P
P
P
P
P
Invalidar
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
Actualizar
4. Arquitecturas paralelas 77
Arquitectura e Ingeniería de Computadores
Protocolos de escucha
Protocolos snoopy
„
„
„
„
Sistemas de memoria basados en bus.
Escucha de las operaciones (snoop)
Se deben transmitir las operaciones de lectura y escritura.
Las operaciones de cambio de bloque no influyen en el
estado del bloque en otros procesadores.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 78
Arquitectura e Ingeniería de Computadores
Protocolos de escucha
Protocolos snoopy
Caches de escritura directa.
R(i), W(i)
R(j)
W(j)
inválido
válido
R(i)
R(j)
W(i)
W(j)
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 79
Arquitectura e Ingeniería de Computadores
Protocolos de escucha
Protocolos snoopy
Caches de post-escritura MSI.
R(j)
R(i)
W(i)
W(i)
M
W(i)
S
R(i)
R(j)
R(i)
W(j)
W(j)
I
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
R(j), W(j)
4. Arquitecturas paralelas 80
Arquitectura e Ingeniería de Computadores
Protocolos de escucha
Protocolos snoopy
Caches de post-escritura MESI.
W(i)
R(i)
W(i)
M
R(i)
E
W(i)
R(j) W(i)
R(j) S
R(i) S
W(j)
W(j)
R(i)
R(j)
S
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
R(i) S
W(j)
I
W(j)
R(j)
4. Arquitecturas paralelas 81
Arquitectura e Ingeniería de Computadores
Protocolos basados en directorios
Protocolos basados en directorios
„
„
„
„
Multiprocesadores con red de interconexión.
Dificultades de broadcast y su escalabilidad.
Directorio: guarda la información relativa al estado del bloque
de cache.
Directorios centralizados y directorios distribuidos.
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 82
Arquitectura e Ingeniería de Computadores
Protocolos basados en directorios
Fallo de lectura en estado modificado.
1
P1
Bloque
Mem.
P2
2
Bloque
Mem.
Cache
Directorio
3
Directorio
Cache
P3
4
4
Bloque
Mem.
Cache
Directorio
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
4. Arquitecturas paralelas 83
Arquitectura e Ingeniería de Computadores
Protocolos basados en directorios
Fallo de escritura en estado compartido.
1
P1
Bloque
Mem.
P2
2
Bloque
Mem.
Cache
Cache
Directorio
Directorio
4
4
P3
Bloque
Mem.
Cache
Directorio
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
P4
3 3
Bloque
Mem.
Directorio
Cache
4. Arquitecturas paralelas 84
Arquitectura e Ingeniería de Computadores
Protocolos basados en directorios
Estructura del directorio (directorios completos)
P
Bloque
Mem.
Cache
Directorio
0
0
1
0
1
Dirty
P0
P1
P2
Pm
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
bloque
4. Arquitecturas paralelas 85
Arquitectura e Ingeniería de Computadores
Protocolos basados en directorios
Estructura del directorio (directorios limitados)
P
Cache
Bloque
Mem.
Directorio
log2 P
0
Dirty
bloque
I1
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
I2
In
4. Arquitecturas paralelas 86
Arquitectura e Ingeniería de Computadores
Protocolos basados en directorios
Estructura del directorio (directorios encadenados)
log2 P
0
P
bloque
Dirty
P
FC
FC
Bloque
Mem.
Directorio
Cache
Cache
FC
P
P
Bloque
Mem.
Directorio
© J. A. de Frutos Redondo, R. Durán 2005
V1.4
Bloque
Mem.
Directorio
Cache
P
Bloque
Mem.
Directorio
Cache
4. Arquitecturas paralelas 87
Descargar