01-Evaluación de Rendimiento - Escuela de Ingeniería Civil en

Anuncio
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
Descargar