UP C Un Análisis Cuantitativo de Spec95 Agustín Fernández Departament d’Arquitectura de Computadors Universitat Politècnica de Catalunya “Todo lo que usted.

Slides:



Advertisements
Presentaciones similares
INTRODUCCIÓN A LA VERIFICACION Y VALIDACION
Advertisements

Tipos de software y su desarrollo
DIAGRAMA DE COMPONENTES
Complejidad Computacional
Supervisión del rendimiento de SQL Server
Capacity Planning and Benchmarking
Prototipo de compilador didáctico del lenguaje LC99
Procesadores de bajo consumo: frente a 1. Introducción ARM Bajo Consumo Microarquitectura Intel Atom Bajo Consumo Microarquitectura Comparativa Bibliografía.
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Pruebas de Unidad y Refactorización
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament dArquitectura de Computadors (Seminaris de CASO) Autors MOVING JAVA INTO MOBILE PHONES Josep Pinyol.
Ing. Esp. Ricardo Cujar. El computador: es una máquina que permite hacer tareas aritmético y lógicas de una manera fácil, consta de software y hardware.
Una variable en un programa es algo con un nombre, cuyo valor puede variar. La manera en que el compilador y enlazador maneja esto es asignando un bloque.
Introducción a los Sistemas Operativos Memoria Virtual
MÉTODOS DE ANÁLISIS FINANCIEROS
Evaluación de Performance mediante Benchmarks
Programación 1 Introducción
EL ESTADO DEL ARTE Hace referencia al nivel más alto de desarrollo conseguido en un momento determinado sobre cualquier aparato, técnica o campo científico.
Conceptos Fundamentales
En Java las estructuras de repetición son las mismas que en C/C++.
Ingeniero Anyelo Quintero
Análisis comparativo de rendimiento
Direcciones físicas y direcciones virtuales (lógicas)
ISA (Instruction Set Architecture)
Fundamentos de Programación
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.
Memoria Organización del caché. Universidad de SonoraArquitectura de Computadoras2 Organización del caché Hasta ahora solo se ha visto la estrategia de.
Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.
Simulador didáctico de jerarquías de memoria
Un estudio sobre la utilidad de la realización de prácticas de laboratorio en el proceso de aprendizaje y su influencia en los resultados de la evaluación.
INTRODUCCIÓN A LA COMPUTACIÓN
INTEGRANTES EFREN PADILLA LICETH BUITRAGO LINA STELLA AGUIRRE
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Programa Vespertino de Automatización Equipos y Sistemas de Control Digital Lenguaje C Profesor: Felipe Páez Mejías D e p a r t a m e n t o d e I n g e.
COMPUTACIÓN I TEMA 6. Pasaje de parámetros por Referencia. Uso de apuntadores Prof. Mireya Morales.
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.),
04/02/031 INSURE ++ v6.0 Salvador Benimeli Fenollar Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia.
Asignación de Espacio No Contiguo
Soporte HW para Administración de Memoria Cecilia Hernández
SISTEMAS OPERATIVOS.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Conceptos de Gestión y Planificación de Proyectos Software
Utilización de memoria del O3 Server Caché de cubos.
Memoria virtual.
Evolución del procesador
Introducción a la Simulación de Eventos Discretos José Daniel García Sánchez Grupo de Arquitectura Comunicaciones y Sistemas Universidad Carlos III de.
Construcción de Software
Name Event Date Name Event Date 1 Procesadores de streams 1 Diseño de microprocesadores para multimedia Procesadores de streams Pedro Hernández Fernández.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Taller 2.  Correo electrónico, o en inglés , es un servicio de red para permitir a los usuarios enviar y recibir mensajes mediante sistemas de.
El lenguaje HTML Este lenguaje nos permite estructurar documentos. La mayoría de los documentos tienen estructuras comunes (títulos, parrafos, listas...)
Metodología de la programación
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
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.
RENDIMIENTO DEL COMPUTADOR
INTRODUCCIÓN El rendimiento, costo de compra y costo de operación forman la base para la toma de decisiones, sobre que PC es mejor que otra y así adquirir.
Informática aplicada La Informática es la rama de la Ingeniería que estudia el hardware, las redes de datos y el software necesarios para tratar información.
Ihr Logo PHP Parte 2 “php toma muchas sintaxis de lenguajes de alto nivel conocidos para poder trabajar”
Terminología de proceso del software
Lenguaje programación
Puncochar and Fox Confidence in Individual and Group Decision Making: When “Two Heads” Are Worse Than One Alumnos: Federico Blanco, Gabriel Valladares.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
MEMORIA DINÁMICA.
REPUBLICA BOLIVARIANA DE VENEZUELA. MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA. UNIVERSIDAD POLITECNICA TERRITORIAL DEL NORTE DE MONAGAS.
Bachillerato Ingeniería en Informática Fundamentos de Computación.
1 Microtecnolgía y Arquitecturas de Computadoras Introducción.
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Arquitectura de Computadores
Transcripción de la presentación:

