Multiprocesadores comerciales
José M. Cámara
(
[email protected])
v. 1.0
Arquitectura SMP
AlphaServer 8400
Características generales
• Multiprocesador simétrico de acceso
uniforme a memoria
• Hasta 12 CPU Alpha 21164
• Hasta 14 GB de memoria
• Bus de sistema de 3200MB/s
• Sistemas operativos OpenVMS y Digital
UNIX
Diagrama del sistema
CPU, Men
ó e/s
CPU, Men
ó e/s
CPU, Men
ó e/s
CPU, Men
ó e/s
Bus TLSB: 40 bits de direcciones, 256 bits de datos
CPU, Men
ó e/s
CPU, Men
ó e/s
CPU, Men
ó e/s
CPU, Men
ó e/s
Módulo
De
e/s
PCI
XMI
XMI
FBUS+
• Un módulo de e/s, de CPU y de memoria obligatorios
Módulo de CPU
D
a
t
o
s
21164
21164
D
i
r
Cache
D
i
r
Cache
D
a
t
o
s
C
m
d
/
d
i
r
MMG
C
m
d
/
d
i
r
Buffer de
datos
DIGA
DIGA
ADG
DIGA
DIGA
Bus TLSB
Buffer de
datos
Alpha 21164
• Fabricante: Digital.
• Año: 1996.
• Frecuencia de reloj: hasta 500 MHz.
• Tecnología: CMOS 0’35 micras.
• Cache L1: 8 + 8 kB.
• Cache L2: 96 kB.
• Cache L3 externa (opcional).
• Transistores: 9’3 millones.
• Potencia: 25W.
Protocolo de coherencia
Br
Bw
I
Bw
Bw
Pw
Pr
Pr
Pw
Pr
DS
Pw
Bw
Br
Pr
Pw
DS
SD
Pr
Br
Br
Bw
Pw
Pr
Br
Pw
DS
Pw
Pw
I: inválido
•
S: compartido
•
• D: modificado
•
Pw en una línea compartida actualiza la memoria principal y deshabilita D en
la copia local.
Módulo de CPU
• Puede albergar una o dos CPUs
• Cada CPU trabaja independientemente y dispone de su propia cache
L3
• Se soportan CPUs de 142 a 357 MHz
• La cache L3 es de 4MB con líneas de 64 bytes
• Proporciona el espacio de etiquetas duplicado necesario cuando se
incluye la cache L3
• Dispone de multiplexores – demultiplexores (DIGA) para adaptar el
ancho del micro (128) al del bus (256). Para ello se sirven del buffer de
datos
• El multiplexor de direcciones (MMG) alberga también el espacio de
etiquetas duplicado
• El interfaz de direcciones, recibe también comandos y maneja el
espacio de etiquetas duplicado. Es el responsable de la coherencia de
cache
Bus de sistema
• Tiene capacidad para 9 módulos
• Uno de ellos debe ser de e/s, otro de memoria y
otro de CPU. Si hay más de 3 de CPU, debe haber
dos de memoria
• 40 bits de direcciones y 256 de datos
• Funcionamiento síncrono con reloj múltiplo del de
la CPU (33-100 MHz)
• Velocidad de transferencia máxima de 3200 MB/s
• Paridad simple en direcciones y comandos; ecc en
datos
Módulo de memoria
• De 128 MB a 2 GB
• Máxima capacidad = 14 GB
• ECC
• Protocolo de escritura invalidación
• La escritura sobre bloques compartidos
exige la toma del control del bus, haciendo
que la memoria principal se actualice de
forma automática
Módulo de e/s
• Proporciona conexión a buses estándar:
– XMI (2)
– PCI
– Futurebus+
Máquinas de acceso no uniforme
a memoria: CC-NUMA
AlphaServer GS320
Características generales
• Arquitectura CC-NUMA
• Módulos de 4 procesadores Alpha 21264
• Hasta 8 módulos (máx 32 procesadores)
• Conexión crossbar 8x8 a 1’6 GB/s
• Directorios de mapeo completo
• Sistemas operativos: Tru64 UNIX, Open
VMS, LINUX
Arquitectura
Crossbar
(8 x 8)
Módulo de
CPU
Módulo de
CPU
Módulo de
CPU
Módulo de
CPU
Módulo de
CPU
Módulo de
CPU
Módulo de
CPU
Módulo de
CPU
Módulo de CPU
M M M M
Switch
local
Punto de
arbitraje
D-Tag
DIR
TTT
Puerto
global
Crossbar
Interfaz e/s
L2
L2
L2
L2
Alpha
21264
Alpha
21264
Alpha
21264
Alpha
21264
Alpha 21264
• 731 MHz en esta máquina
• Cache L1 de 64 + 64 kB parcialmente
asociativa de dos vías
• Cache L2 externa de 4 MB de mapeo directo
• Permite ejecución sin orden
• Pipeline simplificado
Memoria
• 4 módulos de 1 a 8 GB cada uno
• Capacidad máxima de 32 GB por módulo
• Entrelazado de 8 vías en cada módulo
• Ancho de banda total de 6’4 GB/s
• 2 niveles de coherencia:
– Intra-módulo: la tag duplicada funciona como directorio
de mapeo completo
– Inter-módulo: el directorio se encuentra en el puerto
global
Switch
• El switch local es similar a un crossbar pero
con una construcción asimétrica
• No permite todas las posibles conexiones, p.
ej. No se pueden conectar módulos de
memoria entre sí
• No todas las conexiones tienen el mismo
ancho de banda; el puerto global dispone de
ancho de banda doble
Coherencia
•
Involucra a varios elementos: DIR, TTT, D-Tag y
punto de arbitraje
• Bloques de 64 bytes con 14 bits: 6 para identificar al
propietario y 8 para identificar a los poseedores a nivel
de módulo, no de CPU
• El espacio de etiquetas duplicado permite identificar a
cada CPU
• El TTT es una tabla asociativa que mantiene una lista
de hasta 48 transacciones pendientes de actualizar en
memoria remota (write-backs)
• 4 posibles peticiones de acceso: lectura, lectura
8 bits (poseedor)
exclusiva, exclusivo, exclusivo sin datos
Etiqueta (14 bits)
Poseedor: módulo (8)
6 bits (propietario)
Propietario: CPU (32) + e/s (8) + memoria (1)
Desajustes de funcionamiento
• Una petición llega a un propietario después
de un write-back
– Se mantiene la línea en un buffer víctima hasta que se atiendan
todas las peticiones pendientes en la D-Tag
– Posteriormente, se mantiene la línea en el TTT hasta que la
memoria notifica su recepción
• Una petición llega a un propietario antes de
que reciba los datos
– El procesador compara la petición con su lista de fallos pendientes.
Si coinciden, retrasa la petición
AlphaServer GS1280
Características Principales
• 64 CPU Alpha 21364 a 1’5 GHz
• Red toroidal 2-D
• Rutado adaptativo mínimo con 3 canales
virtuales
• Cada nodo dispone de una CPU, memoria
principal y e/s
• Coherencia basada en directorios de mapeo
completo
CPU
• Cache L2 integrado 1’75 MB parcialmente
asociativa de 7 vías
• Controlador de memoria integrado
• Router integrado para conexión a toro 2-D
• 0’18 micras
• 152 millones de transistores
Memoria
• Cache L1 integrada de 64 +64 kB
parcialmente asociativa de 2 vías
• Cache L2 integrada de 1’75 MB
parcialmente asociativa de 7 vías con ECC
• Memoria principal de 8 GB por procesador
con ECC
Interconexión
• Toro 2-D
• Enlaces bidireccionales de 6’2 GB/s (2 x 3’1)
• Tres canales virtuales: dos DOR y uno adaptativo.
Los paquetes intentan viajar por el adaptativo pero
saltan a los DOR en caso de bloqueo
• Red libre de bloqueo: interdimensional por ser
DOR, intradimensional por disponer de dos
canales virtuales
Arquitectura NCC - NUMA
CRAY T3E
Características generales
• Máquina NCC-NUMA
• Hasta 2048 nodos Alpha 21164
• Red de interconexión toroidal 3-D
• Anillos adicionales para e/s
• Sistema operativo UNICOS
Arquitectura
Discos, cintas, periféricos, SCSI, ATM, FDDI....
Anillos
Elemento de
procesamiento
Elemento de
procesamiento
Toro 3-D
Elemento de procesamiento
Alpha
21164
Memoria
local
Control y
registros
Router
X+
X-
Y+
Y-
Z+
Z-
Memoria
• Cache L1 y L2 integradas en el Alpha
• Memoria principal en cada nodo de hasta 2 GB
con ECC.
• Sin mecanismo hardware de coherencia global
• A nivel local se mantiene mediante el protocolo de
tres estados del Alpha
• Los datos remotos se leen individualmente (no por
bloques de caché) y se almacenan en los registros
Interconexión
• Toro 3-D con enlaces bidireccionales de 600 MB/s
• Conmutación de paquetes divididos en flits
(wormhole)
• Encaminamiento adaptativo
• Anillos independientes formados por enlaces
bidireccionales (1 GB/s) a los que se conectan 16
nodos (entre nodos de procesamiento, periféricos
y puertos)
• Hasta 128 anillos
Abrazos mortales
• Interdimensionales: se soluciónan
combinando canales virtuales y orden de
dimensión (DOR)
• Intradimensionales: eliminación
(mecanismo de recuperación)
Referencias
• AlphaServer 8200/8400. System Technical Manual. Digital
Equipment Corporation. 1995. Disponible en
http://h18002.www1.hp.com/alphaserver/download/t8030tma.pdf
• Architecture and Design of AlphaServer GS320. Kourosh
Gharachorlooy, Madhu Sharma, Simon Steely, and Stephen Van
Doren. Ninth International Conference on Architectural Support for
Programming Languages and Operating Systems (ASPLOS-IX),
November 2000.
• AlphaServer ES47, ES80, and GS1280 Systems. Technical Summary.
Disponible en:
http://www.compaq.com/alphaserver/gs1280/gs1280_tech.html
Comentarios de: Multiprocesadores comerciales (0)
No hay comentarios