390 likes | 505 Views
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
E N D
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 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 • Introducción • Diseño propuesto • Entorno experimental • Resultados • Conclusiones y trabajo futuro
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 • 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 • 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 Lógica Asociativa Lógica Asociativa
Motivación • Introducción • Diseño propuesto • Entorno experimental • Resultados • Conclusiones y trabajo futuro
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 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 • 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 • 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 • 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 • 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 Predicción de dependencias de los loads • Predictor basado en profiling • Predictor dinámico
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 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 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 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 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 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 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 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 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 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
Motivación • Introducción • Diseño propuesto • Entorno experimental • Resultados • Conclusiones y trabajo futuro
Entorno experimental Parámetros de la LSQ y Simulación
Motivación • Introducción • Diseño propuesto • Entorno experimental • Resultados • Conclusiones y trabajo futuro
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 • Escalado de la BNLQ (ALQ=32) AVG_INT AVG_FP AVG
Resultados experimentales III Escalado de la BNLQ (ALQ=32). Configuración agresiva AVG_INT AVG_FP AVG
Resultados experimentales IV • Exploración del periodo de refresco óptimo para el predictor dinámico
Motivación • Introducción • Diseño propuesto • Entorno experimental • Resultados • Conclusiones y trabajo futuro
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 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 • 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.
GRACIAS POR VUERSTRA ATENCIÓN ¿ALGUNA PREGUNTA?