You are on page 1of 53

CAPTULO 3

Anlisis comparativo de rendimiento

Anlisis comparativo de rendimiento


El anlisis comparativo del rendimiento de
computadores abarca tal variedad de factores, variables
e intereses comerciales que resulta complicado tener en
cuenta todos los detalles al tiempo que se eliminan
suspicacias.

Introduccin

La tendencia actual dentro del campo de la evaluacin de


prestaciones se orienta principalmente a utilizar ndices que tienen en
cuenta el tiempo de ejecucin en un computador en un conjunto de
programas o pruebas o de evaluacin (benchmark).
El carcter de estos programas depende de que se quiere evaluar de
un sistema informtico: desde un nivel bajo ligado a componentes (el
procesador mas el sistema de memoria mas el compilador), hasta un
nivel mas elevado representado por el sistema completo (servidor
web)

Introduccin

La corporacin SPEC (Estndar Performance Evaluation Corporation


) propone ndices de carcter general, SPECmarks y cuyo significado
depende del aspecto en concreto que se est evaluando.
Algunos de estos ndices tienen en cuenta el tiempo de ejecucin de
un conjunto de programas y utilizan adems algn tipo de
normalizacin y calculo de medidas para reducir el rendimiento a un
nico indicador.
El tiempo de ejecucin es la nica medida fiable para medir el
rendimiento de un computador

Introduccin

La magnitud medible de un sistema informtico para


usarse en ndice de prestaciones es el tiempo en llevar a
cabo una actividad determinada.
El tiempo de ejecucin de un programa representa la
medida exacta del rendimiento de un computador: aquel
que ejecute la misma cantidad de trabajo en menor
tiempo posible ser el mas rpido.

Medidas de rendimiento

Existen otros ndices de rendimiento que aun presentando


algunos inconvenientes, se siguen utilizando, as como
MIPS, MFLOPS, MHz, CPI.

MIPS (millon instructions per second).


MFLOPS (millions floating point operations per second).
CPI (clock cycles per instruction).
MHz (MegaHertz).

La mayora de los ndices clsicos de prestaciones tienen


como objetivo la medida del rendimiento del procesador.

Medidas de rendimiento

El ndice MIPS (millon instructions per second) se define como:

Nmero de instrucciones
Tiempo de ejecucin x 106
Ha sido empleado como ndice para comparar las prestaciones de
computadores con el mismo juego de instrucciones tiene varios
inconvenientes: no tiene en cuenta el tipo de instrucciones , puede
variar segn el tipo de programa ejecutado en un mismo computador
el que un computador obtenga mas MIPS que otro no implica que
proporciona un tiempo de ejecucin menor.

Medidas de rendimiento

MFLOPS (millions floating point operations per second).


Nmero de operaciones de coma flotante
Tiempo de ejecucin x 106

El problema que plantea este ndice es que el conjunto de


operaciones de punto flotante de una arquitectura de
procesador a otra .
Por otro lado no es lo mismo hacer una suma que una
divisin, este problema se resuelve parcialmente con los
denominados MFLOPS normalizados, que permiten ponderar
de manera mas justa la complejidad de cada operacin en
coma flotante

Medidas de rendimiento

Una mtrica muy empleada consiste en promocionar las


computadoras a partir de la frecuencia de reloj del
procesador. Esta estrategia consigue muy fcil asociar la
idea de mayor frecuencia menor tiempo de ejecucin. Sin
embargo, est asociacin resulta errnea en muchos casos
porque deja de lado muchos de los detalles tecnolgicos y
arquitectnicos tanto del procesador como del
computador en su conjunto.

Medidas de rendimiento

El tiempo de ejecucin de un procesador se expresa en funcin del numero


I de instrucciones ejecutadas, del numero medio de ciclos de reloj
necesarios para ejecutar una instruccin (CPI, clock cycles per instruction).
Tiempo de ejecucin = I x CPI x tc
Intervienen tres factores con implicaciones muy diferentes:
I: depende tanto del repertorio de instrucciones como del compilador
empleado en traducir el programa al lenguaje maquina.
CPI : es un valor promedio y depende de la implementacin que se haga
del juego del instrucciones.
El tiempo de ciclo de reloj (tc) depende de la frecuencia de reloj a la que
funciona el procesador.

