Analisis Comparativo de Rendimiento

53
CAPÍTULO 3 Análisis comparativo de rendimiento

description

Rendimiento

Transcript of Analisis Comparativo de Rendimiento

Page 1: Analisis Comparativo de Rendimiento

CAPÍTULO 3

Análisis comparativo de rendimiento

Page 2: Analisis Comparativo de Rendimiento

Introducción

• El análisis 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.

Análisis comparativo de rendimiento

Page 3: Analisis Comparativo de Rendimiento

• La tendencia actual dentro del campo de la evaluación de prestaciones se orienta principalmente a utilizar índices que tienen en cuenta el tiempo de ejecución en un computador en un conjunto de programas o pruebas o de evaluación (benchmark).

• El carácter de estos programas depende de que se quiere evaluar de un sistema informático: 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)

Introducción

Page 4: Analisis Comparativo de Rendimiento

• La corporación SPEC (Estándar Performance Evaluation Corporation ) propone índices de carácter general, SPECmarks y cuyo significado depende del aspecto en concreto que se esté evaluando.

• Algunos de estos índices tienen en cuenta el tiempo de ejecución de un conjunto de programas y utilizan además algún tipo de normalización y calculo de medidas para reducir el rendimiento a un único indicador.

• El tiempo de ejecución es la única medida fiable para medir el rendimiento de un computador

Introducción

Page 5: Analisis Comparativo de Rendimiento

Medidas de rendimiento

• La magnitud medible de un sistema informático para usarse en índice de prestaciones es el tiempo en llevar a cabo una actividad determinada.

• El tiempo de ejecución 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 rápido.

Page 6: Analisis Comparativo de Rendimiento

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 mayoría de los índices clásicos de prestaciones tienen como objetivo la medida del rendimiento del procesador.

Page 7: Analisis Comparativo de Rendimiento

Medidas de rendimiento

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

• 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 según 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 ejecución menor.

Número de instruccionesTiempo de ejecución x 106

Page 8: Analisis Comparativo de Rendimiento

Medidas de rendimiento

• MFLOPS (millions floating point operations per second).

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 división, este problema se resuelve parcialmente con los denominados MFLOPS normalizados, que permiten ponderar de manera mas justa la complejidad de cada operación en coma flotante

Número de operaciones de coma flotante

Tiempo de ejecución x 106

Page 9: Analisis Comparativo de Rendimiento

Medidas de rendimiento

• Una métrica muy empleada consiste en promocionar las computadoras a partir de la frecuencia de reloj del procesador. Esta estrategia consigue muy fácil asociar la idea de mayor frecuencia menor tiempo de ejecución. Sin embargo, está asociación resulta errónea en muchos casos porque deja de lado muchos de los detalles tecnológicos y arquitectónicos tanto del procesador como del computador en su conjunto.

Page 10: Analisis Comparativo de Rendimiento

Medidas de rendimiento

El tiempo de ejecución de un procesador se expresa en función del numero I de instrucciones ejecutadas, del numero medio de ciclos de reloj necesarios para ejecutar una instrucción (CPI, clock cycles per instruction).

Tiempo de ejecución = 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 implementación 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.

Page 11: Analisis Comparativo de Rendimiento

Resumen de rendimientos

Aunque el rendimiento de un computador tiene diversa y numerosas dimensiones, la mayoría de las personas involucradas en el diseño y evaluación del desempeño de computadores siguen reduciendo todo este espacio multidimensional a un único valor.

Page 12: Analisis Comparativo de Rendimiento

Medidas de tendencia central: media, mediana y moda.

De estas medias destacaremos tres:

-madia aritmética

-media armónica

-media geométrica

Sin dejar de lado sus variantes ponderadas.

Page 13: Analisis Comparativo de Rendimiento

Consideraremos un conjunto de n medidas de rendimiento a1, a2, … , an. Las medias aritmética XA, armónica XH, y geométrica XG se definen, respectivamente, como:

Page 14: Analisis Comparativo de Rendimiento

El uso de cada tipo de media depende del significado físico que represente cada medida de rendimiento Xi,

Ejemplo.

