Capítulo 2: Rendimiento de un computador

Slides:



Advertisements
Presentaciones similares
Complejidad Computacional
Advertisements

Complejidad Computacional
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Definición Objetivos Funciones de un S.O.
III - Gestión de memoria
ARQUITECTURA DE COMPUTADORES - PERFORMANCE
PROGRAMACIÓN PARALELA Tema 5: Análisis de algoritmos paralelos
Configuración, Evaluación y Explotación de Sistemas Informáticos
Capítulo 4 Rendimiento.
INTRODUCCIÓN A JAVA.
PROCESADORES SUPERESCALARES
ARQUITECTURA DE MÁQUINAS COMPUTADORAS III Introducción
Speedup, Ley de Amdahl y MIPS
SOFTWARE DE PROGRAMACIÓN
Programación Paralela Dr. Mario Rossainz López FCC- BUAP
Microprocesadores.
Métricas de Rendimiento de Sistemas Operativos
2.4 - Windows Server 2008 r2 – MEDICION Y DESEMPEÑO
Técnico en programación de Software
Sintaxis básica del lenguaje
Evaluación de Performance mediante Benchmarks
Clasificación de las Computadoras
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
EMISION MULTIPLE DE INSTRUCCIONES
POLÍTICA DE PRECIOS.
Dirección de la Productividad
APLICACIÓN DE PROCESAMIENTO EN PARALELO BASADO EN OPENMP EN EL MANEJO MATRICIAL USADO EN EL ANÁLISIS DE SISTEMAS ELÉCTRICOS Antonio Ramos Paz 1, Eustaquio.
Ley de Amdahl.
Administración del Procesador
Análisis comparativo de rendimiento
TRADUCTOR DE UN PROGRAMA
CLASIFICACIÓN DEL SISTEMA OPERATIVO POR APLICACIÓ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.
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Arquitectura de ordenadores.
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.),
Fundamentos de programación Organización de una computadora.
EL SISTEMA OPERATIVO.
1.4 Traductor y Su estructura
LENGUAJES DE PROGRAMACIÓN
Planificación de Procesos
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
ARQUITECTURA DE COMPUTADORES
Evolución del procesador
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 04 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Sistemas Operativos Avanzados
Tema 7: UNIDAD CENTRAL DE PROCESOS (CPU) Cáceres Pari Ángel Raúl
Metodología de la programación
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
RENDIMIENTO DEL COMPUTADOR
del Diseño de Computadoras
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.
Rendimiento de la CPU y sus factores
Rendimiento y/o desempeño.. RENDIMIENTO “El computador A es más rápido que el computador B” Como se determina el rendimiento de un computador para: El.
Nico Puch. Los ordenadores analógicos comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y.
ARQUICTECTURA DE SERVIDORES
TEMA II FUNDAMENTOS DEL DISENO DE COMPUTADORES
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.
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
MICROPROCESADOR Es un tipo de circuito sumamente integrado que contiene todos los elementos de CPU y su funcionamiento. Esta compuesto por millones de.
Generaciones de computadoras
TEMA: Tipos de Errores Integrantes del equipo : Chávez Cholula Gisela Ramírez Valerio Ángeles Docente: L.I. Fuentes Cortes Miguel INSTITUTO TECNOLÓGICO.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
SISTEMAS DISTRIBUIDOS II DESEMPEÑO. DESEMPEÑO Cuando se ejecuta una aplicación en un sistema distribuido no debe parecer peor que su ejecución en un único.
ARQUITECTURA DEL COMPUTADOR INTEGRANTES: CASTRO MYCHAEL ALVEAR NELSON FLORES DANILO RODRIGUEZ CARLOS IZQUIERDO HARRY INTEGRANTES: CASTRO MYCHAEL ALVEAR.
Bachillerato Ingeniería en Informática Fundamentos de Computación.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Transcripción de la presentación:

Capítulo 2: Rendimiento de un computador Definición de rendimiento. Rendimiento de la CPU. Métricas populares de rendimiento: MIPS Y MFLOPS Programas de prueba para la evaluación del rendimiento. Ley de Amdahl Bibliografía básica: [Patt-95], [Henn-93] ... 2 horas Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Definición del rendimiento Existen dos formas de medir el rendimiento: Tiempo de respuesta Tiempo entre el comienzo y finalización de una tarea. También llamado tiempo de ejecución. Productividad (throughput) Cantidad total de trabajo realizado en un tiempo determinado. Una mejor medida desde el punto de vista del sistema pero no desde el punto de vista del usuario. Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Tiempo de respuesta vs productividad Un tren de lavado de coches comienza un coche cada 30 segundos y en el tren existen simultáneamente 6 coches en distintas fases de lavado. Tiempo de respuesta (usuario): 180 segundos Productividad (sistema): 1 coche cada 30 segundos Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Rendimiento y tiempo de ejecución El rendimiento de un computador X es inversamente proporcional al tiempo de ejecución: Computador X es n% más rápido que el computador Y Computador Y es n% más lento que el computador X Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador Medidas del tiempo Tiempo (segundos) Única medida completa y fiable del rendimiento de un computador. Comando Unix: time “programa” --> 90.7 u 12.9 s 2:39 65% Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Rendimiento de la CPU: Ecuación clásica Reloj (CPIMEDIO : Nos permite comparar dos implementaciones de una misma arquitectura) Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Factores de la ecuación clásica: Análisis de dependencias Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Métricas populares de rendimiento (I) MIPS y MFLOPS MIPS (millones de instrucciones por segundo) Inconvenientes de la métrica: Los MIPS dependen del repertorio de instrucciones. No podemos comparar distintas arquitecturas. Los MIPS varían entre programas en el mismo computador. Los MIPS pueden variar inversamente al rendimiento. Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Métricas populares de rendimiento (II) MIPS y MFLOPS MFLOPS (Millones de operaciones en punto flotante por segundo) Inconvenientes: Sólo aplicable a las operaciones en punto flotante. Instrucciones en punto flotante no comparables entre diferentes máquinas. Máquina A: *, -, * y / Máquina B: No tiene “/” (dará mas MFLOPS) Mezcla de operaciones rápidas y lentas. Los MFLOPS para 100 sumas serán mayores que para 100 divisiones. MFLOPS normalizados: Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Programas para la evaluación del rendimiento (I) Benchmarks Programas que forman una carga de trabajo con la que el usuario espera predecir el rendimiento de la carga de trabajo real. Programas reales típicos Ejemplos: Compiladores (gcc), tratamiento de textos (TeX), herramientas CAD (spice). Núcleos obtenidos de programas reales (Kernels) Pequeñas partes intensivas en el tiempo de programas reales. Ejemplo: Livermore Loops y Linpack. Programas triviales o benchmarks reducidos (toys) 10 -100 líneas de programa. Resultado conocido antes de ejecutarlo. Ejemplo:Quicksort, puzzle, ... Programas sintéticos Creados artificialmente (programas sintéticos). Ejemplo: Whetstone y Dhrystone. Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Programas para la evaluación del rendimiento (II) Benchmarks SPEC: Cooperativa de Evaluación del Rendimiento de Sistemas (System Performance Evaluation Cooperative) En 1988 representantes de unas cuantas compañías - Apollo/Hewlett-Packard, DEC, MIPS y Sun- fundan una cooperativa para la evaluación del rendimiento de sistemas. Llegan al acuerdo de ejecutar todos un conjunto de programas y entradas reales. Factible debido en gran parte a: Sistemas Operativos portables (Unix) Popularidad de los Lenguajes de Alto Nivel. Ahora, los compiladores, también forman parte del rendimiento de un computador y deben ser medidos en cualquier evaluación. Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

SPEC’89 1989 4 programas de aritmética entera. 6 programas de punto flotante. No se distingue entre SPECs de aritmética entera y punto flotante. Tiempo de ejecución en un VAX 11/780 Tiempo de ejecución en la máquina a medir SPECPor programa= SPEC (global) = [ (SPECPor programa)i]1/n (Media geométrica de los SPEC de cada programa: Hace que sea tan importante que el programa A pase de 2 a 1 segundo como que el programa B pase de 2000 a 1000 segundos). Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador SPEC’89 Mejoras del “compilador” y repercusión en el rendimiento. Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador SPEC’92 y SPEC’95 1992 SpecInt92 (6 programas aritmética entera). SpecFp92 (14 programas de aritmética en punto flotante). SPECbase: Medida obtenida sin hacer uso de los flags del compilador que optimiza el código generado según el programa específico. VAX 11/780 -> 1 Spec(int/fp)92 1995 SpecInt95 (8 programas aritmética entera). SpecFp95 (10 programas de aritmética en punto flotante). Nuevo conjunto de programas! (para 3 años). Los SPECs de cada programa se normalizan respecto a una Sun SPARCStation 10/40. SparcStation 10/40 -> 1 Spec(int/fp)95 SparcStation 10/40 -> 41.26 SpecInt92 - 34.35 Specfp92 Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador Programas de SPEC’95 Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador Programas de SPEC 2000 Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador SPEC’95 ¿Por qué al duplicar la frecuencia de reloj no se duplica el rendimiento (Pentium)? Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador Ejemplo: SPEC’95 Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Problemas de los programas de prueba Los benchmarks reducidos (toys) y los sintéticos no cargan la memoria principal del sistema de forma realista (todo el programa cabe en la memoria cache) Una vez que el benchmark se estandariza inmediatamente aparecen mejoras específicas para el mismo elevando los resultados de rendimientos. Si los benchmarks fuesen nuestros programas nos veríamos beneficiados ya que los interesados harían que nuestra aplicación fuese más rápida. Los benchmarks reales son difíciles de realizar, situación que se agudiza en los casos de: Máquina no construida, simuladores más lentos. Benchmarks no portables Compiladores no disponibles Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador Comparación y resumen de rendimientos: Combinación de medidas de rendimiento ¿Cómo combinar el rendimiento de un conjunto de programas? Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador Ley de Amdahl El posible aumento de rendimiento para una mejora dada está limitado por la cantidad que se utiliza la característica mejorada. Si suponemos que la mejora acelera una fracción F de la tarea en un factor de S, entonces la ganancia de velocidad (speedup) vendrá dada por: Corolario: Hacer rápido el caso común. F 1-F 1 Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Ejemplo de ganancia de velocidad (Speedup): Uso de Procesadores Paralelos (I) Suponga una aplicación que casi toda es paralela (90%) o lo que es lo mismo, una tarea que puede ejecutarse por varios procesadores simultáneamente. Número de procesadores: P Al pasar de 100 a 1000 procesadores el aumento de rendimiento no ha sido tanto como el esperado. Para aumentarlo es necesario acelerar la parte secuencial del programa o que la fracción factible de ejecutarse en paralelo aumente. Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador

Cap 2: Rendimiento de un computador Ejemplo de ganancia de velocidad (Speedup): Uso de Procesadores Paralelos (II) Veamos que ocurre si mejoramos en cantidad 2 la parte no paralela: Veamos que ocurre si aumentamos la fracción paralelizable en 0.05 Algunas direcciones de interés relacionadas con el rendimiento: http://www.specbench.org http://performance.netlib.org/performance/html/PDSreports.html Estructura de Computadores (EUI: 2º ITIS) Cap 2: Rendimiento de un computador