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

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

El ÍNDEX para la inclusión
PROYECTO FINAL EVALUACIÓN COVENIN
Procesadores Superescalares
TEMA 3 ILP, Panificación dinámica, Predicción de saltos, Especulación
Arquitectura de Computadores I
PROCESADORES SUPERESCALARES
GESTIÓN DE LOS COSTOS DEL PROYECTO
METODOLOGÍA Y TALLER DE INVESTIGACIÓN
Danilo Yáñez Alarcón. Avance II
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
1.3 Programación modular. Subprogramas.
Pipelines: Riesgos.
Preguntas tipo test (I)
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
UNIDAD II Modelo de Datos.
PROGRAMACIÓN LÓGICA.
Aznar Gregori Fidel Aznar Gregori Aprender jugando, ¿qué opinan los alumnos? JENUI 2006.
Tema 12 – Conceptos Básicos
UCMUCM 1 2 primeros años en el Departamento: Optimización de la Transformada Wavelet en Microprocesadores de propósito general a) Mejorar el acceso a memoria.
Programación II Profesor A.S. MOLINA, Carlos
Cinética y Equilibrio Químico
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
Diseño del Software Diseño de datos Diseño arquitectónico
Protocolos de enrutamiento por vector de distancia
Procesamiento digital Parte 3 - Filtros
Segmentación No Lineal
Pipelining Predicción dinámica de brincos. Universidad de SonoraArquitectura de Computadoras2 Introducción En base a la historia de la instrucción, predecir.
Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.
El diseño de la computadora es simple. La elegancia del diseño consiste en que estas operaciones simples pueden servir para resolver problemas complejos.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Qué son las Bases de Datos Conceptos Básicos. Definición de Bases de Datos  Una base de datos o banco de datos es un conjunto de datos que pertenecen.
Asignación de Espacio No Contiguo
Scheduling dinámico Algoritmo de Tomasulo.
ISF5501 Ingeniería de Software
Introducción al modelo Cliente-Servidor Carlos Rojas Kramer Universidad Cristóbal Colón.
I. DATOS PERSONALES I. Origen étnico o racial; II. Características físicas; III. Características morales; IV. Características emocionales; V. Vida afectiva;
TECNOLOGÍA ELECTRÓNICA FIABILIDAD I
Control de Transacciones.
“SIMULACIÓN DINÁMICA DE UN SISTEMA DE MOLIENDA SEMIAUTOGENO (SAG).”
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Ingeniería del Software
Redes Neuronales Artificiales 2 - Aprendizaje
Sociedad 4º Año Básico. Chile: Zonas y Regiones
( Nombre de la Unidad Administrativa a entregar ) (2) Tomo Único (Tomo 1 de 2) (3) Entrega-Recepción de la Administración Pública Estatal (Nombre de la.
Capítulo 6. ANÁLISIS DE ALGORITMOS
Arquitecturas AvanzadasCurso 07/08 Coherence Decoupling: Making Use of Incoherence Jaehyuk Huh y otros ASPLOS’04.
GAP GAP Parallel Architectures Group Grupo de Arquitecturas Paralelas Jornada d’Arquitectures per a Càlcul i Comunicacions Avançades, Feb.04 Valencia Metodología.
Oscar F. Bedoya L. Fundamentos de análisis y diseño de algoritmos.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
UNIVERSIDAD LATINA III. MANTENIMIENTO Y GESTIÓN DE LA INFORMACIÓN DE UNA BASE DE DATOS. E.I. L.E. Prof. Ramón Castro Liceaga.
FUNDAMENTOS DEL BALANCED SCORECARD
Introducción a UML Departamento de Informática Universidad de Rancagua
Organización de la Computadora
RUTA DE LA CALIDAD.
LA COMPETENCIA INFORMACIONAL Talleres Quito – Ecuador Septiembre 2012.
TIPOS DE PRUEBAS DEL SOFTWARE
PROCESADORES SUPERESCALARES
Bladimir Mestra Rodríguez Alfredo Navarro Gómez
Transacciones seguras  Concurrencia Ing. Yeberth Martinez Programación II.
Elementos Conceptuales de proyectos: ¿Qué es un proyecto
3.4 PROCESAMIENTO DE LAS INSTRUCCIONES DE SALTO
Video sugerido:
DISEÑO DE BASES DE DATOS (modelos para el diseño)
Hernández Camacho Víctor Jesus Islas Sánchez Karla Vanessa
LA GESTACIÓN DEL RAZONAMIENTO PRAGMATICISTA EN CHARLES S. PEIRCE: UN TRATADO PRÁCTICO DE LÓGICA Y METODOLOGÍA ( )
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
- Cap I Definición del código ético - Cap II Principios Generales.
Commit out of order Ciclo 1: Detecto un load que fallo en L2 en el tope del ROB Load R3(F5)=R4(F4)+R2(F2) R2(F6)=R1(F1)+R3(F5) Branch R3(F5)
Transcripción de la presentación:

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

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

3 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

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

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

6 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 II

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

8 Lógica Asociativa Introducción IV

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

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

11 Estructura global Loads que sólo ocasionalmente se comunican con 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 II

12 Diseño propuesto III

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

14 Actualización del EBF bajo caminos incorrectos Los loads lanzados en caminos erróneos deben decrementar el contador del EBF Diseño propuesto V BNLQ EBF Hash DataAdd Loads in wrong path DataEA EBF index BNLQ Loads in wrong path

15 12 Diseño propuesto VI EBFs alternos tail head ROB limit EBF1EBF2 loads stores Chk Inc tail = head ROB limit EBF1EBF2 loads stores Inc Chk

16 3 EBFs alternos Diseño propuesto VII head = tail ROB limit EBF1EBF2 loads stores Chk Inc

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

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

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

20 Modo DPU (Dependence Predictor Update) SAVED INFO EBF_counter = 2 EBF_index = 2005 DPU mode actived Entry 2005 Store X Load Y Load X Hash EBF 2 Diseño propuesto XI

21 SAVED INFO EBF_counter = 2 EBF_index = 2005 DPU mode actived Comitted Load Load_EA Hash= Saved EBF_counter Saved EBF_index Load_PC Prediction Table Diseño propuesto XII DPU mode?

22 SAVED INFO EBF_counter = 2 EBF_index = 2005 DPU mode actived Comitted Load Load_EA Hash= DPU mode? Load_PC Prediction Table Diseño propuesto XII YES INDEP

23 SAVED INFO EBF_counter = 2 EBF_index = 2005 DPU mode actived Comitted Load Load_EA Hash= Load_PC Prediction Table Diseño propuesto XII DPU mode? YES DEP INDEP

24 SAVED INFO EBF_counter = 2 EBF_index = 2005 DPU mode actived Comitted Load Load_EA Hash= Load_PC Prediction Table Diseño propuesto XII DPU mode? NO DEP

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 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 IPC empieza a reducirse Diseño propuesto XIV

27 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 Diseño propuesto XV

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

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

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

31 Resultados experimentales I Basado en profiling Dinámico % Slowdown% LQ-SQ Eng. Savings% Processor Eng. Savings ALQ=48 ALQ=40ALQ=32ALQ= % ahorro de energía en la LSQ 2-4% ahorro de energía en el procesador Pérdida de rendimiento reducida (<1% en promedio)

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

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

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

37 Conclusiones y Trabajo futuro II Eliminación total de la LQ LOADSTORE Tabla de edad (ROB_id=35)(ROB_id=24) 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”. IEEE International Conference on Computer Design (ICCD), pp , 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, 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), 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 , 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?