You are on page 1of 46

cuatr. Grado en Ing.

Grado en Informtica
Ing. Informtica

2 curso 2 2 curso / 2/cuatr.

Arquitectura de Computadores Tema 3

Arquitecturas con paralelismo a nivel de thread (TLP)

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

38

cuatr. Grado en Ing. Grado en Informtica


Ing. Informtica

2 curso 2 2 curso / 2/cuatr.

Arquitectura de Computadores Tema 3

Leccin 8. Coherencia del sistema de memoria

Lecciones
AC

Leccin 7. Arquitecturas TLP Leccin 8. Coherencia del sistema de memoria


Sistema de memoria en multiprocesadores Concepto de coherencia en el sistema de memoria: situaciones de incoherencia y requisitos para evitar problemas en estos casos Protocolos de mantenimiento de coherencia: clasificacin y diseo Protocolo MSI de espionaje Protocolo MESI de espionaje Protocolo MSI basado en directorios con o sin difusin


40

Leccin 9. Consistencia del sistema de memoria

Leccin 10. Sincronizacin


Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

Bibliografa
AC

Fundamental

Secc. 10.1. J. Ortega, M. Anguita, A. Prieto. Arquitectura de Computadores. Thomson, 2005. ESII/C.1 ORT arq T. Rauber, G. Rnder. Parallel Programming: for Multicore and Cluster Systems. Springer 2010. Disponible en lnea (biblioteca UGR): http://dx.doi.org/10.1007/978-3-64204818-0

Complementaria

41

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Computadores que implementan en hardware mantenimiento de coherencia


NORMA No Remote Memory Access

Multicomputadores
Memoria no compartida

nivel de sistema (Cluster), armario, chasis (blade server)


NUMA (nivel de sistema,n. armario/chasis, n. placa)

Memoria fsicamente distribuida

+
P M E/S M

P E/S

NUMA

Memoria compartida Un nico espacio de UMA direcciones Uniform


Memory Access
42

COMA

Coherencia por SMP Symmetric hardware

Memoria fsicamente centralizada


P P P P

MultiProcessor (nivel de placa; nivel de chip: multicores como Intel Core i7, i5, i3)

Red de interconexin

M
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

Multiprocesadores

E/S

E/S

E/S

NonUniform Memory Access

Red de interconexin

CC-NUMA (nivel de armario: SGI Altix; nivel de placa)

Escalabilidad I

Contenido Leccin 8
AC

Sistema de memoria en multiprocesadores

Concepto de coherencia en el sistema de memoria: situaciones de incoherencia y requisitos para evitar problemas en estos casos Protocolos de mantenimiento de coherencia: clasificacin y diseo
Protocolo MSI de espionaje Protocolo MESI de espionaje Protocolo MSI basado en directorios con o sin difusin
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)


43

Sistema de memoria en multiprocesadores


AC

Qu incluye?

Caches de todos los nodos Memoria principal Controladores Buffers:


Buffer de escritura/almacenamiento Buffer que combinan escrituras/almacenamientos, etc.

Medio de comunicacin de todos estos componentes (red de interconexin)

La comunicacin de datos entre procesadores la realiza el sistema de memoria

La lectura de una direccin debe devolver lo ltimo que se ha escrito (desde el punto de vista de todos los componentes del sistema)
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

44

Sistema de memoria
AC

Core0 Core1 L1 L2
Controlador memoria (MC)

L1 L2

Buffer de escritura/ Buffer que combinan escrituras

Core7 L1 L2
Controlador memoria (MC)

LLC - L3 Conmutador

QPI

SMI

N0

N1

N3
45 Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

N2

Contenido Leccin 8
AC

Sistema de memoria en multiprocesadores

Concepto de coherencia en el sistema de memoria: situaciones de incoherencia y requisitos para evitar problemas en estos casos Protocolos de mantenimiento de coherencia: clasificacin y diseo
Protocolo MSI de espionaje Protocolo MESI de espionaje Protocolo MSI basado en directorios con o sin difusin
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)


46

Incoherencia en el sistema de memoria


AC

Clases de estructuras de datos


Datos modificables

Causa de problemas por falta de coherencia