UP C Un Análisis Cuantitativo de Spec95 Agustín Fernández Departament d’Arquitectura de Computadors Universitat Politècnica de Catalunya “Todo lo que usted quiso saber sobre Spec95 y nunca se atrevió a simular.”

UP C Guión ð Objetivos y antecedentes ð Análisis de Instrucciones ð Análisis de localidad ð Análisis de comportamiento dinámico ð Conclusiones, Trabajos pendientes e Ideas Futuras

UP C Objetivos y antecedentes ð SPEC es una compañía creada por varios fabricantes de workstations ð Objetivo: definir un benchmark para evaluar computadores de nivel medio: standarizado realista consensuado (el benchmark y la forma de utilizarlo) Spec89, Spec92, Spec95, ??? ð Actualmente disponen de otros tests  Plataformas Java (SPECjvm98).  Sistemas de ficheros (SPEC SFS 2.0).  Servidores WWW (SPECweb96).  Supercomputadores (SPEChpc96).

UP C Objetivos y antecedentes ð Spec95 10 programas aritmética en coma flotante 8 programas de aritmética entera Para cada test: tres conjuntos de datos de entrada */data/ref, */data/train, */data/test En cada conjunto puede haber 1 ejecución o varias: –101.tomcatv (1 ejecución) –126.gcc (56 ejecuciones)

UP C Objetivos y antecedentes ð Uso de benchmarks en el DAC (junio95-junio98) 48 artículos utilizan Spec95, Spec92 o Perfect Club 46 artículos utilizan otro tipo de benchmarks (o ninguno) Microarquitectura: 85 % de los artículos utilizan Spec95, Spec92 o Perfect Club ð Uso de benchmarks en el MICRO-31 (diciembre 1998) 17 artículos utilizan Spec95 2 artículos utilizan Spec92 2 artículos utilizan Perfect Club 7 artículos utilizan otros benchmarks (Multimedia)

UP C Objetivos y antecedentes ð No es un objetivo: presentar ninguna propuesta nueva ni idea revolucionaria. ð Si es un objetivo: elaborar un documento que sirva de consulta a los investigadores que están utilizando Spec95 para evaluar sus propuestas. Utilidad –estudio TLB en 145.fpppp (32 páginas) –Predicción saltos en 102.swim (99,61 % taken) –cache de instrucciones en 101.tomcatv (4.256 bytes código) –comportamiento subrutinas en 101.tomcatv (7 calls) –...

UP C Objetivos y antecedentes ð Características de los tests realizados Se ha utilizado el Spec95 completo, es decir con los conjuntos de datos que se utilizan para obtener el Specratio. Las simulaciones se han realizado utilizando ATOM Los programas se han compilado con las opciones por defecto Se han utilizado las librerías “shared”. Todas las simulaciones se han ejecutado en abrell (Alpha 21164) y romeu (Alpha 21064).

UP C Análisis de instrucciones ð Objetivo: comportamiento dinámico del Spec95 a nivel de instrucciones (ISA Alpha 21164). ð Para cada test se dispone de la siguiente información dinámica: instrucciones loads stores bloques básicos subrutinas saltos condicionales (+ not taken) ð Esta misma información está disponible a nivel de subrutina

UP C Análisis de instrucciones ð Información que se puede obtener: porcentaje de referencias porcentaje de loads porcentaje de stores porcentaje de saltos condicionales realizados instrucciones por bloque básico instrucciones por subrutina

UP C Análisis de instrucciones ð Ejecución dinámica de instrucciónes en el SPEC95 FP

UP C Análisis de instrucciones ð Ejecución dinámica de instrucciónes en el SPEC95 INT

UP C Análisis de instrucciones ð Datos relevantes en el SPEC95 FP

UP C Análisis de instrucciones ð Datos relevantes en el SPEC95 INT

UP C Análisis de instrucciones ð Resumen ejecución dinámica SPEC95

UP C Análisis de instrucciones ð Tipos de instrucciones ejecutadas

