1 gestión eficiente de la lsq basada en mecanismos de filtrado fernando castro artecs group

39
1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro Fernando Castro ArTeCS Group ArTeCS Group

Upload: eutropio-mestas

Post on 22-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

1

Gestión eficiente de la LSQ basada en

mecanismos de filtrado

Fernando CastroFernando Castro

ArTeCS GroupArTeCS Group

Page 2: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

2

Motivación Introducción Diseño propuesto Entorno experimental Resultados Conclusiones y trabajo futuro

Índice

Page 3: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

3

Creciente brecha entre la velocidad de procesamiento y el acceso a memoria

Técnicas que permiten la ejecución adelantada de los loads (preservando la semántica del programa)

Problema de escalabilidad de la LSQ Arquitecturas cada vez más agresivas Mayor latencia y consumo de energía

Motivación

Page 4: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

4

Motivación Introducción Diseño propuesto Entorno experimental Resultados Conclusiones y trabajo futuro

Page 5: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

5

Incremento de rendimiento Load bypassing Load forwarding

Un paso más allá: Especulación Procesador: Detectar, squash y reejecutar loads

prematuros

Las implementaciones convencionales utilizan la LSQ

Introducción I

Page 6: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

6

LSQ: Realiza dinámicamente la desambiguación de memoria

Los requerimientos en el ordenamiento de memoria son tres: Chequear si es posible realizar forwarding:

store R5, 1000(R2) . .

load R8, 1000(R2)

Introducción II

Page 7: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

7

Chequear si se precisa una acción correctora:

store R5, 1000(R2) . .

load R8, 1000(R2)

Loads y stores: deben alcanzar el sistema de memoria en el orden especificado por el modelo de consistencia de memoria

Introducción III

Page 8: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

8

Lógica AsociativaLógica Asociativa

Introducción IV

LQ

AddrDataSquash?

SQ

AddrDataForwarding?

Page 9: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

9

Motivación Introducción Diseño propuesto Entorno experimental Resultados Conclusiones y trabajo futuro

Page 10: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

10

Idea fundamental Reducir el número de búsquedas asociativas Reducir el consumo de energía por acceso

Fundamento Las dependencias de memoria son bastante

infrecuentes (12% de los loads forwarding)

74% de las instrucciones de memoria son loads El comportamiento de los loads está fuertemente

sesgado

Diseño propuesto I

Page 11: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

11

Estructura global Loads que sólo ocasionalmente se comunican

con stores in-flight tratamiento usando una cola especial

La LQ convencional es dividida : Associative Load Queue (ALQ) Banked Non-Associative Load Queue (BNLQ)

Necesitamos mecanismos adicionales para garantizar la corrección semántica de los programas Exclusive Bloom Filter (EBF)

Diseño propuesto II

Page 12: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

12

Diseño propuesto III

ALQ

SQ

AddrData

AddrData

BNLQ

AddrData

EBF

Hash

Hash

Squash ?

Forwarding ? Squash ?

+1

Predictor

Load

Page 13: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

13

Loads en la BNLQ Issue: Se incrementa el contador correspondiente en

el EBF Commit: Se decrementa el contador correspondiente

en el EBF

Todos los stores Chequean el correspondiente contador del EBF Valor mayor que cero squash

Deshacer modificaciones en el EBF bajo saltos mal predichos o reejecución de instrucciones

Diseño propuesto IV

Page 14: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

14

Actualización del EBF bajo caminos incorrectos Los loads lanzados en caminos erróneos deben

decrementar el contador del EBF

Diseño propuesto V

BNLQ

EBF

-1

-1

-1

Hash

Data Add

Loads in wrong path

Data EA

-1

-1

EBF

-1

index

BNLQ

Loads in wrong path

Page 15: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

15

1 2

Diseño propuesto VI

EBFs alternos

tail

head

ROB

limit

EBF1 EBF2

loadsstores

Chk

Inc

tail =

head

ROB

limit

EBF1 EBF2

loadsstores

Inc

Chk

Page 16: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

16

3

EBFs alternos

Diseño propuesto VII

head =

tail

ROB

limit

EBF1 EBF2

loads

00000000000

stores

Chk

Inc

Page 17: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

17

Predicción de dependencias de los loads

Predictor basado en profiling Predictor dinámico

Diseño propuesto VIII

Page 18: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

18

Predictor basado en profiling La predicción de dependencia de los loads está

ligada a las instrucciones estáticas 82% todas sus instancias son independientes 10% todas sus instancias son dependientes 8% resto de loads

Nuestra clasificación está basada en un umbral :Durante la ejecución de entrenamiento:

