1 / 39

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. Motivación Introducción Diseño propuesto Entorno experimental Resultados Conclusiones y trabajo futuro. Motivación. Creciente brecha entre la velocidad de procesamiento

paiva
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Índice • Motivación • Introducción • Diseño propuesto • Entorno experimental • Resultados • Conclusiones y trabajo futuro

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

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

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

  6. 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)

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

  8. Introducción IV Lógica Asociativa Lógica Asociativa

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

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

  11. 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)

  12. Diseño propuesto III

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

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

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

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

  17. Diseño propuesto VIII Predicción de dependencias de los loads • Predictor basado en profiling • Predictor dinámico

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

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

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

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

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

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

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

  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

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

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

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

  29. Entorno experimental Parámetros de la LSQ y Simulación

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

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

  32. Resultados experimentales II • Escalado de la BNLQ (ALQ=32) AVG_INT AVG_FP AVG

  33. Resultados experimentales III Escalado de la BNLQ (ALQ=32). Configuración agresiva AVG_INT AVG_FP AVG

  34. Resultados experimentales IV • Exploración del periodo de refresco óptimo para el predictor dinámico

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

  36. 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)

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

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

  39. GRACIAS POR VUERSTRA ATENCIÓN ¿ALGUNA PREGUNTA?

More Related