E/S

Falta de coherencia
Cache-MP

Datos modificables compartidos


Datos modificables privados

Fallo de cache
Emigra procesoFallo cache

Cache-MP
Cache-MP

Datos modificables compartidos


Memoria

Lectura de cache no actualizada

Cache-Cache
Memoria

Pj Cj

D=4

Pk

Pi Ci

Pj Cj

Pk

D=4 2E
D
3

Ck

Ck

3E
D
3

D 3 4

3
2L

D 3 4

1L
47 Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

1L

AC

Mtodos de actualizacin de memoria principal implementados en caches


Pj Cj Pk Ck Memoria

1. Escritura inmediata (write-through):

1E
D D

D 2Act

Cada vez que un procesador escribe en su cache escribe tambin en memoria principal

Por los principios de localidad temporal y espacial sera ms rentable si se escribe todo el bloque una vez realizadas mltiples 2. Posescritura (write-back): escrituras
Pj Pk Memoria Cj Ck

1E
D

Se actualiza memoria principal escribiendo todo el bloque cuando se desaloja de la cache

48

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Alternativas para propagar una escritura en protocolos de coherencia de cache


1. Escritura con actualizacin (write-update):
Pi Ci Pj Cj Pk Ck Memoria

1E
D

D 2Act

2. Escritura con invalidacin (write-invalidate):


Pi Ci Pj Cj Pk Ck Memoria

Cada vez que un procesador escribe en una direccin en su cache se escribe en las copias de esa direccin en otras caches Para reducir trfico, sobre todo si los datos estn compartidos por pocos procesadores
Antes que un procesador modifique una direccin en su cache se invalidan las copias del bloque de la direccin en otras caches

1E
D

I 2Inv

49

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Situacin de incoherencia aunque se propagan las escrituras (usa difusin)


Orden para P0 1) A=1

P0
A 01 2 A=1 A=1

A=1 A=2 A=2

P1
A 02 1 A=2

Orden para P1 1) A=2

2) A=2

2) A=1

Orden generacin: 1) A=1 2) A=2

Orden para P3 A 01 2 1) A=1

A 02 1

Orden para P2 1) A=2

2) A=2

P3

P2

2) A=1

Contenido inicial de las copias de la direccin A en calabaza. P0 escribe en A un 1 y, despus, P1 escribe en A un 2. Se utiliza actualizacin para propagar las escrituras (las propagacin se nota con flechas) Llegan en distingo orden las escrituras debido al distinto tiempo de propagacin (se est suponiendo que los Proc. estn ubicados en la placa tal y como aparecen en el dibujo). En cursiva se puede ver el contenido de las copias de la direccin A tras las dos escrituras.

Se da una situacin de incoherencia aunque se propagan las escrituras: P0 y P3 acaban con 2 en A y P1 y P2 con 1. Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

50

AC

Requisitos del sistema de memoria para evitar problemas por incoherencia I


Propagar las escrituras en una direccin

La escritura en una direccin debe hacerse visible en un tiempo finito a otros procesadores Componentes conectados con un bus:

Los paquetes de actualizacin/invalidacin son visibles a todos los nodos conectados al bus (controladores de cache)

Serializar las escrituras en una direccin

Las escrituras en una direccin deben verse en el mismo orden por todos los procesadores (el sistema de memoria debe parecer que realiza en serie las operaciones de escritura en la misma direccin) Componentes conectados con un bus:

El orden en que los paquetes aparecen en el bus determina el orden en que se ven por todos los nodos.

51

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Requisitos del SM para evitar problemas por incoherencia II: la red no es un bus
Propagar escrituras en una direccin

Usando difusin:

Los paquetes de actualizacin/invalidacin se envan a todas las caches

Para conseguir mayor escalabilidad:


Se debera enviar paquetes de actualizacin/invalidacin slo a caches (nodos) con copia del bloque Mantener en un directorio, para cada bloque, los nodos con copia del mismo

Serializar escrituras en una direccin

El orden en el que las peticiones de escritura llegan a su home (nodo que tiene en MP la direccin) o al directorio centralizado sirve para serializar en sistemas de comunicacin que garantizan el orden en las trasferencias entre dos puntos
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

