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

Gesti n eficiente de la lsq basada en mecanismos de filtrado
Download
1 / 39

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

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

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