Medidas de rendimiento

Aunque el rendimiento de un computador tiene diversa y


numerosas dimensiones, la mayora de las personas
involucradas en el diseo y evaluacin del desempeo de
computadores siguen reduciendo todo este espacio
multidimensional a un nico valor.

Resumen de rendimientos

Medidas de tendencia central: media, mediana y moda.


De estas medias destacaremos tres:
-madia aritmtica
-media armnica
-media geomtrica
Sin dejar de lado sus variantes ponderadas.

Consideraremos un conjunto de n medidas de rendimiento a1,


a2, , an. Las medias aritmtica XA, armnica XH, y geomtrica
XG se definen, respectivamente, como:

El uso de cada tipo de media depende del significado fsico que


represente cada medida de rendimiento Xi,
Ejemplo.
Si se mide el tiempo de ejecucin de diversos programas, el
valor medio calculado deber ser proporcional a la suma de los
tiempos de ejecucin.

Al contrario, si lo que se mide es el ratio entre el numero de


operaciones y el tiempo total de ejecucin, el valor medio que
se computa habr de ser inversamente proporcional a la suma
de los tiempos de ejecucin.
As que la media aritmtica es adecuada para promediar
tiempos de ejecucin y la media armnica para ratios.

Considerando los tiempos de ejecucin(segundos) de 12


programas de prueba en cuatro computadoras diferentes
A, B, C y D.
Programa

R
1
2
3
4
5
6
7
8
9
10
11
12

Suma

A
1400
1400
1100
1800
1000
1800
1300
1800
1100
1900
1500
3000
19100

B
141
154
96.8
271
83.8
179
112
151
93.5
133
173
243
1831.1

C
170
166
94.2
283
90.1
189
131
158
122
173
170
264
2010.3

Ejemplo de uso inadecuado.

D
136
215
146
428
77.4
199
87.7
138
104
118
179
338
2166.1

134
301
201
523
81.2
245
75.5
142
118
142
240
508
2710.7

tiempos de ejecucin normalizados respecto a la maquina R

Considerando la maquina A. Esta maquina tarda un total de


1831.1 segundos en ejecutar los 12 programas de prueba. Los
valores normalizados de los tiempos de ejecucin obtenidos
por esta maquina respecto de la maquina de referencia se
calculan dividiendo los valores de la columna R entre los de la
columna A.

Valores normalizados
9.9, 9.1, 11.4, 6.6, 11.9, 10.1, 11.6, 11.9, 11.8, 14.3, 8.7 y 12.3
XG = 10.61
XH =10.40
XA =10.80

Imaginemos que queremos comparar el rendimiento de los


computadores B y C atendiendo a los ratios de los tiempos de
ejecucin de cada programa.
B/C 9.60/9.59=1.00
B/C 9.45/8.94=1.06
C/B 10.19/9.74=1.05
Pero esta comparacin se puede hacer tambin solo
contemplando el tiempo total de ejecucin de los programas
2166.1s/2010.3s =1.08

Rendimientos significativamente
diferentes?

Al comparar dos equipos tomando en base los


tiempos de ejecucin de un conjunto de programas
es til determinar si las diferencias observadas son
significativas.

Rendimientos significativamente
diferentes?

Diferencia entre el tiempo de ejecucin del programa isimo de los


equipos.

N < 30

N o n = Cantidad de la muestra
= Media aritmtica
t = Distribucin
s = Desviacin

Qu se necesita?

N >= 30

Valores de la distribucin t

Ejemplo

Una empresa de seguros est estudiando dos propuestas con el


objetivo de actualizar los computadores personales de su
instalacin informtica. El precio de cada computador es de
1,300 y 1,450, para la propuesta A y B, respectivamente. Se
estima que el nmero de computadores a reemplazar es de 75.
A

Ejemplo

Los responsables informticos de la empresa de la empresa han ejecutado los


ocho programas que utilizan habitualmente en un computador de cada
propuesta, y han obtenido los tiempos de ejecucin, expresados en segundos,
que se muestran en la siguiente tabla:

Ejemplo

Programa

Modelo A

Modelo B

23.6

24

33.7

41.6

10.1

8.7