Si se mide el tiempo de ejecución de diversos programas, el valor medio calculado deberá ser proporcional a la suma de los tiempos de ejecución.

Page 15: Analisis Comparativo de Rendimiento

Al contrario, si lo que se mide es el ratio entre el numero de operaciones y el tiempo total de ejecución, el valor medio que se computa habrá de ser inversamente proporcional a la suma de los tiempos de ejecución.

Así que la media aritmética es adecuada para promediar tiempos de ejecución y la media armónica para ratios.

Page 16: Analisis Comparativo de Rendimiento

Ejemplo de uso inadecuado.

Considerando los tiempos de ejecución(segundos) de 12 programas de prueba en cuatro computadoras diferentes A, B, C y D.

Programa R A B C D1 1400 141 170 136 1342 1400 154 166 215 3013 1100 96.8 94.2 146 2014 1800 271 283 428 5235 1000 83.8 90.1 77.4 81.26 1800 179 189 199 2457 1300 112 131 87.7 75.58 1800 151 158 138 1429 1100 93.5 122 104 118

10 1900 133 173 118 14211 1500 173 170 179 24012 3000 243 264 338 508

Suma 19100 1831.1 2010.3 2166.1 2710.7

Page 17: Analisis Comparativo de Rendimiento

tiempos de ejecución normalizados respecto a la maquina R

Page 18: Analisis Comparativo de Rendimiento

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 ejecución 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.

Page 19: Analisis Comparativo de Rendimiento

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

Page 20: Analisis Comparativo de Rendimiento

Imaginemos que queremos comparar el rendimiento de los computadores B y C atendiendo a los ratios de los tiempos de ejecución 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 comparación se puede hacer también solo contemplando el tiempo total de ejecución de los programas

2166.1s/2010.3s =1.08

Page 21: Analisis Comparativo de Rendimiento

¿Rendimientos significativamente diferentes?

Page 22: Analisis Comparativo de Rendimiento

¿Rendimientos significativamente diferentes?

• Al comparar dos equipos tomando en base los tiempos de ejecución de un conjunto de programas es útil determinar si las diferencias observadas son significativas.

Page 23: Analisis Comparativo de Rendimiento

¿Qué se necesita?

Diferencia entre el tiempo de ejecución del programa iésimo de los equipos.

N < 30 N >= 30

N o n = Cantidad de la muestra

= Media aritméticat = Distribucións = Desviación

Page 24: Analisis Comparativo de Rendimiento

Valores de la distribución t Ejemplo

Page 25: Analisis Comparativo de Rendimiento

Ejemplo

Una empresa de seguros está estudiando dos propuestas con el objetivo de actualizar los computadores personales de su instalación informática. El precio de cada computador es de 1,300 y 1,450, para la propuesta A y B, respectivamente. Se estima que el número de computadores a reemplazar es de 75.

A B

Page 26: Analisis Comparativo de Rendimiento

Ejemplo

Los responsables informáticos 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 ejecución, expresados en segundos, que se muestran en la siguiente tabla:

Programa Modelo A Modelo B

1 23.6 24

2 33.7 41.6

3 10.1 8.7

4 12.9 13.5

5 67.8 66.4

6 9.3 15.2

7 47.4 50.5

8 54.9 52.3

Page 27: Analisis Comparativo de Rendimiento

Ejemplo

Determínese si existen diferencias significativas en el rendimiento de los computadores personales de las dos propuestas.

Programa Modelo A Modelo B

1 23.6 24

2 33.7 41.6

3 10.1 8.7

4 12.9 13.5

5 67.8 66.4

6 9.3 15.2

7 47.4 50.5

8 54.9 52.3

Datos:n = 8α = 0.05

Page 28: Analisis Comparativo de Rendimiento

Ejemplo

Paso 1. Calcular diferencias observadas.

Programa Modelo A Modelo B Diferencias

1 23.6 24 -0.4

2 33.7 41.6 -7.9

3 10.1 8.7 1.4

4 12.9 13.5 -0.6

5 67.8 66.4 1.4

6 9.3 15.2 -5.9

