gesti n eficiente de la lsq basada en mecanismos de filtrado
Download
Skip this Video
Download Presentation
Gestión eficiente de la LSQ basada en mecanismos de filtrado

Loading in 2 Seconds...

play fullscreen
1 / 39

Gestión eficiente de la LSQ basada en mecanismos de filtrado - PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on

Gestión eficiente de la LSQ basada en mecanismos de filtrado. Fernando Castro ArTeCS Group. Índice. Motivación Introducción Diseño propuesto Entorno experimental Resultados Conclusiones y trabajo futuro. Motivación. Creciente brecha entre la velocidad de procesamiento

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Gestión eficiente de la LSQ basada en mecanismos de filtrado' - paiva


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
gesti n eficiente de la lsq basada en mecanismos de filtrado

Gestión eficiente de la LSQ basada en mecanismos de filtrado

Fernando Castro

ArTeCS Group

ndice
Índice
  • Motivación
  • Introducción
  • Diseño propuesto
  • Entorno experimental
  • Resultados
  • Conclusiones y trabajo futuro
motivaci n
Motivación
  • 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
slide4
Motivación
  • Introducción
  • Diseño propuesto
  • Entorno experimental
  • Resultados
  • Conclusiones y trabajo futuro
introducci n i
Introducción I
  • 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 ii
Introducción II
  • 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 iii
Introducción III
  • 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 iv
Introducción IV

Lógica Asociativa

Lógica Asociativa

slide9
Motivación
  • Introducción
  • Diseño propuesto
  • Entorno experimental
  • Resultados
  • Conclusiones y trabajo futuro
dise o propuesto i
Diseño propuesto I
  • 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 ii
Diseño propuesto II

Estructura global

  • Loads que sólo ocasionalmente se comunicancon 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 iv
Diseño propuesto IV
  • 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 v
Diseño propuesto V
  • Actualización del EBF bajo caminos incorrectos
    • Los loads lanzados en caminos erróneos deben decrementar el contador del EBF

EBF

EBF

-1

BNLQ

-1

BNLQ

Data

EA

index

Data

Add

-1

Loads in wrong path

-1

Loads in wrong path

Hash

-1

-1

dise o propuesto vi
Diseño propuesto VI
  • EBFs alternos

1

2

ROB

ROB

EBF1

EBF2

EBF1

EBF2

head

head

tail

Inc

Inc

tail =

limit

limit

Chk

Chk

loads

loads

stores

stores

dise o propuesto vii
Diseño propuesto VII
  • EBFs alternos

3

ROB

EBF1

EBF2

0

0

tail

0

0

0

0

0

0

0

0

Inc

head =

limit

0

Chk

loads

stores

dise o propuesto viii
Diseño propuesto VIII

Predicción de dependencias de los loads

  • Predictor basado en profiling
  • Predictor dinámico
dise o propuesto ix
Diseño propuesto IX

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 x
Diseño propuesto X

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 xi
Diseño propuesto XI

ModoDPU (Dependence Predictor Update)

EBF

DPU mode actived

Store X

Load Y

Load X

Entry 2005

SAVED INFO

EBF_counter = 2

EBF_index = 2005

2

Hash

dise o propuesto xii
Diseño propuesto XII

DPU mode actived

Saved

EBF_counter

SAVED INFO

EBF_counter = 2

EBF_index = 2005

Prediction

Table

DPU mode?

Load_EA

Hash

=

Comitted

Load

Saved

EBF_index

Load_PC

dise o propuesto xii1
Diseño propuesto XII

DPU mode actived

2

SAVED INFO

EBF_counter = 2

EBF_index = 2005

Prediction

Table

DPU mode?

YES

INDEP

Load_EA

Hash

=

Comitted

Load

2005

INDEP

Load_PC

dise o propuesto xii2
Diseño propuesto XII

DPU mode actived

1

SAVED INFO

EBF_counter = 2

EBF_index = 2005

Prediction

Table

DPU mode?

YES

DEP

Load_EA

Hash

=

Comitted

Load

2005

INDEP

Load_PC

dise o propuesto xii3
Diseño propuesto XII

DPU mode actived

0

SAVED INFO

EBF_counter = 2

EBF_index = 2005

Prediction

Table

DPU mode?

NO

DEP

Load_EA

Hash

=

Comitted

Load

2005

DEP

Load_PC

dise o propuesto xiii
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
dise o propuesto xiv
Diseño propuesto XIV

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 IPCempieza a reducirse
dise o propuesto xv
Diseño propuesto XV

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
slide28
Motivación
  • Introducción
  • Diseño propuesto
  • Entorno experimental
  • Resultados
  • Conclusiones y trabajo futuro
entorno experimental
Entorno experimental

Parámetros de la LSQ y Simulación

slide30
Motivación
  • Introducción
  • Diseño propuesto
  • Entorno experimental
  • Resultados
  • Conclusiones y trabajo futuro
resultados experimentales i
Resultados experimentales I

Basado en profiling

  • 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)

% Slowdown

% LQ-SQ Eng. Savings

% Processor Eng. Savings

Dinámico

ALQ=40

ALQ=32

ALQ=24

ALQ=48

resultados experimentales ii
Resultados experimentales II
  • Escalado de la BNLQ (ALQ=32)

AVG_INT

AVG_FP

AVG

resultados experimentales iii
Resultados experimentales III

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

AVG_INT

AVG_FP

AVG

resultados experimentales iv
Resultados experimentales IV
  • Exploración del periodo de refresco óptimo para el predictor dinámico
slide35
Motivación
  • Introducción
  • Diseño propuesto
  • Entorno experimental
  • Resultados
  • Conclusiones y trabajo futuro
conclusiones y trabajo futuro i
Conclusiones y Trabajo futuro I
  • 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 ii
Conclusiones y Trabajo futuro II

Eliminación total de la LQ

Tabla de edad

Tabla de edad

7

7

35

35

LOAD

STORE

(ROB_id=35)

(ROB_id=24)

22

22

18

18

Reejecución de instrucciones

publicaciones
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”. IEEEInternational 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.
ad