100 es el número total de instancias de un cierto load estático Umbral de 0.2 (20%) Si el load indexa la misma entrada del EBF que algún store in-

flight para más de 20 instancias se predice como dependiente

Diseño propuesto IX

Page 19: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

19

Predictor de dependencias dinámico Tabla dedicada indexada por PC Todos los loads son considerados inicialmente

como independientes Store encuentra acierto en el EBF

Identificar los loads que colisionan con el store Modo DPU

Predicción cambia a dependiente : Mantener durante el resto de la ejecución Refrescar periódicamente

Diseño propuesto X

Page 20: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

20

Modo DPU (Dependence Predictor Update)

SAVED INFO

EBF_counter = 2EBF_index = 2005

DPU mode actived

Entry 2005

Store X

Load Y

Load X

Hash

EBF

2

Diseño propuesto XI

Page 21: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

21

SAVED INFO

EBF_counter = 2EBF_index = 2005

DPU mode actived

Comitted

Load

Load_EA Hash =

Saved

EBF_counter

Saved

EBF_index

Load_PC

Prediction

Table

Diseño propuesto XII

DPU mode?

Page 22: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

22

SAVED INFO

EBF_counter = 2EBF_index = 2005

DPU mode actived

Comitted

Load

Load_EA Hash =

DPU mode?

2

2005

Load_PC

Prediction

Table

Diseño propuesto XII

YES

INDEP

INDEP

Page 23: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

23

SAVED INFO

EBF_counter = 2EBF_index = 2005

DPU mode actived

Comitted

Load

Load_EA Hash =

1

2005

Load_PC

Prediction

Table

Diseño propuesto XII

DPU mode?

YES

DEP

INDEP

Page 24: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

24

SAVED INFO

EBF_counter = 2EBF_index = 2005

DPU mode actived

Comitted

Load

Load_EA Hash =

0

2005

Load_PC

Prediction

Table

Diseño propuesto XII

DPU mode?

NO

DEP

DEP

Page 25: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

25

Diseño propuesto XIII

Predictor dinámico vs predictor basado en profiling PVP : probabilidad predicción correcta sobre load dependiente PVN : probabilidad predicción incorrecta sobre load independiente

Mejores resultados para el predictor basado en profiling Exploración de umbral

0

0,5

1

1,5

2

2,5

15 20 25 30 35 40PVP (%)

PV

N (

%)

profile-based

dynamic without refreshing

dynamic with refreshing

Page 26: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

26

Exploración de umbral Algoritmo para hallar el umbral óptimo

Comenzamos desde el valor más pequeño y gradualmente lo incrementamos

Finalizamos cuando la razón entre ahorro de energía en el procesador y la degradación de IPC empieza a reducirse

Diseño propuesto XIV

1,5

2,5

3,5

4,5

0 1 2 3 4Slowdown (%)

Ene

rgy

Sav

ings

(%

)

gzipgapapsisixtrack

0.01

0.06

0.02

0.07

0

1

2

3

-6 -5 -4 -3 -2 -1 0Slowdown (%)

Ene

rgy

Sav

ings

(%

)

0.01

0.06 0.5

0

Page 27: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

27

Tratamiento de falsos positivos en el EBF Existencia de falsos positivos

(A) Tratar falsas dependencias como dependencias verdaderas

+ Simplifica el diseño - Squashes innecesarios - Se incrementa la presión en la ALQ

(B) Recorrer la BNLQ bajo hit en el EBF e ignorar los falsos positivos

+ Reducido número de squashes + Disminuye la presión en la ALQ - Mayor retardo en iniciar el squash

Diseño propuesto XV

Page 28: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

28

Motivación Introducción Diseño propuesto Entorno experimental Resultados Conclusiones y trabajo futuro

Page 29: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

29

Parámetros de la LSQ y Simulación

LQ-SQ Baseline LQ: 80 entries SQ: 48 entries Proposed LQ-SQ BNLQ-ALQ: 32-48, 40-40, 48-32, 56-24 SQ: 48 entries EBF: 4K entries (4-bits per entry)

SimpleScalar + Wattch

Ref inputs

Single Sim-point regions (100M instructions)

Entorno experimental

Page 30: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

30

Motivación Introducción Diseño propuesto Entorno experimental Resultados Conclusiones y trabajo futuro

Page 31: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

31

Resultados experimentales IBasado en profiling

Dinámico

% Slowdown

% LQ-SQ Eng. Savings % Processor Eng. Savings

ALQ=48 ALQ=40 ALQ=32 ALQ=24

35-52% ahorro de energía en la LSQ 2-4% ahorro de energía en el procesador Pérdida de rendimiento reducida (<1% en promedio)

