Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM...

51
Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC - Problemas: tráfico y atomicidad - Protocolo de coherencia Origin - Protocolo SCI (NUMA-Q)

Transcript of Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM...

Page 1: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

Arquitecturas Paralelas

7. Coherencia de Datos en computadores DSM

- Introducción- Directorios de coherencia: MP/MC- Problemas: tráfico y atomicidad- Protocolo de coherencia Origin- Protocolo SCI (NUMA-Q)

Page 2: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 27

Coherencia de los datos en sistemas de memoria compartida SMP (red de comunicación, un bus)

> Snoopy > Estados / estados transitorios...

¿Y en sistemas DSM (mallas...)?

> La memoria es compartida, pero estáfísicamente distribuida entre los

nodos del sistema.> La red no es un bus. Por tanto,

snoopy ??

Introducción

Page 3: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 37

▪ El hardware no asegura la coherencia de los datos (es responsabilidad del programador):

→ NUMA

▪ El hardware sí asegura la coherencia de los datos: → cc-NUMA

Introducción

¿Cómo se mantiene la coherencia de los datos en los sistemas DSM?

¿Cómo? Directorios de coherencia.

Page 4: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 47

El directorio de coherencia guarda información sobre los bloques de datos:

- estado (estables o transitorios)- dónde están las copias

Problemas:- tamaño del directorio.- tráfico generado para mantener la coherencia.

- atomicidad de las operaciones.

El directorio está repartido entre los procesadores (no es un dispositivo “central”).

Introducción

Page 5: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 57

Lugar y estructura del directorio:

- junto a la MP, una palabra de coherencia por cada bloque de datos:

▪ full bit vector

▪ limited bit vector

- distribuido entre las MC (+MP), formando listas ligadas con la información de cada bloque:

▪ SCI, scalable coherent interface

Introducción

Page 6: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 67

1.Full bit vector (MESI)

Estructura del directorio- un bit por procesador

(1/0) para indicar si tiene o no copia del bloque.

- bits para indicar el estado del bloque (los habituales).

Directorios de coher.: MP

> E1 0 0 0 - 0

> S1 0 1 0 - 0

> M0 0 0 1 - 1

> I0 0 0 0 - 0

> no (MESI)1 1 0 1 - 1

P0 P1 P2 P3 Es

Page 7: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 77

Problemas

El tamaño del directorio crece linealmente con el número de procesadores.

- bloques de 64 bytes:

P = 64 → 65 bits (8 bytes)P = 256 → 257 bits (32 bytes)P = 1.024 → 1.025 bits (128 bytes) +200% !

Directorios de coher.: MP

Page 8: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 87

Para reducir el tamaño de la palabra de coherencia:

- bloques de 128 bytes / 4 proc. por nodo:

P = 1.024 (256x4)→ 257 bits (32 bytes) +25%

1. Usar bloques de datos “más grandes”

2. Reducir el número de nodos (estructura jerárquica: snoopy SMP + directorio)

Directorios de coher.: MP

Page 9: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 97

2. Limited bit vector

- se limita el número de copias de un bloque: sólo se admiten k copias.

- se guardan en la palabra de coherencia de cada bloque las direcciones (log2 P bits) de los procesadores que tienen una copia:

k × log2 P << P

Directorios de coher.: MP

@1, @2, ..., @k, estado

Page 10: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 107

- 4 procesadores por nodobloques de 128 bytes / 5 copias

P = 256 (64x4) → 5 x 6 + 1 = 31 bits ≈ 4 bytes

+ 3%

P = 1.024 (256x4) → 5 x 8 + 1 = 41 bits ≈ 5 bytes

+ 4%

Directorios de coher.: MP

Page 11: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 117

1 bit por proc. estado

0 ... 1 ... 0 M

L

CC = controlador de comunic.D = directorio de coherencia

L = local H = home R= remote

H

P

CCC

DMP

R

23

4

5

1

LD A

1 S

Directorios de coher.: MP

Page 12: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 127

2

1 0… 1 …1 0 S

otras dos copias estadoST A

0 …0 0 M

4

4’

3

3’

1

L

CC = controlador de comunic.D = directorio de coherencia

L = local H = home R= remote

H

P

CCC

DMP

Directorios de coher.: MP

R1

R2

Page 13: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 137

Directorios en MC: estructura

