Rendimientos y costes

Anuncio
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Rendimientos y costes
Curso 2011-2012
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
¿Qué es el Rendimiento?
• El Rendimiento es un parámetro que
indica el nivel de computación de la
máquina y la velocidad a la que
produce los resultados.
• El Rendimiento es directamente
proporcional al Coste.
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
¿Por qué medir el Rendimiento?
• La medida del Rendimiento da una
idea del comportamiento de la
Arquitectura.
• Identifica las posibilidades existentes
de mejora.
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Factores que afectan al Rendimiento
• Capacidad de la máquina: Fácil de
predecir.
• Comportamiento de los programas:
Difícil de predecir:
–
–
–
–
Diseño de los algoritmos
Estructuras de datos
Compilador
Habilidad del programador
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Factores de Rendimiento (I)
• Frecuencia: Número de ciclos por
segundo del reloj.
# ciclos
f =
s
• Tiempo de ciclo:
1
τ=
f
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Factores de Rendimiento (II)
• CPI: Número de ciclos por instrucción.
– Es una media: Las instrucciones más
complicadas necesitan más ciclos que las
sencillas.
– Se mide respecto a un conjunto de instrucciones
dado y sobre una carga de trabajo estándar.
• Ic: Número de instrucciones de un
programa.
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Factores de Rendimiento (III)
• T: Tiempo de ejecución de un programa
(sólo tiempo de CPU).
Ic ⋅ CPI
T = Ic ⋅ CPI ⋅τ =
f
• T: Tiempo de ejecución de un programa
(completo)
T = Ic ⋅ ( p + m ⋅ k ) ⋅τ
– p: ciclos CPU
– m: # de accesos a memoria
– k: ciclos de CPU / acceso a memoria
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Rendimiento vs. Atributos del Sistema
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Factores de Rendimiento (IV)
• MIPS: Millones de instrucciones / segundo.
Ic
Ic
f
MIPS =
=
=
6
6
T ⋅10
Ic ⋅ CPI ⋅τ ⋅10
CPI ⋅10 6
• Throughput: Número de programas / segundo.
1
1
Wp = =
T Ic ⋅ CPI ⋅τ
Ws < Wp, debido a las operaciones de E/S
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Factores de Rendimiento (V)
• Speed-up: % de incremento en el
rendimiento tras aplicar una serie de
mejoras.
tinicial
SU =
t final
• Ej:
100 ns
SU =
= 1.25
80 ns
25% más rápido
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Ley de Amdahl
• La ganancia en el rendimiento obtenida en un sistema
está limitada por la fracción del sistema que se
beneficia de la mejora.
• Sea f la fracción del sistema sobre la que se aplica la
mejora:
t final = (1 − f ) ⋅ tinicial
SU sistema
f ⋅ tinicial
f
= tinicial ⋅ ((1 − f ) +
+
)
SU mejora
SU mejora
tinicial
tinicial
=
=
t final t
inicial ⋅ ((1 − f ) +
f
SU mejora
=
)
1
(1 − f ) +
f
SU mejora
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Ley de Amdahl: Ejemplo
• El rendimiento del motor representa el 25% en el
rendimiento total del vehículo. El resto depende de
otros factores, como el índice aerodinámico o los
neumáticos. Calcular el Speed-up de un coche al cual se
le ha cambiado el motor por otro con un 40% más de
rendimiento.
SU mejora = 1.4
f = 0.25
SU sistema
1
1
=
=
= 1.075
0.25 0.75 + 0.18
(1 − 0.25) +
1.4
7.5% más rendimiento
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Benchmarks
• Conjunto estándar de programas para comparar el rendimiento de
distintos sistemas.
• Tipos:
– Programas reales.
– Núcleos de programas.
– Programas de juguete: Unas 10-100 líneas de código. Ej.:
Criba de Eratóstenes, Puzzle, Quicksort.
– Programas de prueba (Benchmarks): Programas sintéticos que
simulan la frecuencia de operaciones en programas reales. Ej.:
Whetstone, Dhrystone.
AT5118 – Arquitectura e Ingeniería de Computadores I
Juan Antonio Maestro
Benchmarks Suites
• Conjunto de programas para medir el rendimiento
en un amplio abanico de aplicaciones:
– SPEC89: 10 programas
– SPEC92: 6 programas enteros y 14 en punto flotante
– SPEC95: 10 programas enteros y 10 en punto
flotante
– SPEC2000.
Descargar