52

Directorio de memoria principal


AC

Directorio cache

10

Estado bloque cache

Memoria

Nodo de cmputo P C
CC

E/S

Conmutador

CM

bloque bloque bloque

Memoria

Directorio
C0 C1

CN-1

1 0 1 0
Estado bloque memoria

conexin a otros nodos de cmputo


53 Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

Vector de bits con informacin sobre cachs con copia

Alternativas para implementar el directorio


AC

Centralizado
Compartido por todos los nodos Contiene informacin de los bloques de todos los mdulos de memoria

Distribuido
Las filas se distribuyen entre los nodos Tpicamente el directorio de un nodo contiene informacin de los bloques de sus mdulos de memoria

Mem.

Mem.

Mem.

Directorio centralizado

Mem. Mem.
Directorios distribuidos

Mem.

Mem.

Mem.

54

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Serializacin de las escrituras por el home. Usando difusin I


P0
A A=1 A=2 A=1 A=2 A=2 A

P1

0
A=1

Orden generacin: 1) A=1 2) A=2

P3
A

P2
A

Orden llegada al home = real 1) A=2 2) A=1

Contenido inicial de las copias de la direccin A en calabaza. P0 escribe en A un 1 y, despus, P1 escribe en A un 2. Se utiliza actualizacin para propagar las escrituras (las propagacin se nota con flechas) orden de llegada al home es el orden real para todos
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

El 55

AC

Serializacin de las escrituras por el home. Usando difusin II


Orden para P1 1) A=2

P0
A

P1
A

0 2

0 2

Orden para P1 1) A=2

Orden generacin: 1) A=1 2) A=2

Orden para P1 1) A=2

P3
A

P2
A

0 2

0 2

Orden llegada al home = Orden real 1) A=2 2) A=1


56

Contenido inicial de las copias de la direccin A en calabaza Se utiliza actualizacin para propagar las escrituras (las propagacin se nota con flechas)
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Serializacin de las escrituras por el home. Usando difusin III


Orden para P1 P0 1) A=2 A 2 1 2) A=1

P1
A

2 1

Orden para P1 1) A=2 2) A=1

Orden generacin: 1) A=1 2) A=2

Orden para P1 P3 1) A=2 A 2 1 2) A=1

P2
A

2 1

Orden llegada al home = Orden para P2 = Orden real 1) A=2 2) A=1

Se utiliza actualizacin para propagar las escrituras (las propagacin se nota con flechas)
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

57

AC

Serializacin de las escrituras por el home. Sin difusin y con directorio distribuido I
P0
A

P1
A A=1

0
A=2

Orden generacin: 1) A=1 2) A=2

P3
A

P2

Orden llegada al home = real 1) A=2 2) A=1

Contenido inicial de las copias de la direccin A en calabaza. P0 escribe en A un 1 y, despus, P1 escribe en A un 2. Se utiliza actualizacin para propagar las escrituras (las propagacin se nota con flechas) orden de llegada al home es el orden real para todos
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

El 58

AC

Serializacin de las escrituras por el home. Sin difusin y con directorio distribuido II
Orden para P1 1) A=2

P0
A

P1
A

0 2

0 2

Orden para P1 1) A=2

Orden generacin: 1) A=1 2) A=2

P3
A

P2

0 2

Orden llegada al home = Orden real 1) A=2 2) A=1


59

Contenido inicial de las copias de la direccin A en calabaza Se utiliza actualizacin para propagar las escrituras (las propagacin se nota con flechas)
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Serializacin de las escrituras por el home. Sin difusin y con directorio distribuido III
Orden para P1 P0 1) A=2 A 2 1 2) A=1

P1
A

2 1

Orden para P1 1) A=2 2) A=1

Orden generacin: 1) A=1 2) A=2

P3
A

P2

2 1

Orden llegada al home = Orden para P2 = Orden real 1) A=2 2) A=1

Se utiliza actualizacin para propagar las escrituras (las propagacin se nota con flechas)
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

60

Contenido Leccin 8
AC

Sistema de memoria en multiprocesadores