12.9

13.5

67.8

66.4

9.3

15.2

47.4

50.5

54.9

52.3

Determnese si existen diferencias significativas en el


rendimiento de los computadores personales de las dos
propuestas.

Datos:
n=8
= 0.05

Ejemplo

Programa

Modelo A

Modelo B

23.6

24

33.7

41.6

10.1

8.7

12.9

13.5

67.8

66.4

9.3

15.2

47.4

50.5

54.9

52.3

Paso 1. Calcular diferencias observadas.

Ejemplo

Programa

Modelo A

Modelo B

Diferencias

23.6

24

-0.4

33.7

41.6

-7.9

10.1

8.7

1.4

12.9

13.5

-0.6

67.8

66.4

1.4

9.3

15.2

-5.9

47.4

50.5

-3.1

54.9

52.3

2.6

Paso 2. Calcular la media aritmtica.

Ejemplo

= -1.56

Programa

Modelo A

Modelo B

Diferencias

23.6

24

-0.4

33.7

41.6

-7.9

10.1

8.7

1.4

12.9

13.5

-0.6

67.8

66.4

1.4

9.3

15.2

-5.9

47.4

50.5

-3.1

54.9

52.3

2.6

Media
aritmtica

-1.56

= 3.75

Paso 3. Calcular la desviacin tpica.


Programa

Modelo A

Modelo B

Diferencias

Desviacin

23.6

24

-0.4

1.3456

33.7

41.6

-7.9

40.1956

10.1

8.7

1.4

8.7616

12.9

13.5

-0.6

0.9216

67.8

66.4

1.4

8.7616

9.3

15.2

-5.9

18.8356

47.4

50.5

-3.1

2.3716

54.9

52.3

2.6

17.3056

-1.56

3.75

Media
aritmtica

Ejemplo

Datos:
n=8
= 0.05

Paso 4. Sustituir

= -1.56 * (3.75/2.8284)
= -1.56 * 1.3258
= -1.56

Intervalo de confianza: [-4.6172, 1.4972]

Ejemplo

Tabla

Conclusiones:
Como el intervalo de confianza incluye el cero podemos
afirmar que las diferencias observadas en los tiempos de
ejecucin de los programas no son significativas.
En consecuencia, la mejor opcin para actualizar las
computadoras de la empresa es la opcin A , ya que resulta
la menos costosa.

Ejemplo

Estrategias de comparacin:
Ratios
Sinnimo de razn o cociente de dos magnitudes relacionadas
entre si. Consiste en un numerador y un denominador.

Es una relacin binaria entre magnitudes (es decir,


objetos, personas, estudiantes, cucharadas, etc.),
generalmente se expresa como "a es a b" o a:b.
En el caso de nmeros se puede expresar como
una fraccin y eventualmente como un decimal

Que es?

Ofrece un amplio abanico de posibilidades para


comparar rendimientos.
Sin embargo, las comparaciones llevadas acabo utilizando ratios
pueden resultar confusas y, a menudo, afectadas de intereses
partidistas.

Aplicacin

Queremos comparar el rendimiento de dos computadoras.

Ejemplo

Los tiempos de ejecucin de A son siempre menores que los de


B, el uso de ratios NO puede ayudar a proclamar que B es ms
rpido que A.

Ejemplo

Sin embargo podemos utilizar un ratio de normalizacion


para "inclinar" la balanza.

Ejemplo

Programa

50

100

100

150

Suma

150

250

Media aritmtica

75

125

Utilizando ratios en la suma: A (250/150) = 1.67 veces ms


rpida que B.
Utilizando ratios en la media aritmetica: A (125/75) = 1.67
veces ms rpida que B.

Ejemplo

Programa

A(A)

B(A)

A(B)

B(B)

1.00

2.00

0.50

1.00

1.00

1.50

0.67

1.00

Suma

2.00

3.50

1.17

2.00

Media
1.00
aritmtica

1.75

0.58

1.00

Podemos tambien, utilizar ratios y alterar el


resultado de la comparacin normalizando los
tiempos anteriores y tomando una computadora
como referencia.

Ejemplo

Programa

A(A)

B(A)

A(B)

B(B)

1.00

2.00

0.50

1.00

1.00

1.50