7 47.4 50.5 -3.1

8 54.9 52.3 2.6

Page 29: Analisis Comparativo de Rendimiento

Ejemplo

Paso 2. Calcular la media aritmética. = -1.56

Programa Modelo A Modelo B Diferencias

1 23.6 24 -0.4

2 33.7 41.6 -7.9

3 10.1 8.7 1.4

4 12.9 13.5 -0.6

5 67.8 66.4 1.4

6 9.3 15.2 -5.9

7 47.4 50.5 -3.1

8 54.9 52.3 2.6

Media aritmética

-1.56

Page 30: Analisis Comparativo de Rendimiento

Ejemplo

Paso 3. Calcular la desviación típica. = 3.75

Programa Modelo A Modelo B Diferencias Desviación

1 23.6 24 -0.4 1.3456

2 33.7 41.6 -7.9 40.1956

3 10.1 8.7 1.4 8.7616

4 12.9 13.5 -0.6 0.9216

5 67.8 66.4 1.4 8.7616

6 9.3 15.2 -5.9 18.8356

7 47.4 50.5 -3.1 2.3716

8 54.9 52.3 2.6 17.3056

Mediaaritmética

-1.56 3.75

Page 31: Analisis Comparativo de Rendimiento

Ejemplo

Paso 4. Sustituir

Intervalo de confianza: [-4.6172, 1.4972]

= -1.56 * (3.75/2.8284)

Tabla

Datos:n = 8α = 0.05

= -1.56 * 1.3258= -1.56

Page 32: Analisis Comparativo de Rendimiento

Ejemplo

• Conclusiones:

Como el intervalo de confianza incluye el cero podemos afirmar que las diferencias observadas en los tiempos de ejecución de los programas no son significativas.

En consecuencia, la mejor opción para actualizar las computadoras de la empresa es la opción A , ya que resulta la menos costosa.

A

Page 33: Analisis Comparativo de Rendimiento

Estrategias de comparación: RatiosSinónimo de razón o cociente de dos magnitudes relacionadas entre si. Consiste en un numerador y un denominador.

Page 34: Analisis Comparativo de Rendimiento

Que es?

• Es una relación 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 números se puede expresar como una fracción y eventualmente como un decimal

Page 35: Analisis Comparativo de Rendimiento

Aplicación

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.

Page 36: Analisis Comparativo de Rendimiento

Ejemplo

Queremos comparar el rendimiento de dos computadoras.

A

B

Page 37: Analisis Comparativo de Rendimiento

• Los tiempos de ejecución de A son siempre menores que los de B, el uso de ratios NO puede ayudar a proclamar que B es más rápido que A.

AB

Ejemplo

Page 38: Analisis Comparativo de Rendimiento

Ejemplo

Sin embargo podemos utilizar un ratio de normalizacion para "inclinar" la balanza.

Page 39: Analisis Comparativo de Rendimiento

Ejemplo

Utilizando ratios en la suma: A (250/150) = 1.67 veces más rápida que B.

Utilizando ratios en la media aritmetica: A (125/75) = 1.67 veces más rápida que B.

Programa A B

1 50 100

2 100 150

Suma 150 250

Media aritmética 75 125

Page 40: Analisis Comparativo de Rendimiento

Ejemplo

Podemos tambien, utilizar ratios y alterar el resultado de la comparación normalizando los tiempos anteriores y tomando una computadora como referencia.

Programa A(A) B(A) A(B) B(B)

1 1.00 2.00 0.50 1.00

2 1.00 1.50 0.67 1.00

Suma 2.00 3.50 1.17 2.00

Media

aritmética

1.00 1.75 0.58 1.00

Page 41: Analisis Comparativo de Rendimiento

Ejemplo

• Utilizando ratios en la media aritmética (en la suma da el mismo resultado).

Programa A(A) B(A) A(B) B(B)

1 1.00 2.00 0.50 1.00

2 1.00 1.50 0.67 1.00

Suma 2.00 3.50 1.17 2.00

Media

aritmética

1.00 1.75 0.58 1.00

Page 42: Analisis Comparativo de Rendimiento