Concepto de coherencia en el sistema de memoria: situaciones de incoherencia y requisitos para evitar problemas en estos casos Protocolos de mantenimiento de coherencia: clasificacin y diseo
Protocolo MSI de espionaje Protocolo MESI de espionaje Protocolo MSI basado en directorios con o sin difusin
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)


61

AC

Clasificacin de protocolos para mantener coherencia en el sistema de memoria


Protocolos de espionaje (snoopy)

Para buses, y en general sistemas con una difusin eficiente (bien porque el nmero de nodos es pequeo o porque la red implementa difusin).
Para redes sin difusin o escalables (multietapa y estticas). Para redes jerrquicas: jerarqua de buses, jerarqua de redes escalables, redes escalables-buses.

Protocolos basados en directorios.

Esquemas jerrquicos.

62

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Facetas de diseo lgico en protocolos para coherencia


Poltica de actualizacin de MP:

escritura inmediata, posescritura, mixta escritura con invalidacin, escritura con actualizacin, mixta Definir posibles estados de los bloques en cache, y en memoria Definir transferencias (indicando nodos que intervienen y orden entre ellas) a generar ante eventos:
lecturas/escrituras del procesador del nodo como consecuencia de la llegada de paquetes de otros nodos.

Poltica de coherencia entre caches:

Describir comportamiento:

Definir transiciones de estados para un bloque en cache, y en memoria


Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

63

Contenido Leccin 8
AC

Sistema de memoria en multiprocesadores

Concepto de coherencia en el sistema de memoria: situaciones de incoherencia y requisitos para evitar problemas en estos casos Protocolos de mantenimiento de coherencia: clasificacin y diseo
Protocolo MSI de espionaje Protocolo MESI de espionaje Protocolo MSI basado en directorios con o sin difusin
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)


64

AC

Protocolo de espionaje de tres estados (MSI) posescritura e invalidacin


Estados de un bloque en cache:
Modificado (M): es la nica copia del bloque vlida en todo el sistema Compartido (C,S): est vlido, tambin vlido en memoria y puede que haya copia vlida en otras caches Invlido (I): se ha invalidado o no est fsicamente

Estados de un bloque en memoria (en realidad se evita almacenar esta informacin):


Vlido: puede haber copia vlida en una o varias caches Invlido: habr copia valida en una cache

65

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

AC

Protocolo de espionaje de tres estados (MSI) posescritura e invalidacin


Transferencias generadas por un nodo con cache (tipos de paquetes):

Peticin de lectura de un bloque (PtLec): por lectura PrLec PrEsc con fallo de cache del procesador del nodo (PrLec) Peticin de acceso exclusivo (PtLecEx): por escritura Controlador de cache del procesador (PrEsc) en bloque compartido o invlido Peticin de posescritura (PtPEsc): por el reemplazo del bloque modificado (el procesador del nodo no PtLec, PtLecEx, espera respuesta) PtPEsc, Respuesta con bloque (RpBloque): al tener en estado RpBloque modificado el bloque solicitado por una PtLec o PtLecEx recibida
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

66

Diagrama MSI de transiciones de estados


AC

PrLec/- PrEsc/-

M
PtLec/RpBloque PrEsc/PtLecEx
PrEsc/ PtLecEx

PrLec PrEsc
Controlador de cache

S
PrLec/-

PtLecEx/RpBloque

PtLec/PrLec/PtLec PtLecEx/-

I
67 Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

PtLec, PtLec, PtLecEx, PtLecEx, PtPEsc, RpBloque RpBloque

Tabla de descripcin de MSI


AC

EST. ACT.

EVENTO
PrLec/PrEsc PtLec PtLecEx Reemplazo PrLec

ACCIN
Genera paquete respuesta (RpBloque) Genera paquete respuesta (RpBloque) Invalida copia local Genera paquete posescritura (PtPEsc)

SIGUIENTE
Modificado Compartido Invlido Invlido Compartido

Modificado (M)

Compart. (S)

PrEsc
PtLec PtLecEx PrLec

Genera paquete PtLecEx


Invalida copia local Genera paquete PtLec Genera paquete PtLecEx