0.67

1.00

Suma

2.00

3.50

1.17

2.00

Media
1.00
aritmtica

1.75

0.58

1.00

Utilizando ratios en la media aritmtica (en


la suma da el mismo resultado).

Ejemplo

Programa

A(A)

B(A)

A(B)

B(B)

1.00

2.00

0.50

1.00

1.00

1.50

0.67

1.00

Suma

2.00

3.50

1.17

2.00

Media
1.00
aritmtica

1.75

0.58

1.00

Utilizando A como referencia:


1.75/1.00 = A es 1.75 ms rapida que B.

Ejemplo

Programa

A(A)

B(A)

A(B)

B(B)

1.00

2.00

0.50

1.00

1.00

1.50

0.67

1.00

Suma

2.00

3.50

1.17

2.00

Media
1.00
aritmtica

1.75

0.58

1.00

Utilizando B como referencia:


1.00/0.58 = A es 1.72 ms rpida que B

Ejemplo

Problemas
Rendimientos significativamente diferentes?
Y Estrategias de comparacin: Ratios

Se puede aplicar alguna estrategia de anlisis que concluya


que la mquina A tiene un rendimiento superior al de la
mquina B?
Programa

85

64

72

63

82

80

Problemas

Solucin #1: Dado que la mquina B ejecuta todos los programas en


menos tiempo que la mquina A, no es posible concluir que esta ltima
sea ms rpida que la primera.
En particular, si se toma en cuenta el tiempo total de ejecucin de los
programas, la mquina B resulta 239/207 = 1.16 veces ms rpida que
la mquina A.
Programa

85

64

72

63

82

80

Total

239

207

Problemas

Solucin: Si se utilizase la media aritmtica de los tiempos normalizados


respecto a| la mquina A, estrategia que, favorece al computador que acta
como referencia, los resultados seran los siguientes:
Programa

A(A)

B(A)

0.75

0.88

0.98

Media aritmtica

0.87

A raz de los datos mostrados en la tabla, la mquina A sigue siendo ms lenta


que la mquina B, ya que obtiene una media aritmtica mayor.

Problemas

Solucin #2: Se puede calcular el intervalo de confianza de las diferencias


observadas en los tiempos de ejecucin.

Programa

Diferencias

Desviacin

85

64

21

106.8

72

63

2.78

82

80

75.17

Total

239

207

Media

aritmtica

10.666

9.61

Problemas

Solucin #2: El intervalo de confianza es el siguiente:


Datos:
n=3
= 0.05

= 10.67

es decir, [-13.21,34.54], el cual incluye el cero y, por lo tanto, podemos


concluir que no hay diferencias significativas en el rendimiento de las dos
mquinas.

Problemas

En este sentido, el nico hecho positivo respecto del rendimiento de la


mquina A es que ste no resulta significativamente diferente del
obtenido por la mquina B.

Problemas

Preguntas.

Que es un Ratio y como se expresa?


R.Es
una relacin
binaria entre
magnitudes,
generalmente se expresa como "a es a b" o a:b.
Como se expresa un Ratio en el caso de los nmeros?
R.- Se puede expresar como una fraccin y
eventualmente como un decimal.
En base a que se calcula el rendimiento para saber si
es significativamente diferente?
R.- En base al tiempo de ejecucin
Haciendo referencia a los ejemplos vistos en clase: Por qu
cuando el intervalo de confianza incluye el 0 se elige el
equipo mas econmico?
R.- Si el 0 esta dentro del intervalo de confianza quiere decir
que la diferencia es mnima (tienen casi el mismo rendimiento)
y la mejor decisin es comprar el equipo que cueste menos.

Caractersticas de los programas de anlisis


comparativo de rendimiento?
R.- Depende de que se quiere evaluar de un sistema
informtico: desde un nivel bajo ligado a componentes (el
procesador mas el sistema de memoria mas el
compilador), hasta un nivel mas elevado representado por
el sistema completo (servidor web).
A donde se orienta la tendencia actual en la
evaluacin de prestaciones?
R.- Principalmente a utilizar ndices que tienen en cuenta
el tiempo de ejecucin en un computador en un conjunto
de programas o pruebas o de evaluacin (brenchmarcks).

You might also like