1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group.
-
Upload
eutropio-mestas -
Category
Documents
-
view
214 -
download
0
Transcript of 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group.
![Page 1: 1 Gestión eficiente de la LSQ basada en mecanismos de filtrado Fernando Castro ArTeCS Group.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/1.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/22.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/25.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/26.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/27.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/28.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/29.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/30.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/31.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/32.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/33.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/34.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/35.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/36.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/37.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/38.jpg)
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.](https://reader036.fdocuments.ec/reader036/viewer/2022062807/5665b4351a28abb57c8ffea9/html5/thumbnails/39.jpg)
39
GRACIAS POR VUERSTRA ATENCIÓN
¿ALGUNA PREGUNTA?