Documente Academic
Documente Profesional
Documente Cultură
n
p
o
r
e
l
b
u
s
S
n
o
o
p
y
(
S
H
W
)
R H
W H
R H
R H
S H R
Figura 1.3 Diagrama de estados del protocolo de consistencia MESI implementado en los Chips PowerPC
M: Modificado
E: Exclusivo
S: Compartido
I: Invalido
El nodo que intenta leer una dato de
cache que ha sido modificado por
otro nodo (este ultimo invalida las
copias) es obligado a esperar a que
se modifique el dato de memoria
principal para obtener su copia.
R H: Read Hit,
R M S: Read Miss Shared,
R M E: Read Miss Exclusive,
W H: Write Hit,
W M: Write Miss,
S H R: Snoop Hit Read Operation,
S H W: Snoop Hit Write Operation.
El estado compartido de un bloque de memoria fsica, se mantiene justo en una
localidad de una memoria llamada directorio, que tiene informacin de estado y una
lista de apuntadores, la cual permite enviar comandos de consistencia de forma
selectiva evitando "broadcast", [MagM99].
Esta memoria y directorio se construyen en memoria virtual y se implementa en el
nodo principal (Maestro).
Se clasifican en:
Full Map Directory (Mapero Completo): usa palabras de N bits, un bit por
procesador + 1 bit de sucio (Dirty). Cada representa el estado del bloque en la cache
del procesador.
Un bloque en cache mantienen dos bits de estado (valid/invalid) y (write-
enable/disable)
El protocolo de coherencia debe mantener los bits de estado en la memoria de
directorio y en la cache consistente.
Arquitectura de bus nico
- protocolo de coherencia basada en directorios
Arquitectura Multicore
- protocolo de coherencia basada en directorios
C X - - - - - Data
Shared Memory
Cache
P1
Read X Read X Read X
Cache Cache
P2 Pn
Arquitectura Multicore
- protocolo de coherencia basada en directorios
Cache Cache Cache
C X - - - - - Data
Shared Memory
Write X
Data
X
Data
X
Data
X
P1 P2 Pn
Cache
D X - - - - - Data
Shared Memory
Write X
Data'
X
Cache Cache
P1 P2 Pn
Arquitectura Multicore
- protocolo de coherencia basada en directorios
El protocolo de Directorio Limitado fue diseado para resolver el problema de
tamao del Directorio.
Restringiendo el nmero de copias de cache simultaneas de cualquier bloque
particular, se limita el crecimiento del directorio a un factor constante.
El protocolo de directorio puede ser clasificado como:
Dir
i
X donde el smbolo i indica en numero de apuntadores y X es NB para
esquemas que no realizan Broadcast y B para esquemas con Braodcast.
Un esquema de Mapeo Completo sin Broadcast es representado con Dir
N
NB
[Chaiken90].
Un protocolo de directorio limitado, que usa i<N apuntadores es denotado por
Dir
i
NB.
Arquitectura Multicore
- protocolo de coherencia basada en directorios limitados
Arquitectura Multicore
- protocolo de coherencia basada en directorios limitados
Cache Cache
C X 2 Data
Shared Memory
Read X
Data
X
Data
X
1
Cache
P1 P2 P3
Arquitectura Multicore
- protocolo de coherencia basada en directorios limitados
Cache Cache
Shared Memory
Data
X
Data
X
C X 3 Data 1
Cache
P1 P2 P3
Se invalida la copia de C2 y se reemplaza el apuntador a C3
Directorios encadenados es la tercera opcin de los esquemas de coherencia de
cache que no utilizan un mecanismo de Broadcast, realizan la escalabilidad de los
directorios limitados pero sin restringir el nmero de copias de bloques de datos
compartidos.
A este tipo de coherencia de cache se llama esquema encadenado por que
mantiene la ruta de todas las copias de datos compartidos en una cadena de
apuntadores de directorios.
Arquitectura Multicore
- protocolo de coherencia basada en directorios encadenados
Arquitectura Multicore
- protocolo de coherencia basada en directorios encadenados
Cache
C X 1 Data
Shared Memory
Read X
Cache Cache
P1 P2 P3
Data
X
CT
Arquitectura Multicore
- protocolo de coherencia basada en directorios encadenados
P1 P2 P3
Cache Cache
Shared Memory
Data
X
Data
X
C X 2 Data
1
CT
Write X
Cache
Arquitectura Multicore
- protocolo de coherencia basada en directorios encadenados
Se invalida a travs de la cadena de
apuntadores
P1 P2 P3
Cache Cache
Shared Memory
Data
X
Data
X
C X 2 Data
1
CT
Write X
Cache
hasta que el procesador con la Terminacin de Cadena CT enve la seal Acknowlegment-
Invalidation.
Multinucleos
Hay muchas razones para conectar ms de dos procesadores a un bus comn:
[1]Cada chip multi-ncleo es mucho mas pequeo que cualquier multiprocesador .
[2]La memoria Cach puede bajar el trfico en el bus.
[3]Se han desarrollado mecanismos para mantener consistencia en memoria principal y
Memoria Caches, de igual forma como la memoria principal y cach mantiene
consistencia con los dispositivos de almacenamiento de E/S en una PC, lo cual simplifica
la programacin.
El Reto: ILP vs Complejidad
No de Transistores
incrementndose
Velocidad de Reloj
Problemas de ruido
Consumo de energa
incrementndose
ILP
agotado
Grfico, D. Paterson. University of California
Tendencia
Ncleos Homogneos con:
o Interconexin basada en bus
o Memoria Compartida
o Perifricos tradicionales
Intel Core 2 Duo
Tendencia
Ncleos Heterogneos con:
o Interconexin basada en bus
o Memoria Distribuida
IBM Cell Processor
Intel CoreI7
Procesadores que utilizan Redes de Interconexin
Ncleos Homogneos con:
o Interconexin basada IN (Red de Interconexion)
o Memoria Distribuida
o Multithread
Intel Core i7
Tendencia
Ncleos Homogneos con:
o Interconexin basada IN (Red de Interconexion)
o Memoria Compartida
o Perifricos tradicionales
94
Tendencia
Ncleos Homogneos con:
o Interconexin basada en IN (Red de Interconexin)
o Memoria L1/L2 Distribuida y L3 Compartida
o Perifricos tradicionales
IBM Power 7
El nuevo problema
Las arquitecturas de los procesadores continan incrementando sus
recursos en un mismo chip (Multinucleos).
Para obtener mejores rendimientos de un Chip Multinucleo, se requiere
una fuerte cooperacin entre el compilador y el planificador del sistema
operativo (Scheduler).
95
Tendencias en las polticas de planificacin
Apagando Ncleos:
cuando no se
requieren.
Balanceo de carga:
Asignando threads a
diferentes ncleos.
SPECCPU2000
Planificador del S.O.
GZIP
GCC
MCF
SysCall
ILP vs Fallos en Cache L1
ILP vs Fallos en Cache L2
Gracias