Ejemplo

Utilizando A como referencia:

• 1.75/1.00 = A es 1.75 más rapida que B.

Programa A(A) B(A) A(B) B(B)

1 1.00 2.00 0.50 1.00

2 1.00 1.50 0.67 1.00

Suma 2.00 3.50 1.17 2.00

Media

aritmética

1.00 1.75 0.58 1.00

Page 43: Analisis Comparativo de Rendimiento

Ejemplo

Utilizando B como referencia:

• 1.00/0.58 = A es 1.72 más rápida que B

Programa A(A) B(A) A(B) B(B)

1 1.00 2.00 0.50 1.00

2 1.00 1.50 0.67 1.00

Suma 2.00 3.50 1.17 2.00

Media

aritmética

1.00 1.75 0.58 1.00

Page 44: Analisis Comparativo de Rendimiento

Problemas

¿Rendimientos significativamente diferentes? Y Estrategias de comparación: Ratios

Page 45: Analisis Comparativo de Rendimiento

Problemas

¿Se puede aplicar alguna estrategia de análisis que concluya que la máquina A tiene un rendimiento superior al de la máquina B?

Programa A B

1 85 64

2 72 63

3 82 80

Page 46: Analisis Comparativo de Rendimiento

Problemas

Solución #1: Dado que la máquina B ejecuta todos los programas en menos tiempo que la máquina A, no es posible concluir que esta última sea más rápida que la primera.

En particular, si se toma en cuenta el tiempo total de ejecución de los programas, la máquina B resulta 239/207 = 1.16 veces más rápida que la máquina A.

Programa A B

1 85 64

2 72 63

3 82 80

Total 239 207

Page 47: Analisis Comparativo de Rendimiento

Problemas

Solución: Si se utilizase la media aritmética de los tiempos normalizados respecto a| la máquina A, estrategia que, favorece al computador que actúa como referencia, los resultados serían los siguientes:

A raíz de los datos mostrados en la tabla, la máquina A sigue siendo más lenta que la máquina B, ya que obtiene una media aritmética mayor.

Programa A(A) B(A)

1 1 0.75

2 1 0.88

3 1 0.98

Media aritmética 1 0.87

Page 48: Analisis Comparativo de Rendimiento

Problemas

Solución #2: Se puede calcular el intervalo de confianza de las diferencias observadas en los tiempos de ejecución.

Programa A B Diferencias Desviación

1 85 64 21 106.8

2 72 63 9 2.78

3 82 80 2 75.17

Total 239 207

Media aritmética 10.666 9.61

Page 49: Analisis Comparativo de Rendimiento

Problemas

Solución #2: El intervalo de confianza es el siguiente:

… 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 máquinas.

= 10.67

Datos:n = 3α = 0.05

Page 50: Analisis Comparativo de Rendimiento

Problemas

En este sentido, el único hecho positivo respecto del rendimiento de la máquina A es que éste no resulta significativamente diferente del obtenido por la máquina B.

Page 51: Analisis Comparativo de Rendimiento

Preguntas.

Page 52: Analisis Comparativo de Rendimiento

• ¿Que es un Ratio y como se expresa?• R.- Es una relación binaria entre magnitudes,

generalmente se expresa como "a es a b" o a:b.

• ¿Como se expresa un Ratio en el caso de los números?• R.- Se puede expresar como una fracción 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 ejecución• Haciendo referencia a los ejemplos vistos en clase: ¿Por

qué cuando el intervalo de confianza incluye el 0 se elige el equipo mas económico?

• R.- Si el 0 esta dentro del intervalo de confianza quiere decir que la diferencia es mínima (tienen casi el mismo rendimiento) y la mejor decisión es comprar el equipo que cueste menos.

Page 53: Analisis Comparativo de Rendimiento

• ¿Características de los programas de análisis comparativo de rendimiento?

• R.- Depende de que se quiere evaluar de un sistema informático: 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 evaluación de prestaciones?

• R.- Principalmente a utilizar índices que tienen en cuenta el tiempo de ejecución en un computador en un conjunto de programas o pruebas o de evaluación (brenchmarcks).