Upload
nguyentuyen
View
220
Download
0
Embed Size (px)
Citation preview
Prof. Dr. José Antonio de Frutos RedondoDr. Raúl Durán DíazCurso 2010-2011
Departamento de AutomáticaArquitectura e Ingeniería de Computadores
Tema 4Arquitecturas Paralelas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 2V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 3V1.4
Sistemas vectoriales instalados (85-93)
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 4V1.4
Base instalada de Crays (76-85)
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 5V1.4
Arquitecturas Paralelas
Comparativa Vectoriales-MPPLI
NPA
CK
(GFL
OP
S)
CRAY peakMPP peak
Xmp /416(4)
Ymp/832(8) nCUBE/2(1024)iPSC/860
CM-2CM-200
Delta
Paragon XP/S
C90(16)
CM-5
ASCI Red
T932(32)
T3D
Paragon XP/S MP�(1024)
Paragon XP/S MP�(6768)
0.1
1
10
100
1,000
10,000
1985 1987 1989 1991 1993 1995 1996
Crayvectoriales (paralelos) :
X-MP (2-4) Y-MP (8)C-90 (16)T94 (32)
Desde 1993, Cray produce también MPP (T3D, T3E)
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 6V1.4
Sistemas vectoriales por fabricante
0 200 400 600
Cray
CDC
Fujitsu
Hitachi
NEC
Total
1992199119901989198819871986
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 7V1.4
Lista TOP500 de los computadores más rápidos
Num
ber o
f sys
tem
s
11/93 11/94 11/95 11/960
50
100
150
200
250
300
350
PVPMPP
SMP
319
106
284
239
63
187
313
198
110
10673
Arquitecturas Paralelas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 8V1.4
Tipos de CPU en la lista TOP500
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 9V1.4
Arquitecturas en la lista TOP500
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 10V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 11V1.4
Familias de CPUs en la lista TOP500
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 12V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 13V1.4
Rendimiento de los sistemas en TOP500
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 14V1.4
Criterios antiguos
Aplicaciones
SistemaSoftware SIMD
Paso de mensajesMemoria compartidaFlujo de datos
ArraysSistólicos Arquitectura
• Arquitecturas paralelas ligadas a modelos de programa-ción.
• Arquitecturas divergentes, sin ningún patrón de crecimien-to.
Arquitecturas Paralelas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 15V1.4
Criterios actualesExtensión de la arquitectura de computadores para soportar comunicaciones y cooperación.
ANTES: Conjunto de instrucciones.AHORA: Comunicaciones.
Hay que definir: Abstracciones, fronteras, primitivas (interfaces)Estructuras que implementan los interfaces (hw o sw)
Compiladores, librerías y OS son cuestiones importantes en nuestros días.
Arquitecturas Paralelas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 16V1.4
Arquitecturas Paralelas
Recordemos queUn 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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 17V1.4
Arquitecturas Paralelas
Arquitectura de comunicaciónUser/System Interface + Implementación
User/System Interface:Primitivas de comunicación a nivel de usuario y a nivel de sistema.
Implementación:Estructuras que implementan las primitivas: hardware o OSCapacidades de optimización. Integración en los nodos de proceso.Estructura de la red.
Objetivos:RendimientoAmplia aplicaciónFácil programaciónAmpliableBajo coste
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 18V1.4
Modelos de programaciónEspecifica 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 datosindividuales y luego intercambian información de control antes de seguir el proceso.
El intercambio se implementa con memoria compartida o con pasode mensajes.
Arquitecturas Paralelas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 19V1.4
CAD
Multiprogramming Sharedaddress
Messagepassing
Dataparallel
Database Scientific modeling Parallel applications
Programming models
Communication abstractionUser/system boundary
Compilationor library
Operating systems support
Communication hardware
Physical communication medium
Hardware/software boundary
Arquitecturas Paralelas
Niveles de abstracción en la comunicación
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 20V1.4
Arquitecturas Paralelas
Evolución de los modelos arquitectónicosModelo 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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 21V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 22V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 23V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 24V1.4
Memoria Compartida
Store
P1P2
Pn
P0
Load
P0 pr i vat e
P1 pr i vat e
P2 pr i vat e
Pn pr i vat e
Espacio de direcciones virtuales.Conjunto de procesos con comunicaciónpor medio de memoria compartidas
Direcciones Físicas en la máquina
Espacio de direcciones compartidas
Espacio de direcciones privadas
DireccionesFísicascompartidas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 25V1.4
Memoria Compartida
I/O ctrlMem Mem Mem
Interconnect
Mem I/O ctrl
Processor Processor
Interconnect
I/Odevices
Hardware de comunicación
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 26V1.4
Memoria Compartida
P
P
C
C
I/O
I/O
M MM M
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 27V1.4
Memoria Compartida
PP
C
I/O
M MC
I/O
$ $
Estrategia de comunicaciones en “Minicomputer”:
•Casi todos los sistemas con microprocesadores usan bus. •Muy usados para computación paralela.•Llamados SMP, symmetricmultiprocessor.•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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 28V1.4
Memoria Compartida
Ejemplo: Intel Pentium Pro Quad.
Coherencia y multiproceso integrados en el modulo procesador.
P-Pro bus (64-bit data, 36-bit address, 66 MHz)
CPU
Bus interface
MIU
P-Promodule
P-Promodule
P-Promodule256-KB
L2 $Interruptcontroller
PCIbridge
PCIbridge
Memorycontroller
1-, 2-, or 4-wayinterleaved
DRAM
PC
I bus
PC
I busPCI
I/Ocards
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 29V1.4
Ejemplo: SUN Enterprise. 16 tarjetas de cualquier tipo: procesadores + memoria, o I/O.El acceso a la memoria es por bus, simétrico.
Gigaplane bus (256 data, 41 addr ess, 83 MHz)
SB
US
SB
US
SB
US
2 Fi
berC
hann
el
100b
T, S
CS
I
Bus interface
CPU/memcardsP
$2
$P
$2
$
Mem ctrl
Bus interface/switch
I/O car ds
Memoria Compartida
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 30V1.4
Otras opciones en comunicación:
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.
M M M° ° °
° ° ° M ° ° °M M
NetworkNetwork
P
$
P
$
P
$
P
$
P
$
P
$
UMA o Dance hall NUMA
Memoria Compartida
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 31V1.4
Ejemplo: Cray T3E
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)
Switch
P$
XY
Z
Exter nal I/O
Memctrl
and NI
Mem
Memoria Compartida
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 32V1.4
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.
Paso de Mensajes
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 33V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 34V1.4
Paso de Mensajes
Proceso P Proceso Q
Direcciones Y
Dir X
Send X, Q, t
Receive Y,P, t ,Match
Espacio localdel proceso
Espacio localdel proceso
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 35V1.4
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.
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
000001
010011
100
110
101
111
Paso de Mensajes
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 36V1.4
Memory bus
Micr oChannel bus
I/O
i860 NI
DMA
DR
AM
IBM SP-2 node
L2 $
Power 2CPU
Memorycontr oller
4-wayinterleaved
DRAM
General inter connectionnetwork formed fr om8-port switches
NIC
Ejemplo: IBM SP-2
Realizado a base de estaciones RS6000.
Paso de Mensajes
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 37V1.4
Memory bus (64-bit, 50 MHz)
i860
L1 $
NI
DMA
i860
L1 $
Driver
Memctrl
4-wayinterleaved
DRAM
IntelParagonnode
8 bits,175 MHz,bidir ectional2D grid network
with pr ocessing nodeattached to every switch
Sandia’ s Intel Paragon XP/S-based Super computer
Ejemplo Intel Paragon.
Paso de Mensajes
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 38V1.4
La evolución y el papel del software ha difuminado las fronteras entre memoria compartida y paso de mensajes.
send/recv soporta memoria compartida vía buffers.Se puede construir un espacio global de direcciones en Paso de Mensajes.
También converge la organización del hardware.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.
La Convergencia de las Arquitecturas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 39V1.4
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.
PE PE PE° ° °
PE PE PE° ° °
PE PE PE° ° °
° ° ° ° ° ° ° ° °
Contr olprocessor
Paralelismo de Datos
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 40V1.4
EVOLUCIONRí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.
Más flexibles y fáciles de manejarRevivido en los 80 cuando aparecen 32-bit datapath slices. Aniquilados por los modernos microprocesadores.
Más razones para su desaparición: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).
Paralelismo de Datos
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 41V1.4
1 b
a
+ − ×
×
×
c e
d
f
Dataflow graph
f = a × d
Network
Token�stor e
Waiting�Matching
Instruction�fetch
Execute
Token queue
Form�token
Network
Network
Program�store
a = (b +1) × (b − c)��d = c × e��
Flujo de Datos
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 42V1.4
Flujo de Datos
EVOLUCIÓNClaves:
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 43V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 44V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 45V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 46V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 47V1.4
Red lineal
Anillo Estrella
Arbol Malla Red sistólica
Totalmente conexa Anillo cordalCubo-3
Redes estáticas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 48V1.4
sínN/2nnhipercubo n
no2N − 2r2(r − 1)4malla - 2D (r x r)
noN − 12N − 1estrella
noN − 12(h − 1)3arbol (h = log2 N + 1)
síN(N − 1)/21N − 1totalmente conexa
síNN/22anillo
noN − 1N − 12lineal
simetríaenlacesdiámetrogradoTipo de red
Redes estáticas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 49V1.4
Hipercubo 3D ciclo-conexo
Redes estáticas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 50V1.4
000 001
010 011
101
111110
100
000 010001 011 100 110101 111
Conexión de nodos que se diferencian en el bit menos significativo
Conexión de nodos que se diferencian en el segundo bit
000 010001 011 100 110101 111
Conexión de nodos que se diferencian en el bit más significativo
000 010001 011 100 110101 111
Ejemplo de conexiones en un hipercubo 3
Redes estáticas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 51V1.4
Redes dinámicas: son redes cuya configuración puede modificarse. Hay dos tipos:
monoetapa.multietapa.
Las redes monoetapa realizan conexiones entre elementos de proceso en una sola etapa.
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.
Redes dinámicas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 52V1.4
Redes dinámicas
Redes de interconexión monoetapa
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 53V1.4
Redes dinámicas
EP0
EP1
EPn
EP0 EP1 EPn
EP0
EP1
EPn
M0 M1 Mm
Red de barras cruzadas: permite cualquier conexión.
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 54V1.4
Redes de interconexión (multietapa)
Las cuatro configuraciones posibles de una caja de conmutación de 2 entradas.
Cajas de conmutación
a 0
a 1
b 0
b 1
a 0
a 1
b 0
b 1
a 0
a 1
b 0
b 1
a 0
a 1
b 0
b 1
Paso directo Cruce
Difusión superiorDifusión inferior
Redes dinámicas
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 55V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 56V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 57V1.4
Redes dinámicas bloqueantes
Red mariposa:
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 58V1.4
Redes dinámicas bloqueantes
Red baraje perfecto:
000
001
010
011
100
101
110
111
000
001
010
011
100
101
110
111
Barajado perfecto
000
001
010
011
100
101
110
111
000
001
010
011
100
101
110
111
Barajado perfecto inverso
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 59V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 60V1.4
Redes dinámicas reconfigurables
Red de Beneš:
Red de Benes 8 x 8
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 61V1.4
Redes dinámicas reconfigurables
La red de Beneš se puede construir recursivamente:
Red de Benes 8 x 8
Red de Benes 4 x 4
Red de Benes 4 x 4
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 62V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 63V1.4
Redes dinámicas no bloqueantes
Red de Clos:
1
2
r
1
2
m
1
2
r
n x m r x r m x n
1
n
1
n
Red de Clos
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 64V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 65V1.4
Coherencia en Memoria Cache
P1 Pn
Memoria principal(Entrelazada)
Memoria cache(Entrelazada)
Cache compartidaPequeñ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.
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 66V1.4
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.
P1 Pn
Memoria principal
Memoriacache
Memoriacache
bus
Coherencia en Memoria Cache
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 67V1.4
Salón de baileFácilmente escalable.Estructura simétrica UMA.Memoria demasiado lejana especialmente en grandes sistemas.
P1 Pn
Memoria principal
Memoriacache
Memoriacache
Red de interconexión
Memoria principal
Coherencia en Memoria Cache
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 68V1.4
Pn
MemoriacacheMemoria
principal
Red de interconexión
P1
MemoriacacheMemoria
principal
Coherencia en Memoria Cache
Memoria distribuida•Especialmente atractiva par multiprocesadores escalables.•Estructura no simétrica NUMA.•Accesos locales rápidos.
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 69V1.4
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 nivelesIncoherencia en el mismo nivel
Coherencia en Memoria Cache
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 70V1.4
Fuentes de incoherencia:
Los datos compartidos.La migración de procesos.Las operaciones de entrada-salida.
Coherencia en Memoria Cache
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 71V1.4
P0 P1 P2 Pn
Memoria principal
Memoriacache
Fuentes de incoherencia
Datos compartidosen caches de escritura directa.
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 72V1.4
Memoria principal
P0 P1 P2 Pn
Memoriacache
Datos compartidosen caches de post-escritura.
Fuentes de incoherencia
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 73V1.4
P0 P1 P2 Pn
Memoria principal
Memoriacache
P2P0
Migración de procesosen caches de escritura directa.
Fuentes de incoherencia
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 74V1.4
P0 P1 P2 Pn
Memoria principal
Memoriacache
P2P0
Migración de procesosen caches de post-escritura.
Fuentes de incoherencia
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 75V1.4
Operaciones de entrada salida
Salida (post-escritura)
Memoria principal
Memoriacache
P0 P1 P2 Pn
Entrada
Fuentes de incoherencia
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 76V1.4
Posibles soluciones
Caches locales.Memoria cache compartida.Caches privadas con protocolos de escucha.Caches privadas con directorio compartido.
Coherencia en Memoria Cache
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 77V1.4
P
X
P
X
P
X
P
X
X
P
X'
P
I
P
I
P
I
X'
P
X'
P
X'
P
X'
P
X'
X'
Invalidar Actualizar
Políticas de mantenimiento de coherenciaInvalidar.Actualizar.
Coherencia en Memoria Cache
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 78V1.4
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
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 79V1.4
Protocolos snoopyCaches de escritura directa.
inválido válidoR(j)W(j)
R(i), W(i)
W(j)
R(j)W(i)
R(i)
Protocolos de escucha
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 80V1.4
R(i)R(j)
R(j), W(j)
M S
I
R(j)
W(i)R(i)W(i)
W(j)
W(i)
W(j)
R(i)
Protocolos snoopyCaches de post-escritura MSI.
Protocolos de escucha
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 81V1.4
W(j)R(j)
R(i) S
R(i)R(j)
W(i) W(j)R(j)
R(i)R(i)W(i) M E
S I
W(j)
R(i) S
W(i)
W(j)
R(j) S
W(i)
Protocolos snoopyCaches de post-escritura MESI.
Protocolos de escucha
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 82V1.4
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.
Protocolos basados en directorios
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 83V1.4
Fallo de lectura en estado modificado.
Directorio
P1
CacheBloque Mem. Directorio
P2
CacheBloque Mem.
Directorio
P3
CacheBloque Mem.
Protocolos basados en directorios
1
2
3
4
4
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 84V1.4
Fallo de escritura en estado compartido.
Directorio
P1
CacheBloque Mem. Directorio
P2
CacheBloque Mem.
Directorio
P3
CacheBloque Mem.
Directorio
P4
CacheBloque Mem.
Protocolos basados en directorios
4 4
3 3
1
2
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 85V1.4
bloque1010
Directorio
P
CacheBloque Mem.
0
P0 P1 PmP2Dirty
Estructura del directorio (directorios completos)
Protocolos basados en directorios
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 86V1.4
Estructura del directorio (directorios limitados)
bloque
Directorio
P
CacheBloque Mem.
0
I1 InI2Dirty
log2 P
Protocolos basados en directorios
© J. A. de Frutos Redondo, R. Durán 2005
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
4. Arquitecturas paralelas 87V1.4
Estructura del directorio (directorios encadenados)
bloqueDirectorio
P
CacheBloque Mem.0
PDirty
log2 P
Directorio
P
CacheBloque Mem.
Directorio
P
CacheBloque Mem.
Directorio
P
CacheBloque Mem.
FC FC FC
Protocolos basados en directorios