Modificado
Compartido Invlido Compartido Modificado Invlido

Invlido (I)
68

PrEsc PtLec/PtLecEx

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

Contenido Leccin 8
AC

Sistema de memoria en multiprocesadores

Concepto de coherencia en el sistema de memoria: situaciones de incoherencia y requisitos para evitar problemas en estos casos Protocolos de mantenimiento de coherencia: clasificacin y diseo
Protocolo MSI de espionaje Protocolo MESI de espionaje Protocolo MSI basado en directorios con o sin difusin
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)


69

AC

Protocolo de espionaje de cuatro estados (MESI) posescritura e invalidacin


Estados de un bloque en cache:
Modificado (M):es la nica copia del bloque vlida en todo el sistema Exclusivo (E): es la nica copia de bloque vlida en caches, la memoria tambin est actualizada Compartido (C,Shared): es vlido, tambin vlido en memoria y en al menos otra cache Invlido (I): se ha invalidado o no est fsicamente

Estados de un bloque en memoria(en realidad se evita almacenar esta informacin):


Vlido: puede haber copia vlida en una o varias caches Invlido: habr copia valida en una cache

70

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

Diagrama MESI de transiciones de estados


AC

PrLec/- PrEsc/-

M
PrEsc/PrEsc/PtLecEx PrEsc/PtLecEx PtLec/RpBloque

PrLec PrEsc

E
PrLec/PtLec/PtLecEx/PtLecEx/-

PrLec(C=0)/PtLec
PrLec(C=1)/ PtLec

PtLecEx/RpBloque

Controlador de cache

S
PrLec/PtLec/-

PtLec, PtLec, PtLecEx, PtLecEx, PtPEsc, RpBloque RpBloque

I
71 Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

Tabla de descripcin de MESI


AC

Modificado (M)

Exclusivo (E)

Compartido (S)

Invlido (I)

PrLec/PrEsc PtLec PtLecEx Reemplazo PrLec PrEsc PtLec PtLecEx PrLec/PtLec PrEsc PtLecEx PrLec (C=1) PrLec (C=0) PrEsc PtLec/PtLecEx

Genera RpBloque Genera RpBloque. Invalida copia local Genera PtPEsc

Invalida copia local

Genera PtLecEx Invalida copia local Genera PtLec Genera PtLec Genera PtLecEx

Modificado Compartido Invlido Invlido Exclusivo Modificado Compartido Invlido Compartido Modificado Invlido Compartido Exclusivo Modificado Invlido

72

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

Contenido Leccin 8
AC

Sistema de memoria en multiprocesadores

Concepto de coherencia en el sistema de memoria: situaciones de incoherencia y requisitos para evitar problemas en estos casos Protocolos de mantenimiento de coherencia: clasificacin y diseo
Protocolo MSI de espionaje Protocolo MESI de espionaje Protocolo MSI basado en directorios con o sin difusin
Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)


73

MSI con directorios (sin difusin) I


AC

Estados de un bloque en cache:

Modificado (M), Compartido (C), Invlido (I)

1. Estados de un bloque en MP: PtLec, Vlido e invlido PtLecEx, Transferencias (tipos de paquetes) : PtEx, Tipos de nodos: solicitante (S), origen (O), modificado (M), PtPEsc propietario (P) y compartidor (C)

S
4. RpInv RpBloque RpBloqueInv

Peticin de

nodo S a O: lectura de un bloque (PtLec), lectura con acceso exclusivo (PtLecEx), peticin de acceso exclusivo sin lectura (PtEx), posescritura (PtPEsc) nodo O a nodos con copia (P, M, C): invalidacin (RvInv), lectura (RvLec, RvLecEx). nodo P a O: respuesta con bloque (RpBloque), respuesta confirmando invalidacin (RpInv ) nodo O a S: resp. con bloque (RpBloque), resp. con o sin bloque confirmando fin inv. (RpInv, RpBloqueInv)

Reenvo de peticin de

2. RvInv, RvLec, RvLecEx

O
3. RpInv RpBloque

Respuesta de

74

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

MSI con directorios (sin difusin) II


AC

Estado inicial D) Invlido S) Invlido P) Modificado Acceso remoto