La información sobre cada bloque de datos no se concentra en una sola palabra en el directorio junto a MP, sino que reparte entre el directorio junto a MP y las caches, en los directorios de éstas.

La información de coherencia de cada bloque se estructura en forma de listas ligadas.

Directorios de coher.: MC

Page 14: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 147

Información de coherencia (por bloque)

Directorios de coher.: MC

@cop1 / estado

“MP” →

@copi-1 / @copi+1 / estado

MC →

Page 15: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 157

¿Cómo se organiza la información en colas ligadas?

Home(memoria principal)

Pj (cache) Pk (cache)Pi (cache)

Directorios de coher.: MC

Pk

*, * bl. datosbl. datos

bl. datosMP D

bl. datos

*,Pj *,Pk Pi,P

k Pj,*

Pj Pi

Page 16: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 167

1. MP 5 copias, 3 bits de estadoPalabra de coherencia: 5 x 10 + 3 = 53 bits

Directorio (nodo): 53 bit x 1 M bloque = 53 Mb

2. MCEn MP: 10 + 3 = 13 bits

En caches: 2 x 10 + 3 bit = 23 bits

Total (nodo): 13 x 1 M + 23 x 4 k = 13,1 Mb

Directorios de coher.: MC

P = 1.024 / MP = 128 MB / MC = 512 kB / bl = 128 bytes

Page 17: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 177

Mantener la coherencia debe generar el menor tráfico posible, tanto de paquetes de control como de paquetes de datos.

Las operaciones de coherencia deben tener la menor latencia posible.

Para ello hay que- Minimizar el número de mensajes (tráfico).- Reducir el camino crítico (latencia) de la

operación.

Problemas: tráfico de coh.

Page 18: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 187

Ejemplo: el procesador L lee una variable que no está en su cache, y que corresponde a un bloque sito en la memoria del procesador H, bloque que está modificado en la cache del procesador R.

Tres protocolos para efectuar las operaciones de coherencia:

1. Pregunta / Respuesta2. Intervention Forwarding3. Reply Forwarding

Problemas: tráfico de coh.

Page 19: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 197

1. Pregunta / Respuesta

L HI

R

1. Petición

2. Respuesta

4a. Respuesta (Bloque)

4b. Bloque (actual.)

3. Petición

mensajes: 5camino crítico: 4

0100 / M

M

Problemas: tráfico de coh.

Page 20: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 207

2. Intervention Forwarding

L HI

R

1. Petición

4. Respuesta(Bloque)

mensajes: 4camino crítico: 4

2. Petición

3. Respuesta(Bloque)

0100 / M

M

Problemas: tráfico de coh.

Page 21: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 217

3. Reply Forwarding

L HI

R

1. Petición

3a. Respuesta (Bloque)

3b. Bloque (actual.)

2. Petición

mensajes: 4camino crítico: 3

0100 / M

M

Problemas: tráfico de coh.

Page 22: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 227

Las operaciones de coherencia tienen que realizarse de forma atómica, sin interferencias entre ellas.

Problemas: atomicidad

1a. INV

2b. Respuesta

1b. INV

?

R1 HS

R2S

..1..1.. / S2a→ ..1..0.. / M

→ M??→M

Page 23: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 237

Para asegurar la atomicidad

Problemas: atomicidad

+ Hay que utilizar estados transitorios, busy, en las caches y en el directorio.

+ Si no se pueden procesar las peticiones o son incoherentes:- se rechazan mediante paquetes tipo

NACK.- o se guardan en un búfer para

procesarlas más tarde.

Page 24: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 247

Dos ejemplos:

1. Computadores Origin → MP

2. Protocolo SCI (Numa-Q) → MC

Protocolos comerciales

Page 25: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 257

▪ 512 nodos / 1.024 procesadores / hipercubo

▪ Encaminamiento adaptativo / canales virtuales

▪ Invalidación / MESI (en cache) / write-back

▪ Full bit vector / 7 estados en MPI / S / E cuidado: E = E o M (una copia única)

3 estados busy1 para otras cosas

▪ Reply forwarding / NACK

▪ Paquetes de control: Rd / INV / RdEx / ACK / NACK / Wr

Origin 2000

Algunas características de los computadores Origin 2000

Page 26: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 267

Hay que analizar tres operaciones para ver cómo mantener la coherencia de los datos:

▪ Lectura de una variable (fallo)▪ Escritura de una variable (acierto / fallo)▪ Reemplazo de un bloque (actualizar MP)

