Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Rendimiento
Una computadora A ejecuta un programa de
prueba p en 10 segundos. Cunto es su
rendimiento?
=
1
=
1
10
= 0.1
Qu utilidad ?
Comparar 2 computadoras
Rendimiento
A ejecuta un programa p en 10 segundos y B
ejecuta p en 12. Cunto es el rendimiento de
cada una? Cul rinde ms?
=
1
=
1
10
= 0.1
=
1
=
1
12
= 0.083
A rinde ms
Rendimiento:
La relacin del rendimiento de dos
Computadoras X e Y: n = Rx/Ry.
n representa cmo es el rendimiento de X
respecto al rendimiento de Y.
n se conoce como ganancia G (si X es un
reemplazo de Y) o como aceleracin (A) o
mejora de rendimiento (si X es una evolucin de
la misma arquitectura de Y).
Rendimiento
A ejecuta un programa p en 10 segundos y B
ejecuta p en 12. Cunto es el rendimiento de
cada una? Cul rinde ms?
=
1
=
1
10
= 0.1
=
1
=
1
12
= 0.083
=
=
0.1
0.083
= 1.2
n > 1 Ra > Rb
Rendimiento
Incremento neto de rendimiento:
n = n 1
Porcentaje de superacin en rendimiento de dos
PC:
n% = ( n 1) * 100%
Tambin esto se puede expresar como:
%
=
%
%
=
%
Rendimiento
A ejecuta un programa p en 10 segundos y B
ejecuta p en 12. Determine incremento de
rendimiento neto y el incremento neto porcentual.
=
1
=
1
10
= 0.1
=
1
=
1
12
= 0.083
=
1 =
0.1
0.083
1 = 0.2
%
=
1 100% =
0.1
0.083
1 100% = 20%
Factores que determinan el tiempo de
ejecucin
Perodo del pulso de reloj base del procesador:
Pulso ms ancho, mayor latencia.
Y por ende la Frecuencia de reloj, ya que =
1
Podemos decir que:
= =
La constante c ac corresponde al nmero total de
ciclos de reloj que consumi el programa.
Factores que determinan el tiempo de
ejecucin
Ejemplo : Suponga que la mquina A ejecuta un
programa p en 10s y su CPU tiene una
frecuencia de reloj de 100MHz. Usted est
diseando una mquina B y quiere que sta
ejecute p en solamente 6 segundos aunque
sabe que para ello requiere una mayor
frecuencia de reloj y como consecuencia, sern
requeridos 20% ms de ciclos para completar p.
Qu frecuencia debe tener B para lograr el
objetivo?
Factores que determinan el tiempo de
ejecucin
Datos :
= 10
= 100
= 6
= ?
= 1.2
(20% ms)
Modelo:
=
= 1.2
Solucin:
= 10 100 = 1000 10
6
=
(1.2
=
1.2 1000 10
6
6
= 200
Clculo del tiempo de Ejecucin
El tiempo de ejecucin depende netamente del total de
ciclos requeridos para ejecutar el programa y del perodo
o duracin del ciclo.
Un programa es una serie de instrucciones (N) a ejecutar.
Cada instruccin consume una cantidad de ciclos.
La cantidad total de ciclos que emplea una mquina para
ejecutar un programa corresponde a la suma de los ciclos
que consumen cada una de sus instrucciones.
Por tanto:
=
=
N
i
i C t
1
* t
Clculo del tiempo de Ejecucin
Es posible determinar grupos de instrucciones que tienen la
misma cantidad de ciclos de ejecucin.
Siendo CPI la cantidad de ciclos por instruccin que utilizan
las instrucciones del grupo i-simo y N
i
la cantidad total de
instrucciones del grupo i-simo ejecutadas.
) * ( *
1
i
m
i
i
N CPI t
=
=t
Clculo del tiempo de Ejecucin
En algunas arquitecturas incluso, el CPI es constante o
se puede aproximar con bastante precisin como la
cantidad media de ciclos por instruccin, con lo cual, t se
podra definir como:
= =
Donde CPI es la cantidad constante de ciclos por
instruccin y N es el total de instrucciones ejecutadas.
Ley de Amdahl
Uno para Todos y Todos para Uno
Qu pasa si Uno no es para Todos?
Cuando el rendimiento de una PC es mayor
como efecto de introducir una mejora, decimos
que tenemos una aceleracin de rendimiento.
Ley de Amdahl
La aceleracin global del sistema, sin embargo,
estar limitada por la fraccin de tiempo en que
dicha mejora es efectiva.
Papel de la Utilizacin
Ag = Rmejorado/Roriginal
Rmejorado = Rnuevo * % tiempo usada mejora
+ Roriginal * % tiempo sin usar mejora
Ley de Amdhal
Siendo tg el nuevo tiempo de ejecucin global
del sistema al incorporar la mejora, t el tiempo
de ejecucin original sin mejora, n la ganancia o
aceleracin parcial que la mejora proporciona, y
g, la fraccin mejorada (utilizacin) o el
porcentaje de tiempo real que la mejora es
efectiva, entonces:
tg = t tramo en que la mejora es efectiva + t
tramo sin mejora
Ley de Amdhal
(
+ = + =
n
t t
n
t
t
g
) 1 ( * ) 1 ( * *
n
t
t
A
mejorado
g
+
= =
) 1 (
1
Ley de Amdhal
Ejemplo: Si una mquina se mejora duplicando
la frecuencia del CPU, pero la mejora solo es
efectiva durante el 60% del ciclo de instruccin
por el acceso a memoria, la aceleracin global
del sistema sera:
Ag = 1 / 0.4 + (0.6/2) = 1/ 0.7 = 1.43
Nota: = 0.6 y n = 2
Ley de Amdhal
Conclusiones:
Agilizar el caso comn.
Evitar las excepciones en el mainstream de
procesamiento (penalizar a todos por unos
pocos).
Mtricas populares de rendimiento:
MIPS
MIPS Millones de Instrucciones (ejecutadas) por Segundo.
Velocidad o frecuencia de ejecucin de instrucciones.
Mtrica del tipo productividad.
Es una frecuencia, expresa el rendimiento en proporcin inversa
al tiempo lo cual es adecuado porque mayores MIPS indican
mquinas ms rpidas.
El problema: si se emplea como mtodo comparativo, debe
tenerse cuidado que las mquinas tengan caractersticas
similares.
6 6
10 * 10 * CPI
f
t
N
MIPS = =
Mtricas populares de rendimiento: MIPS
relativos
Surgen para resolver el problema de dos mquinas
con repertorios o arquitecturas diferentes.
Contrasta los MIPS de una mquina en comparacin
con una mquina de referencia.
Tcnica: Los MIPS relativos se obtienen del producto
de la razn de los tiempos de ejecucin de una
mquina de referencia y la evaluada con los MIPS de
la mquina de referencia.
referencia
evaluando
referencia
lativos
MIPS
t
t
MIPS *
Re
=
Mtricas populares de rendimiento:
MFLOPS
Millones de Instrucciones en Coma Flotante por
Segundo.
Solo contabiliza las operaciones en punto flotante.
Son ms consistentes que los MIPS por cuanto la cantidad
de operaciones no cambia de mquina a mquina.
Problema: los conjuntos de operaciones en punto flotante
disponibles de mquina a mquina no son estndares y
por tanto algunas operaciones se deben implementar en
funcin de otras.
6
10 * t
O
MFLOPS
PF
=
Mtricas populares: MFLOPS
Normalizados
Este mtodo concede pesos relativos a cada tipo de operacin
en punto flotante y permite adems considerar las operaciones
enteras. Al asignar pesos mayores a las operaciones
complejas se puede normalizar la diferencia de velocidades
permitiendo comparar de manera ms equitativa de dos
mquinas.
Problema: evala el rendimiento para ese programa tipo de
prueba (benchmark) especfico y que aunque representa una
opcin para comparar dos computadoras, no representa el
rendimiento de la mquina.
6
10 *
_ *
t
relativo peso O
MFLOPS
i i
os normalizad
=
Tipos de programas de prueba o
benchmarks
Programas reales: Medidas basadas en el uso
real del computador.
Ncleos (Kernels): Partes clave de
programas
Benchmarks reducidos (Toys): 10-100 lneas
de cdigo que realizan pequeos algoritmos
habituales. Fciles pero muy insuficientes.
Benchmarks sintticos: elaborados
expresamente para evaluar rendimiento
imitando el comportamiento de programas de
verdad, pero lo consiguen a medias.