Evento Fallo de lectura

Estado final D) Vlido S) Compartido P) Compartido


Ejemplo con 4 nodos:

S
4.RpBloque 3.RpBloque
1.PtLec 4.RpBloque 3.RpBloque 2.RvLec

1.PtLec

2.RvLec

75

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

MSI con directorios (sin difusin) III


AC

Estado inicial D) Vlido S) Invlido P) Compartido Acceso remoto

Evento Fallo de lectura

Estado final D) Vlido S) Compartido P) Compartido

2.RpBloque
Mem.

S
2.RpBloque 1.PtLec

1.PtLec

Mem.

76

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

MSI con directorios (sin difusin) IV


AC

Estado inicial D) Vlido S) Invlido P) Compartido Acceso remoto

Evento Fallo de escritura

Estado final D) Invlido S) Modificado P) Invlido

S
1.PtLecEx 4.RpBlInv

1.PtLecEx 4.RpBloqueInv

P P

3.RpInv 2.RvInv

77

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

MSI con directorios (sin difusin) V


AC

Estado inicial D) Vlido S) Compartido P) Compartido Acceso remoto

Evento Fallo de escritura

Estado final D) Invlido S) Modificado P) Invlido

S
1.PtLecEx 4.RpInv

1.PtEx 4.RpInv

P P

3.RpInv 2.RvInv

78

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

MSI con directorios (sin difusin) VI


AC

Estado inicial D) Invlido S) Invlido P) Modificado Acceso remoto

Evento Fallo de escritura

Estado final D) Invlido S) Modificado P) Invlido

4.RpBloqueInv

3.RpBloqueInv

S
P
1.PtLecEx 4.RpBloqueInv
3.RpBloqueInv

1.PtLecEx

2.RvLecEx

O
79 Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

2.RvLecEx

MSI con directorios (con difusin) I


AC

Estados de un bloque en cache:

Modificado (M), Compartido (C), Invlido (I)

Estados de un bloque en MP:

1. Vlido e invlido PtLec, PtLecEx, Transferencias (tipos de paquetes) : PtEx, Tipos de nodos: solicitante (S), origen (O), modificado PtPEsc (M), propietario (P) y compartidor (C) Difusin de peticin del nodo S a O 1. O y P: lectura de un bloque (PtLec), lectura con acceso exclusivo (PtLecEx), peticin de acceso exclusivo sin PtLec, lectura (PtEx) PtLecEx, O: posescritura (PtPEsc) PtEx, Respuesta de

3. RpInv RpBloque RpBloqueInv

2. RpInv RpBloque

nodo P a O: respuesta con bloque (RpBloque), respuesta confirmando invalidacin (RpInv ) nodo O a S: resp. con bloque (RpBloque), resp. con o sin bloque confirmando fin inv. (RpInv, RpBloqueInv)

80

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

MSI con directorios (con difusin) II


AC

Estado inicial D) Invlido S) Invlido P) Modificado Acceso remoto

Evento Fallo de lectura

Estado final D) Vlido S) Compartido P) Compartido


Ejemplo con 4 nodos:

S
3.RpBloque 1.PtLec

S
3.RpBloque

O
2.RpBloque

1.PtLec

2.RpBloque

81

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

MSI con directorios (con difusin) III


AC

Estado inicial D) Vlido S) Invlido P) Compartido Acceso remoto

Evento Fallo de escritura

Estado final D) Invlido S) Modificado P) Invlido

S
1.PtLecEx 3.RpBlInv

1.PtLecEx

S
3.RpBloqueInv

2.RpInv

82

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

Para ampliar
AC

Webs
An Introduction to the Intel QuickPath Interconnect, http://www.intel.com/content/www/us/en/io/quickpathtechnology/quick-path-interconnect-introductionpaper.html Demo Intel QuickPath Interconnect http://www.intel.com/content/www/us/en/performance/p erformance-quickpath-architecture-demo.html Animaciones de protocolos de coherencia de cachs http://lorca.act.uji.es/projects/ccp/

83

Tema 3. Arquitecturas con paralelismo a nivel de thread (TLP)

You might also like