0

1

2

3

4

A B

30

35

40

45

50

55

A B

1,5

2

2,5

3

3,5

4

A B

0

0,5

1

1,5

2

2,5

A B30

35

40

45

50

55

A B

2

2,5

3

3,5

4

4,5

A B

Page 32: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

32

Resultados experimentales II

Escalado de la BNLQ (ALQ=32)

-8

-6

-4

-2

0

2

Slo

wd

ow

n (

%)

BNLQ=48 BNLQ=60 BNLQ=100

0102030405060

BNLQ=48 BNLQ=60 BNLQ=100

LQ

-SQ

En

g. S

av. (

%)

0

2

4

6

8

BNLQ=48 BNLQ=60 BNLQ=100

Pro

c. E

n. S

av. (

%)

AVG_INT

AVG_FP

AVG

Page 33: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

33

Resultados experimentales III

ALQ=48

0

10

20

30

40

50

60

BNLQ=32 BNLQ=60 BNLQ=100

LQ

-SQ

En

. Sav

ing

s (%

)

ALQ=40

0

10

20

30

40

50

60

BNLQ=40 BNLQ=60 BNLQ=100

LQ

-SQ

En

. Sav

ing

s (%

)

ALQ=32

0

10

20

30

40

50

60

BNLQ=48 BNLQ=60 BNLQ=100

LQ

-SQ

En

. Sav

ing

s (%

)

ALQ=24

0

10

20

30

40

50

60

BNLQ=56 BNLQ=80 BNLQ=100

LQ

-SQ

En

. Sav

ing

s (%

)

AVG_INT AVG_FP AVG

Escalado de la BNLQ (ALQ=32). Configuración agresiva

Page 34: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

34

Resultados experimentales IV

Exploración del periodo de refresco óptimo para el predictor dinámico

0

2

4

6

8

10

0 500 1000Periodo de refresco (miles de ciclos)

Slo

wd

ow

n (

%)

ALQ=48

ALQ=40

ALQ=32

ALQ=24

∞-2

-1

0

1

2

3

0 500 1000Periodo de refresco (miles de ciclos)

Pro

c.

En

g.

Sa

vin

gs

(%

)

ALQ=48

ALQ=40

ALQ=32

ALQ=24

Page 35: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

35

Motivación Introducción Diseño propuesto Entorno experimental Resultados Conclusiones y trabajo futuro

Page 36: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

36

Conclusiones Diseño particionado de la LQ Eficacia de los predictores dinámico y basado en

profiling Reducción del impacto de los falsos positivos en el EBF Ahorro de energía (con una muy pequeña pérdida de

rendimiento) de 35-50% en la LQ-SQ y 2-4% en el procesador

Trabajo actual y futuro Eliminación total de la LQ Incorporación de simultaneous multithreading (SMT)

Conclusiones y Trabajo futuro I

Page 37: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

37

Conclusiones y Trabajo futuro II

Eliminación total de la LQ

LOAD STORE

Tabla de edad Tabla de edad

7

22

18

35

7

22

18

35

(ROB_id=35) (ROB_id=24)

Reejecución de instrucciones

Page 38: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

38

Publicaciones F. Castro, D. Chaver, L. Pinuel, M. Prieto, M. C. Huang, F.Tirado.

“Load-Store Queue Management: an Energy Efficient Design based on a State Filtering Mechanism”. IEEE International Conference on Computer Design (ICCD), pp. 617-624, 2005.

F. Castro, D. Chaver, L. Pinuel, M. Prieto, M. C. Huang, F. Tirado. “A Power-Efficient and Scalable Load-Store Queue Design”. Lecture Notes on Computer Science, Vol. 3728, pp. 1-9, 2005.

F. Castro, D. Chaver, L. Pinuel, M. Prieto, M. C. Huang, F. Tirado. “Energy-Aware Load-Strore Queue State Filtering”. Conference on Design of Circuits and Integrated Systems (DCIS), 2005.

F. Castro, D. Chaver, L. Pinuel, M. Prieto, F. Tirado. “Gestión eficiente de la LSQ basada en mecanismos de filtrado”. Jornadas de Paralelismo, pp. 27-34, 2005.

F. Castro, D. Chaver, L. Pinuel, M. Prieto, M. C. Huang, F. Tirado.”A Load-Store Queue Design Based on Predictive State Filtering. Journal of Low Power Electronics, Vol. 2, pp. 1-10, 2006.

Page 39: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group

39

GRACIAS POR VUERSTRA ATENCIÓN

¿ALGUNA PREGUNTA?