Evaluación de Rendimiento Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http://informatica.uv.cl ¿Por qué evaluar el rendimiento? Relacionar costo / rendimiento ¿Si el computador cuesta el doble... es el doble de rápido? ¿¿Si doblo la velocidad del procesador... duplico el rendimiento del PC?? Esta decisión de diseño incrementa el precio de fabricación...pero ¿incrementará la calidad y rendimiento en la misma proporción? Análisis de costo / rendimiento es un mecanismo de elección. Arquitectura de Computadores – Ingeniería Civil Informática 2 informatica.uv.cl ¿Por qué evaluar el rendimiento? OpDmizar el diseño de un sistema computacional. ! Seleccionar un sistema computacional. ! Ajustar un sistema computacional. ! Establecer expectaDvas sobre la capacidad del sistema en un futuro. Arquitectura de Computadores – Ingeniería Civil Informática 3 informatica.uv.cl Comparación desempeño / costo Mmmhh, no me convences Mi PC es mejor que el tuyo!!!! ahh!! Entonces Mi PC es un 34% lo tengo que más rápido cambiar por uno que el tuyo!!!! mejor Arquitectura de Computadores – Ingeniería Civil Informática 4 informatica.uv.cl Comparación desempeño/costo Lo que se usa hoy: Ejecutar programas reales para evaluar el rendimiento de un sistema Métricas El computador más rápido es el que ejecuta el programa en el Dempo más corto (Tiempo de ejecución). CanDdad de tareas por unidad de Dempo (throughput) Tejec Sistema ∼ 1 ηSistema Throughput Sistema ∼ ηSistema ηSistema := Rendimiento Sistema Arquitectura de Computadores – Ingeniería Civil Informática 5 informatica.uv.cl Cómo comparar Comparar el Dempo de ejecución del sistema B con el del sistema A Tejec B Rendimiento A Acelaración:=N= = Tejec A Rendimiento B Si N>1, entonces el sistema A es n% más rápido que B Tejec B ηA n N= = = 1+ Tejec A ηB 100 Arquitectura de Computadores – Ingeniería Civil Informática 6 informatica.uv.cl Ejemplo Tiempos de ejecución de cierto programa 1 ηA 25 36 A= = = 1, 25 = 1 + ηB 1 100 45 Tiempo Sistema [s] A B 36 45 Sistema A es 1,25 veces más rápido que B. Sistema A es un 25% más rápido que B. Otra forma de realizar el análisis Sistema B es 0,8 veces más lento que A. Sistema B es un 20% más lento que A. Arquitectura de Computadores – Ingeniería Civil Informática 7 informatica.uv.cl Ejemplo Costos de cada sistema Sistema A B US$ 625 550 Costo A 625 14 ΔC= = = 1,14 = 1 + Costo B 550 100 Sistema A es 1,14 veces más costoso que el B. Sistema A es un 14% más costoso que el B. Arquitectura de Computadores – Ingeniería Civil Informática 8 informatica.uv.cl Ejemplo Mezclando todo Tiempo Sistema [s] 1 ηA Sistema A: = 36 = 4, 44 ⋅10 −5 Costo A 625 Costo [US$] A 36 625 B 45 550 ¿cuál es escoge? 1 ηB Sistema B: = 45 = 4, 04 ⋅10 −5 Costo B 550 Arquitectura de Computadores – Ingeniería Civil Informática 9 informatica.uv.cl Métricas de desempeño en sistemas computacionales Arquitectura de Computadores – Ingeniería Civil Informática 10 informatica.uv.cl Métricas utilizadas Tiempo de ejecución o Tiempo de CPU tCPU Ciclos de Reloj de Duración de un = i un programa Ciclo de Reloj tCPU Ciclos de Reloj de un programa = Frecuencia de Reloj Como contabilizar los ciclos de reloj de un programa Ciclos de Reloj de un programa Ciclos de Reloj de un programa = ∑ ∀cada intrucción CI i Ciclos de Reloj promedio nº de instrucciones ≈ i por instrucción de un programa !####"####$ CPI Arquitectura de Computadores – Ingeniería Civil Informática 11 informatica.uv.cl Métricas utilizadas Ejemplo Instrucciones de escritura (store ): Instrucciones de lectura (load ): Instrucciones de la ALU: Instrucciones de salto: 12% 21% 43% 24% 100% 2 2 1 2 ciclos ciclos ciclo ciclos 4 CPI = ∑ ti × fi = 1, 57 i =1 ¿se puede calcular el Dempo de ejecución? Arquitectura de Computadores – Ingeniería Civil Informática 12 informatica.uv.cl Métricas utilizadas MIPS Millones de Instrucciones Por Segundos Compara rendimiento de procesadores con un mismo juego de instrucciones. Más MIPS, no implica Dempo ejecución menor. MIPS naDvos Instrucciones ejecutadas Frecuencia de reloj de la CPU MIPS = = 6 Tiempo de ejecución × 10 CPI × 10 6 MIPS relaDvos MIPSrelativos ⎛ Tiempo de referencia ⎞ =⎜ × MIPSreferencia ⎟ ⎝ Tiempo de ejecución ⎠ Arquitectura de Computadores – Ingeniería Civil Informática 13 informatica.uv.cl Métricas utilizadas El programa X Dene 200•106 instrucciones ! Procesador 1 (175 MHz) : t1cpu = 10[s] Procesador 2 (300 MHz) : t2cpu = 5[s] Instrucciones ejecutadas 200 × 10 6 MIPS1 = = = 20[MIPS] 6 6 Tiempo de ejecución × 10 10 × 10 Instrucciones ejecutadas 200 × 10 6 MIPS2 = = = 40[MIPS] 6 6 Tiempo de ejecución × 10 5 × 10 Ciclos de reloj de CPU usados 10 × 175 × 10 6 CPI1 = = = 8, 75 6 Instrucciones ejecutadas 200 × 10 Ciclos de reloj de CPU usados 5 × 300 × 10 6 CPI 2 = = = 7, 5 6 Instrucciones ejecutadas 200 × 10 Arquitectura de Computadores – Ingeniería Civil Informática 14 informatica.uv.cl Métricas utilizadas MFLOPS (Million of FLoaDng-­‐point OperaDons Per Second) Se base en comparar operaciones y no instrucciones MFLOPS naDvos Operaciones de coma flotante ejecutadas MFLOPS = Tiempo de ejecución × 10 6 Arquitectura de Computadores – Ingeniería Civil Informática 15 informatica.uv.cl Se Dene un programa en un computador X que tarda 35 segundos en ejecutarse mientras que en el computador Y emplea 21 segundos. Se sabe que el programa esta formado por 522 millones de instrucciones. ¿Cuánto es más rápido el computador Y que el X? R: El computador Y es 1.6 veces más rápido que el computador X. ¿Qué canDdad de instrucciones por segundo (MIPS) ejecuta cada computador? R: MIPSX=14.91, MIPSY=24.86 Arquitectura de Computadores – Ingeniería Civil Informática 16 informatica.uv.cl Mejorar el desempeño Arquitectura de Computadores – Ingeniería Civil Informática 17 informatica.uv.cl Algoritmos Nº de intrucciones de alto nivel Lenguaje de programación Nº de intrucciones de máquina Compilador CPI Arquitectura HW Frecuencia de reloj Arquitectura de Computadores – Ingeniería Civil Informática 18 informatica.uv.cl Concepto de “mejorar” En todo sistema, el aumento del desempeño, debido a la mejora de un componente, depende de cuánto Dempo se uDlice dicho componente Ley de Amdahl Gene Amdahl (1922-1998) Arquitectura de Computadores – Ingeniería Civil Informática 19 informatica.uv.cl Ley de Amdhal Escenario de discusión: Un sistema tarda un Dempo TO en ejecutar cierto programa. Se mejora el sistema acelerando k veces uno de sus componentes. Dicho componente se uDliza una fracción f del Dempo TO. ¿Cuál es la aceleración A del sistema global? TO ηM A= = TM ηO donde TO: Dempo de ejecución original TM: Dempo de ejecución mejorado Arquitectura de Computadores – Ingeniería Civil Informática 20 informatica.uv.cl Ley de Amdahl No se utiliza } } (1-­‐f)•T0 Recurso Mejorado k veces Se utiliza } } Recurso Original No se utiliza (1-­‐f)•T0 Debido a que el recurso fue mejorado k veces: TO f•T0 f ⋅ TO Se utiliza TM f’•TM f ⋅ TO f '⋅ TM = k Arquitectura de Computadores – Ingeniería Civil Informática 21 informatica.uv.cl Ley de Amdahl No se utiliza } } (1-­‐f)•T0 Recurso Mejorado k veces Se utiliza } } Recurso Original No se utiliza (1-­‐f)•T0 TO f•T0 f ⋅ TO Se utiliza TM f’•TM TO ⋅ f TM = TO ⋅ (1 − f ) + k Arquitectura de Computadores – Ingeniería Civil Informática 22 informatica.uv.cl Ley de Amdahl ¿Cuál es la aceleración A del sistema completo después de acelerar k veces un componente que se uDliza una fracción f del Dempo total? A= 1 (1 − f ) + f k Arquitectura de Computadores – Ingeniería Civil Informática 23 informatica.uv.cl Ley de Amdahl Ejemplo ¿En cuánto puede aumentar como máximo el desempeño del sistema de la figura si se aumente la velocidad del procesador? Arquitectura de Computadores – Ingeniería Civil Informática 24 informatica.uv.cl Aplicación a sistemas multi proc. Sección Secuencial Sección Paralelizable 1-­‐f es la fracción del programa secuencial A= Sea f la fracción del programa paralelizable 1 f (1 − f ) + p Aumenta su velocidad según la canDdad de procesadores (núcleos). Arquitectura de Computadores – Ingeniería Civil Informática 25 informatica.uv.cl Aplicación a sistemas multi proc. A= 1 f (1 − f ) + p Arquitectura de Computadores – Ingeniería Civil Informática 26 informatica.uv.cl Ejemplos Arquitectura de Computadores – Ingeniería Civil Informática 27 informatica.uv.cl Ejemplo 1 Dos computadores A y B ejecutan un programa en 34 y 85 segundos respecDvamente. Sus costos son de 500 y 400 mil pesos respecDvamente, calcule cual de ellos representa una mejor relación entre rendimiento y costo. Rendimiento A 1 34 Sistema A: = = 5, 88 ⋅10 −5 Costo A 500 Rendimiento B 1 85 Sistema B: = = 2, 94 ⋅10 −5 Costo B 400 Arquitectura de Computadores – Ingeniería Civil Informática 28 informatica.uv.cl Ejemplo 2 Dos computadores A y B ejecutan un programa en 34 y 85 segundos respecDvamente. Sus costos son de 500 y 190 mil pesos respecDvamente, calcule cual de ellos representa una mejor relación entre rendimiento y costo. Rendimiento A 1 34 Sistema A: = = 5, 88 ⋅10 −5 Costo A 500 Rendimiento B 1 85 Sistema B: = = 6,19 ⋅10 −5 Costo B 190 Arquitectura de Computadores – Ingeniería Civil Informática 29 informatica.uv.cl Ejemplo 3 Se desea mejorar el rendimiento de un computador introduciendo un tarjeta aceleradora de video que realice las operaciones en la mitad de Dempo. Calcular la ganancia en velocidad del sistema para la ejecución de un programa si el 87% del mismo se dedica a operaciones gráficas. R: El sistema con tarjeta es un 76.9% más rápido. Si el programa tarda 32 segundos en ejecutarse sin la mejora. ¿cuánto tardará con la mejora? R: Con la mejora, el programa tarda 18.08[s] Arquitectura de Computadores – Ingeniería Civil Informática 30 informatica.uv.cl Evaluación de Rendimiento Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http://informatica.uv.cl