UP C Análisis de localidad: datos ð Objetivo: estudiar como se comportan las referencias a datos. Caches de datos (L1), variando parámetros básicos: –Tamaño: 1Kbyte hasta 8 Mbytes –Asociatividad: 1-way hasta 8-way –Tamaños de línea: 16 bytes hasta 256 bytes (1-way) –Sólo loads. –Loads y Stores (write allocate y copy back). Mapas de memoria –footprint –histogramas de localidad

UP C ð Cache de datos (tasa de fallos) 101.tomcatv (only loads) –Características similares en muchos programas FP Sensible al tamaño de línea (localidad espacial) Sensible a la asociatividad en caches pequeñas Punto de inflexión Análisis de localidad: datos

UP C ð Cache de datos (tasa de fallos) 110.mgrid (only loads) Análisis de localidad: datos

UP C ð Cache de datos (tasa de fallos) 145.fpppp (only loads) Análisis de localidad: datos

UP C ð Cache de datos (tasa de fallos) 099.go (only loads) –Características similares en muchos programas INT Sensible al tamaño de línea (poca localidad espacial) Sensible a la asociatividad en caches pequeñas Análisis de localidad: datos

UP C ð Cache de datos (tasa de fallos) 126.gcc (only loads) Análisis de localidad: datos

UP C ð Cache de datos (only loads, respecto a loads & stores) 126.gcc –La localidad puede comportarse de forma similar, pero las tasas de fallos pueden ser muy diferentes. Análisis de localidad: datos

UP C ð Cache de datos (only loads, respecto a loads & stores) 110.mgrid Análisis de localidad: datos

UP C ð Mapas de memoria: footprints e Histogramas 101.tomcatv –Comportamiento similar en la mayoría de los programas FP footprint con grandes bloques Baja reutilización Análisis de localidad: datos

UP C ð Mapas de memoria: footprints e Histogramas 102.swim Análisis de localidad: datos

UP C ð Mapas de memoria: footprints e Histogramas 099.go –Comportamiento similar en la mayoría de los programas INT footprint con grandes picos Alta reutilización reutilización Análisis de localidad: datos

UP C ð Mapas de memoria: footprints e Histogramas 099.go Análisis de localidad: datos × 45

UP C ð Mapas de memoria: footprints e Histogramas 147.vortex Análisis de localidad: datos

UP C ð Mapas de memoria: footprints e Histogramas 147.vortex Análisis de localidad: datos × 500

UP C Análisis de localidad: instrucciones ð Objetivo: estudiar como se comportan las referencias a datos. Caches de instrucciones (L1), variando parámetros básicos: –Tamaño: 1Kbyte hasta 8 Mbytes –Asociatividad: 1-way hasta 8-way –Tamaños de línea: 32 bytes Mapas de memoria –histogramas de localidad

UP C ð Cache de datos (tasa de fallos) FP –Características similares en muchos programas FP Poca influencia de la asocitividad Tasas de fallos pequeñas (excepción del 145.fpppp, hasta 12%) Poca reutilización Análisis de localidad: instrucciones

UP C ð Cache de datos (tasa de fallos) INT –Características similares en muchos programas FP Poca influencia de la asocitividad (excepto 1-way) Tasas de fallos algo mayores Alta reutilización Análisis de localidad: instrucciones

UP C Análisis de la localidad ð Working sets y TLB

UP C Análisis de la localidad ð Working sets y TLB

UP C Análisis del comportamiento dinámico ð ¿Es necesario, simular el programa completo para obtener un determinado dato? (p.e. la tasa de fallos de la cache) cache 32 Kbytes, directa, 32 bytes/línea 103.su2cor

UP C Análisis del comportamiento dinámico 110.applu

UP C Análisis del comportamiento dinámico 130.li

UP C Análisis del comportamiento dinámico 145.fpppp

UP C Análisis del comportamiento dinámico 132.ijpeg

UP C Conclusiones, Trabajos pendientes e Ideas futuras ð Hemos realizado un análisis cuantitativo de Spec95. Los resultados obtenidos pueden servir para explicar el comportamiento de un programa al aplicarle alguna transformación (hardware o software). ð Trabajos Pendientes Caches unificadas de datos e instrucciones Estudio más específico del comportamiento de los stores en la cache nivel L2 de cache ð Ideas futuras ¿ Es necesario utilizar el conjunto de datos “ref”, o podríamos utilizar el conjunto de datos de “test” (“train”) y extrapolar los resultados? Estudiar el comportamiento dinámico de los programas, para realizar estimaciones de rendimiento sin tener que simular todo el test.