Gesti n eficiente de la lsq basada en mecanismos de filtrado
This presentation is the property of its rightful owner.
Sponsored Links
1 / 39

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


  • 67 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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

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


Gesti n eficiente de la lsq basada en mecanismos de filtrado

  • 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


Gesti n eficiente de la lsq basada en mecanismos de filtrado

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

Diseño propuesto III


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


Gesti n eficiente de la lsq basada en mecanismos de filtrado

  • 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


Gesti n eficiente de la lsq basada en mecanismos de filtrado

  • 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


Gesti n eficiente de la lsq basada en mecanismos de filtrado

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


Gesti n eficiente de la lsq basada en mecanismos de filtrado

GRACIAS POR VUERSTRA ATENCIÓN

¿ALGUNA PREGUNTA?


  • Login