Origin 2000

Page 27: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 277

Lectura (fallo) Dir. = I/S

L H

1b. Rd A0000 / I

I → E/S3

1100 / S

2b. Bloque

1a→ busy

2a

→ 0001 / E

→ 1101 / S

Origin 2000

Page 28: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 287

L H

1000 / E

I → S4

E/M1a→ busy

2a→ 1001 / busy

R

1b. Rd A 2c. Rd A (+@L)

3b. ACK / Bloque

3c. ACK / Wr (Bl.)

→ 1001 / S4

3a→ S2b. Bloque

(espec.)

Origin 2000

Lectura (fallo) Dir. = E

Page 29: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 297

Lectura (fallo) Dir. = busy

L H

1b. Rd A

xxxx / busy

I

2. NACK

1a→ busy

Origin 2000

Page 30: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 307

Escritura (acierto-INV / fallo-RdEx)

Dir.: busy

L H

1b. INV A / RdEx A

xxxx / busy

S/I

2. NACK

1a→ busy

Origin 2000

Page 31: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 317

L HS/I → M

51a→ busy

2a→ 0001 / E

R1

1b. INV A / RdEx A

2b. n.cop. / +Bloque

2c. INV A (+@L)

3b. ACK

4aS → I

1101 / S1100 / S

R2

4b. ACK

2d. INV A (+@L)

3aS → I

eficiencia¡cuidado carreras!

Origin 2000

Escritura (acierto-INV / fallo-RdEx)Dir.: S

Page 32: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 327

L HS/I

1a→ busy

2a→ 0001 / E

R1

1b. INV A / RdEx A

2b. n.cop. / +Bloque

2c. INV A (+@L)

1101 / S1100 / S

R2

2d. INV A (+@L)

¡Ojo! carreras

R3 R4

NACKeficiencia:guardar, no rechazar

Rd A (@R3)

?

→ 0011 / busy

Origin 2000

Escritura (acierto-INV / fallo-RdEx)Dir.: S

Page 33: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 337

L H

1000 / E

I → M4

E/M1a→ busy

2a→ 0001 / busy

R

1b. RdEx A 2c. RdEx A (+@L)

3b. ACK / Bloque

3c. ACK / Wr (Bloque)

→ 0001 / E4

3a→ I2b. n.cop. +

Bloque (espec.)

Origin 2000

Escritura (fallo-RdEx)

Dir.: E

Page 34: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 347

L H

1b. INV A

1000 / E

S

2. NACK

1a→ busy

Origin 2000

Escritura (acierto-INV)

Dir.: E

Page 35: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 357

L H

1b. RdEx A

0000 / I

I → M3

2b. Bloque

1a→ busy

2a

→ 0001 / E

Origin 2000

Escritura (fallo-RdEx)

Dir.: I

Page 36: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 367

L H

1b. INV A

0000 / I

S

2. NACK

1a→ busy

Origin 2000

Escritura (acierto-INV)

Dir.: I

Page 37: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 377

L H

1b. Wr (Bloque)

0001 / E

M → x3

2b. ACK

1a→ busy

2a

→ 0000 / I

Origin 2000

Reemplazo – actualizar MPDir.: E

Page 38: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 387

L H

0001 / E

→ x4

I

2a→ 1001 / busy

R

3c. ACK

1b. Rd A

2b. Bloque (espec)

→ 1000 / E3a

1a→ busy

4→ E

2c. Rd A

M2→ busy 2d. Wr

(Bloque)

3b. Bloque

Origin 2000

Reemplazo – actualizar MPDir.: busy

Page 39: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 397Numa-Q

Estructura del multiprocesador NUMA-Q

PC

M S/I

PCI

S/I

IQ link

D

PC

PC

PC4P

4P

4P

4P

4P 4P

4P 4P

Page 40: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 407

▪ 8 x 4 procesadores / bus (snoopy)

▪ IQ-link remote access cache

▪ Invalidación / MOESI / write-back

▪ <Petición / Respuesta> / encolado de peticiones

▪ Listas doblemente ligadas en las caches:

directorio (MP): estado / @c1

directorio MC: estado / @ci-1 / @ci+1

▪ SCI scalable coherent interface

Numa-Q

Estructura del multiprocesador NUMA-Q

Page 41: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 417

Estados de los bloques:

▪ En MC: - posición: Only, Head, Mid, Tail- estado: Dirty (M), Fresh (S), Valid (S’), Exclusive (E)

Ej.: Only-Fresh, Head-Fresh, Head-Dirty, Mid-Valid...

- y estados busy

▪ En “MP”: Home (I), Fresh (E, S), Gone (M, O)

Protocolo de coh. SCI

Page 42: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 427

Tres funciones para mantener la coherencia de los datos:

▪ List Construction Para cargar un bloque de datos en la cache (Rd) y ponerlo en cabeza de la lista de copias.

▪ Roll-outPara eliminar un bloque de la cache (reemplazo), y quitarlo de la lista de copias.

▪ Purge Para modificar una variable (Wr), y, por tanto, invalidar el resto de copias y actualizar la lista.

Protocolo de coh. SCI

Page 43: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 437

Lectura: List Construction (Home)

L H

1b. LC (Rd A)

2b. Bloque1a

→ busy 2a

→ F | @L

I

Dir (MC) H | *

Dir (MP)

→ O-F|*-*

3

Protocolo de coh. SCI

Page 44: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 447

¿qué cambiaría si estuviera en Gone?

L H

1b. LC (Rd A)

I → H-F | *-@R

5

2b. Bloque + @R

1a

→ busy

2a→ F | @L

Dir (MC)

F | @R

Dir (MP)

R

3. New Head (@L)

4b. ACK

→ T-V | @L-*

4a

Dir (MC)

O-F | *-*

H-F | *-@R2 → M-V | @L-@R2

Protocolo de coh. SCI

Lectura: List Construction (Fresh/Gone)

Page 45: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 457

Escrituras: ¡sólo en la copia de la cabecera!acierto / head → Purge

fallo → List Construction + Purge

acierto / no head → Roll-Out + L. Const. + Purge

Protocolo de coh. SCI

Page 46: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 467

Purge (Only-Fresh)

L H

1b. Wr (est. A)

2b. ACK1a

→ busy

2a

→ G | @L

O-F | *-*

Dir (MC)

F | @L

Dir (MP)

→ O-D | *-*

3

Protocolo de coh. SCI

Page 47: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 477

LH R1

1b. Wr (est. A)

2b. ACK

3. INV A

4b. ACK + @R2

R2

6b. ACK + *

5. INV A

Purge (Head-Fresh)

F | @L

Dir (MP)

→ G | @L

2a

1a

→ busy H-F | *-@R1

Dir (MC)

→ O-D | *-*

7 M-V |@L-@R2

Dir (MC)

→ I | *-*

4a

T-V |@R1-* → I | *-*

6a

Protocolo de coh. SCI

Page 48: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 487

Roll-Out (Wr / reempl.)

L R2

1c. RO A + @R1

3b. ACK

3a→ T-V | @R1-*T-V | @L-*

Dir (MC)

R1

1b. RO A + @R2

2b. ACK

2a→ H-D | *-@R2H-D | *-@L

Dir (MC)

1a→ busyM-V | @R1-@R2

Dir (MC)

4→ busy / I | *-*

Protocolo de coh. SCI

Page 49: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 497Protocolo de coh. SCI

Problemas: atomicidad (i)

Dir (MP)G | @R1

H-D|*-@R2

H

R1 R2

T-V | @R1-*busy

L1

Dir (MP)G | @L1

H

L1

NewHead

H

L2

busy

Dir (MP)

G | @L2

HH

L1

H

L2

NewHead

HHH

M-V|@L1-@R2

R1L1L1 Ack +

bl

H-D | *-@R1

L1

M-V|@L2-@R1

L2Ack + bl

H-D | *-@L1

R1

Page 50: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

Arquitecturas ParalelasIF - EHU

CD-DSM 507Protocolo de coh. SCI

Problemas: atomicidad (ii)

R

Dir (MP)

F | @L

H

O-F | *-*

L

busy

LC

busy

Wr

Dir (MP)

F | @R??

NACK

Page 51: Arquitecturas Paralelas IF - EHU Arquitecturas Paralelas 7. Coherencia de Datos en computadores DSM - Introducción - Directorios de coherencia: MP/MC -

any questions?

Arquitecuras ParalelasIF - EHU

CD - DSM | Protocolo de coh. SCI

R

H

O-F | *-*

L

busy

LC

busy

Wr

Dir (MP)

F | @R??

NACK

Problemas: atomicidad (ii)