1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de...

72
1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios, administradores y diseñadores ¿Qué sistema informático tiene mejor rendimiento para una carga determinada?

Transcript of 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de...

Page 1: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

1Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Análisis comparativo de rendimiento

Usuarios, administradores y diseñadores

¿Qué sistema informático tiene mejor rendimiento para una

carga determinada?

Page 2: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

2Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Contenido

1. Introducción¿Qué es la referenciación?

¿Sistemas con rendimientos distintos?

2. Índices clásicos de rendimientoCPI, MIPS, MFLOPS

3. BenchmarksMicrobenchmaks: toys y kernels

Programas Sandra, PassMark, Bapco

Consorcios SPEC, TPC

Benchmark HINT

4. Resumen de rendimientoTipos de mediasPonderación y normalización

5. Estrategias de análisisEmpleo de mediasEfectos perniciosos

6. Ejemplos realesCPU2000SYSMark 2004

Page 3: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

3Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

1. Introducción

¿Qué es la referenciación? Factores influyentes

Las cargas de prueba

Comparación del rendimiento de dos sistemas

Page 4: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

4Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

¿Qué es la referenciación?

Referenciación (benchmarking)– Técnicas usadas en la comparación del rendimiento de

diferentes sistemas informáticos– Todos los sistemas se han de someter a la misma carga

S1 S2 S3

Índi

ce d

e pr

esta

cion

es

Sistema

Prestaciones = f (carga)

Carga

Page 5: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

5Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Índices de rendimiento

Page 6: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

6Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Page 7: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

7Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Medidas del rendimiento

Tiempo: el computador que hace la misma cantidad de trabajo en el mínimo tiempo es el más rápido

Las medidas de rendimiento han de ser reproducibles, indicando las condiciones en que se han obtenido– Procesador, frecuencia de funcionamiento, memoria, cache, ...

No hay que confundir el rendimiento del sistema con el rendimiento del procesador

Page 8: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

8Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Factores influyentes en la referenciación

Elementos hardware de cada equipo– Procesador, placa base y chipset, memoria principal, discos, ...

Sistema operativoSistema de memoria

– Configuraciones de las memorias cache y virtual

Efecto del compilador sobre el código ejecutable– Cuidado con las posibles optimizaciones

• j=log(5.0); por for(i=1;i<=5000;i++) j=log(5.0); • x=exp(log(x)/2*T1) por la expresión x=sqrt(exp(log(x)/T1)), ya que sqrt(exp(x))=exp(x/2)

– Hay compiladores “listos” que detectan los benchmarks clásicos

Page 9: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

9Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Carga de trabajo (workload)– Conjunto de todas las demandas a que está sometido un

sistema informático durante un periodo de tiempo• Programas, datos, órdenes, usuarios, ...

Carga de prueba (test workload)– Carga a que se somete un sistema informático durante una

sesión de medida de rendimiento

Carga de trabajo y carga de prueba

Carga

f (carga)

Medidas del rendimiento o prestaciones

Page 10: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

10Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

La carga real

Difícil de utilizar en la evaluación de sistemas– Resulta complicado reproducirla– Varía a lo largo del tiempo– Interacciona con el sistema informático

Índices de prestaciones

Cargareal

Variación de los parámetros del SO

Variación del comportamiento de los usuarios

Page 11: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

11Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Caracterización o modelado de la carga– Descripción cuantitativa

Toma de medidas de rendimiento– A partir del sistema y carga reales, o bien a partir de modelos

Sistemainformático o modelo

Cargade prueba:

real o modelo

Medidas

ModeloCargareal

El modelado de la carga

Page 12: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

12Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Obtención de los índice de prestaciones

Cargareal

Modelo de la carga real

IP IP’ IP’’

Programas similares a los de la carga real

Datos de entrada al modelo(analítico o simulación)

Page 13: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

13Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Ejemplo de medida de rendimiento

#include <math.h>#define NTIMES 10000000

void main(){ long y; float x=0.0, y=9.9; for(i=0; i<NTIMES; y++) x+=sin(atan(cos(log(y))));}

% gcc trilog.c -o trilog -lm% time trilog real 6m 0.38s user 3m 0.22s sys 2m 0.30s %_

trilog.c

Tiempo total: 398 s

Tiempo de ejecución: 352 sModo usuario: 202 sModo sistema: 150 s

Tiempo de espera: 398-352 = 46 s

Sistema real (máquina Unix) y carga de coma flotante modelada

Page 14: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

14Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Terminología

Perspectivas de rendimiento– Usuario: tiempo de respuesta o tiempo de ejecución– Administrador: cantidad de trabajo hecha por unidad de tiempo o

productividad

Hay que evitar terminología ambigua– “Este sistema es tantas veces más lento que aquel”– “Este sistema es tantas veces mejor que aquel”

Hablaremos de– Mejora del rendimiento– Mejora del tiempo de respuesta o de ejecución

Page 15: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

15Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

¿Qué sistema es más rápido?

El rendimiento del computador A es n veces mejor que el rendimiento del computador B si

Ejemplo: TA=10 s y TB=15 s

– El computador A es 1.5 veces más rápido que el B

nT

T

R

R

A

B

B

A

5.1 A

B

T

T

Page 16: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

16Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

¿Qué sistema es más rápido?

El rendimiento del computador A es un n% superior al rendimiento del computador B si

Ejemplo: TA=10 s y TB=15 s

– El computador A es un 50% más rápido que el B

nR

RRn

T

T

R

R

B

BA

A

B

B

A

100 también,o ,

1001

50100 100

1

A

AB

A

B

T

TTn

n

T

T

Page 17: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

17Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

¿Rendimientos diferentes?

Ejecución de n programas en dos máquinas A y B¿Son significativas las diferencias obtenidas?

– Hay que usar mecanismos estadísticos

Intervalo de confianza para las diferencias

Nivel de confianza, por ejemplo, del 95% (=0.05)– Si incluye el cero, entonces no hay diferencias significativas – Si no incluye el cero, entonces las máquinas tienen rendimientos

significativamente diferentes

n

stx

n 1,2

1

Page 18: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

18Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Ejemplo de rendimientos similares

Tiempos de ejecución en dos sistemas A y B

Programa A B Diferencias (A–B)P1 5.4 19.1 –13.7P2 16.6 3.5 13.1P3 0.6 3.4 – 2.8P4 1.4 2.5 – 1.1P5 0.6 3.6 – 3.0P6 7.3 1.7 5.6

¿Son significativas estas diferencias?

Page 19: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

19Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Cálculo del intervalo de confianza

Como el intervalo calculado es (-9.80, 9.17) e incluye el cero podemos afirmar, con un nivel de confianza del 95%, que las diferencias NO SON SIGNIFICATIVAS

571.2,03.9)(1

1,32.0

15,975.0

1,2

1.01

1

2

1

ttxxn

sxn

xn

n

ii

n

ii

478.932.06

03.9571.232.0

1,2

1

n

stx

n

Page 20: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

20Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

2. Índices clásicos de rendimiento

CPI, MIPS, MFLOPS

Page 21: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

21Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

CPI (cycles per instruction) – Es un valor medio que interesa minimizar– Depende de la organización y arquitectura (lenguaje máquina)– Inconveniente: ignora el tiempo imprevisible que hace falta para

sincronizar procesador y memoria cache (ciclos de espera, fallos en cache, ...)

– El valor mínimo es 1

ejecutadas nesInstruccio

reloj de Frecuencia ejecución de Tiempo

ejecutadas nesInstruccio

usados CPU de reloj de Ciclos

CPI

Ciclos por intrucción de un programa

Page 22: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

22Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Ejemplo de cómputo– Procesador con un reloj a 500 MHz o 0,5 GHz– ¿Cuál es la duración del tiempo de ciclo del reloj?

Relación entre tiempo y frecuencia

ns2s102Hz10500

1

MHz500

1:reloj de Ciclo

s10500Hz10500MHz500:Frecuencia

96

166

Page 23: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

23Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Cada instrucción necesita un determinado número de ciclos, y por tanto, el valor de CPI depende de las instrucciones ejecutadas por cada programa

• Instrucciones de escritura (store): 12% 2 ciclos

• Instrucciones de lectura (load): 21% 2 ciclos

• Instrucciones de la ALU: 43% 1 ciclo

• Instrucciones de salto: 24% 2 ciclos

Cálculo del CPI de un programa

57,14

1

i

ii ftCPI

reloj de Frecuencia

ejecutadas nesInstruccioejecución de Tiempo

CPI

Page 24: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

24Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

MIPS (million of instructions per second)– Se denominan MIPS nativos

– Depende del juego de instrucciones y los MIPS medidos varían entre programas en el mismo computador

– Meaningless indicator of processor speed

MIPS relativos: referidos a una máquina de referencia (proceso de normalización)

66 10

CPU la de reloj de Frecuencia

10ejecución de Tiempo

ejecutadas nesInstruccio

CPIMIPS

MIPS

referenciarelativos ejecución de Tiempo

referencia de TiempoMIPSMIPS

Page 25: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

25Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Ejemplo con MIPS

El programa P contiene 200106 instrucciones– Procesador 1 (175 MHz): ejecuta P en 10 s– Procesador 2 (300 MHz): ejecuta P en 5 s

40105

10200

10ejecución de Tiempo

ejecutadas nesInstruccio

201010

10200

10ejecución de Tiempo

ejecutadas nesInstruccio

6

6

62

6

6

61

MIPS

MIPS

5,710200

1030010

ejecutadas nesInstruccio

usados CPU de reloj de Ciclos

75,810200

1017510

ejecutadas nesInstruccio

usados CPU de reloj de Ciclos

6

6

2

6

6

1

CPI

CPI

Page 26: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

26Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

MFLOPS (million of floating-point operations per second)– Se denominan MFLOPS nativos– Basado en operaciones y no en instrucciones

• El tiempo de ejecución de la fórmula es el del programa, incluyendo el tiempo consumido por las instrucciones de enteros

– La dura realidad• El juego de instrucciones en coma flotante varia de una arquitectura

a otra y, dentro de una misma arquitectura, cada instrucción tiene un tiempo distinto que puede variar según los operandos

610ejecución de Tiempo

ejecutadas flotante coma de sOperacione

MFLOPS

MFLOPS

Page 27: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

27Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Consideran la complejidad de las operaciones en coma flotante– Suma, resta, multiplicación, comparación, negación: poco

costosas– División, raíz cuadrada: costosas– Trigonométricas: muy costosas

Ejemplo de normalización de operaciones en coma flotante

• ADD, SUB, COMPARE, MULT 1 operación normalizada

• DIVIDE, SQRT 4 operaciones normalizadas

• EXP, SIN, ATAN, ... 8 operaciones normalizadas

MFLOPS normalizados

Page 28: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

28Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Cálculo de los MFLOPS de un programa

Programa Spice: el computador DECStation 3100 tarda en 94 segundos en ejecutarlo– Contiene 109.970.178 operaciones en coma flotante de las

cuales:• 15.682.333 son divisiones (DIVD)

• El resto tiene una complejidad similar a la de la suma

7,11094

4333.682.15845.287.94

2,11094

178.970.109

6

6

osnormalizadMFLOPS

nativosMFLOPS

Page 29: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

29Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

4. Benchmarks

Microbenchmarks: toys, kernels

Programas Sandra, WinBench y PassMark

Corporaciones: BAPCO, SPEC, TPC

Page 30: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

30Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Microbenchmarks: toys

Sieve (algoritmo criba de Eratóstenes)– Encuentra los números primos entre 1 y n– Comparación de microprocesadores y lenguajes de alto nivel

Función de Ackermann– Programa recursivo– Evaluación del mecanismo de llamada a procedemiento

Otros ejemplos– Función de Fibonacci– Métodos de ordenación de vectores– Un largo etcétera

Page 31: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

31Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Microbenchmarks: kernels

Whetstone (1976)– Pequeñas aplicaciones científicas (coma flotante)– Estructurado en módulos independientes

Linpack (1983)– Aplicaciones científicas de cálculo numérico de coma flotante– Resolución de sistemas densos de ecuaciones lineales

Dhrystone (1984)– Entornos típicos de programación: aspectos de los lenguajes

fuente de sistemas operativos, editores, compiladores, etcétera• Aspectos no numéricos: manejo de cadenas de caracteres

– Inicialmente diseñado en Ada, hay versiones en C y Pascal

Page 32: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

32Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Programa Sandra

Evalúa procesador, memoria, disco, tarjeta gráfica, redCalcula MIPS (dhrystone) y MFLOPS (whetstone)http://www.sisoftware.net

Page 33: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

33Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Page 34: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

34Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

PassMark Software

Variedad de programas para evaluar el rendimiento y fiabilidad de los computadores personales– Hardware benchmarking and reliability testing software

Ejemplos de productos– Simple PC Benchmarking

– PC Reliability and Load Testing

http://www.passmark.com

Page 35: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

35Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

BAPCO

BAPCo (Business Applicationn Performance Corporation)– http://www.bapco.com

Evaluación de computadores en entornos empresarialesBenchmarks desarrollados

– SYSmark 2004– MobileMark 2005– WebMark 2004

Intervienen muchas empresas – Toshiba, Microsoft, IBM, Dell– HP, Intel, AMD, ZDNet, ...

Page 36: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

36Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

SPEC

SPEC (Standard Performance Evaluation Corporation)– MISSION: to establish, maintain, and endorse a standardized set of

relevant benchmarks and metrics for performance evaluation of modern computer systems

Funciones de SPEC– Desarrollar benchmarks– Hacer públicos los resultados

Intervienen muchas empresas – HP, MIPS, Sun, AT&T, Compaq, IBM, Intel, – Motorola, DEC, etc.

http://www.spec.org

Page 37: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

37Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Page 38: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

38Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

TPC

TPC (Transactions Processing Performance Council)– Entornos transaccionales (OLTP: on-line transaction

processing)• http://www.tpc.org

– Compuesto por varios programas• TPC-App, TPC-C, TPC-H

– Aspectos tratados• Sistemas de bases de datos distribuidas

• Arquitectura cliente/servidor, servidores web

– Unidades: peticiones procesadas por segundo (tps)

Page 39: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

39Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Page 40: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

40Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Page 41: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

41Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

HINT (Hierarchical INTegration )

Coste de computación y tiempo de ejecución variables– Se resuelve un problema matemático cuya solución se puede ir

mejorando paulatinamente– Cálculo de los límites racionales inferior y superior de:

Medida de prestaciones: QUIPS (quality improvement per second)

Útil para explorar los límites computacionales de los computadores así como la calidad del resultado

dxx

x

1

0 1

1

Page 42: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

42Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Aspecto típico de gráficas con QUIPS

Page 43: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

43Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

¿Impacto futuro de HINT?

John Gustafson (derecha) y Quinn Snell (Ames Lab) afirman que HINT es posiblemente el benchmark más portable jamás escrito– Con HINT se pueden medir las prestaciones de cualquier

supercomputador, por sofisticado que sea, como si de una simple calculadora se tratara

Page 44: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

44Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

4. Resumen de rendimientos: aproximaciones

Uso de medias

Normalización de rendimientos

Page 45: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

45Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

¿Cómo expresar el rendimiento?

El rendimiento es una variable multidimensional– Habría de expresarse mediante múltiples índices– Sin embargo, las comparaciones son más sencillas si se usa un

único índice de rendimiento (a minimizar o maximizar)

¿Cómo concentrar todas las variables en una sola?– Utilizar la mejor variable que represente el rendimiento– Asegurar que su obtención es válida– Método habitual de síntesis: uso de medias

• Hay que tener especial cuidado con la normalización de valores

Espacio multidimensional

Espacio multidimensional

Espaciounidimensional

Page 46: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

46Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Puntos de partida

Está aceptado universalmente que– El tiempo necesario para llevar a terme un determinado cómputo

refleja la esencia del rendimiento de un computador

Dos propiedades indispensables– Si resumimos el rendimiento de un computador para un conjunto

de benchmarks en una única cantidad expresada en unidades de tiempo, entonces ha de ser directamente proporcional al tiempo total (ponderado) consumido por los benchmarks

– Si resumimos el rendimiento de un computador para un conjunto de benchmarks en una única cantidad expresada en ratio, entonces ha de ser inversamente proporcional al tiempo total (ponderado) consumido por los benchmarks

Page 47: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

47Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

La media aritmética

Útil para tiempos de respuesta

No se ha de utilizar con ratiosRecomendación: normalizar el resultado final (no cada xi)

n

iia x

nx

1

1

1con ,11

n

ii

n

iiia wxwx

Page 48: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

48Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

La media armónica

Útil cuando los valores son ratios con unidades de tiempo en el denominador (MIPS, MFLOPS)

No se ha de utilizar con tiempos de respuestaRecomendación: normalizar el resultado final (no cada xi)

n

i i

h

x

nx

1

1

n

iin

i i

ih w

xw

nx

1

1

1con,

Page 49: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

49Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

La media geométrica

No es útil ni para tiempos de respuesta ni para ratios

Única virtud: mantiene el mismo orden en las comparaciones con valores normalizados (consistencia)– Usado en los benchmarks de SPEC y BAPCO

Sin embargo, este orden puede no ser el correcto

nn

iig xx

1

1

n

ii

n

i

wig wxx i

11

1con,

Page 50: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

50Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Ejemplo de comparación con tiempos

Programa R A B C D

1 1400 141 170 136 134

2 1400 154 166 215 301

3 1100 96.8 94.2 146 201

4 1800 271 283 428 523

5 1000 83.8 90.1 77.4 81.2

6 1800 179 189 199 245

7 1300 112 131 87.7 75.5

8 1800 151 158 138 142

9 1100 93.5 122 104 118

10 1900 133 173 118 142

11 1500 173 170 179 240

12 3000 243 264 338 508

Suma 19100 1831.1 2010.3 2166.1 2710.7

Page 51: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

51Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Comparación con el tiempo total

Ordenación con el tiempo total:– De más rápida a más lenta: A, B, C, D

• Esto no significa que A sea siempre la más rápida (depende del programa), aunque, en conjunto, sí que lo es

1831,12010,3

2166,1

2710,7

0

500

1000

1500

2000

2500

3000

A B C D

Tie

mp

o t

ota

l (s

)

Page 52: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

52Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Resumen con la media aritmética

9,22512

7.2710

12

1

5,18012

1,2166

12

1

5,16712

3,2010

12

1

6,15212

1,1831

12

1

12

1,

12

1,

12

1,

12

1,

iiDD

iiCC

iiBB

iiAA

tx

tx

tx

tx

152,6167,5

180,5

225,9

0

50

100

150

200

250

A B C D

Page 53: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

53Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Dividimos el valor obtenido en una máquina de referencia entre los valores de cada fila (aceleraciones)

A partir de aquí el resumen con las medias se hace con los valores normalizados (aceleraciones)– Ahora la aceleración es un índice a maximizar

Normalización de rendimientos: ratios

Programa R A B C D

1 1400 9.9 8.2 10.3 10.4

2 1400 9.1 8.4 6.6 4.7

....

Page 54: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

54Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Comparación con valores normalizados

0,00

2,00

4,00

6,00

8,00

10,00

12,00

M. aritmética M. armónica M. geométrica

A B C D

Page 55: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

55Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Lecturas de la gráfica anterior

A obtiene mejor índice en todos los casosAltibajos en la media aritméticaComparación de B y C con tiempos

– B es más rápido que C: 2010,3 s frente a 2166,1 s– Relación de tiempos: 2166,1/2010,3 = 1,08

Comparación de B y C con la media geométrica– B y C son casi igual de rápidos: 9,60 s frente a 9,59 s– Relación de medias geométricas: 9,60/9,59 = 1,00

Page 56: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

56Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

5. Estrategias de análisis

Efectos de la normalización y de la ponderación

Page 57: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

57Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Estrategias de análisis

Muy raramente un estudio comparativo de prestaciones es un trabajo aburrido, sobre todo cuando intervienen los diseñadores e inteseres económicos

Caso de estudio– Tres sistemas: A, B y C– Dos programas de prueba: P1 y P2– Tiempo de ejecución en segundos de cada programa

A B C

1 10 20

1000 100 20

P1

P2

Page 58: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

58Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Tiempo individual de cada máquina

– A es 10 veces más rápido que B para P1– B es 10 veces más rápido que A para P2– C es 50 veces más rápido que A para P2– B es 2 veces más rápido que C para P1– C es 5 veces más rápido que B para P2

Sin embargo, la comparación entre los tres sistemas resulta confusa

Tiempo individual de cada programa

A B C

1 10 20

1000 100 20

P1

P2

Page 59: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

59Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Tiempo total de respuesta– Buena aproximación si los programas de prueba se ejecutan en

tiempo no demasiado diferentes

– B es 9.1 (1001/110) veces más rápido que A para P1 y P2– C es 25 (1001/40) veces más rápido que A para P1 y P2– C es 2.75 (110/40) veces más rápido que B para P1 y P2

A B C

1001 110 40Total

Tiempo total de ejecución

Page 60: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

60Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Resumiendo las datos con una media– Buena aproximación si los programas de prueba se ejecutan las

mismas veces

Resumiendo las datos con una media ponderada– Por ejemplo, si el responsable del 80% de la carga es P1 y del

20% es P2, entonces el peso del primero es 0.8 y el del segundo es 0.2

A B C

500.5 55.0 20.0Media aritmética

Utilizando medias aritméticas

A B C

200.8 28.0 20.0Media aritmética ponderada

Page 61: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

61Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Aproximación si no se conoce la proporción de cada programa– Se supone que el tiempo se distribuye entre los n programas

– Cálculo de los pesos para cada programa

Medias aritméticas ponderadas

n

j ji

i

TT

w

1

1

1 2 (B) 3 (A)

0.909 0.999

0.091 0.001

1

0.500

0.500

Máquina B como referenciaMáquina A como referencia

Media aritmética

w1

w2

Page 62: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

62Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Cálculo de medias aritméticas ponderadas

Problema de la media aritmética ponderada– Hay dependencia de la máquina de referencia– Hay dependencia del tiempo usado en cada programa de prueba

Medias aritméticas ponderadas: resumen

A B C

500.5 55.0 20.0

91.1 18.2 20.0

2.0 10.1 20.0

w1 = w1 = 0.5

w1 = 0.909, w1 = 0.091

w1 = 0.999, w1 = 0.001

Page 63: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

63Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Normalización de los tiempos

Normalización sobre diferentes bases

Programa P1

Programa P2

Tiempo total

Media aritmética

Media geométrica

A B C

1.0 10.0 20.0

1.0 0.1 0.02

1.0 0.11 0.04

1.0 5.05 10.01

1.0 1.0 0.63

Normalizado sobre A

A B C

0.1 1.0 2.0

10.0 1.0 0.2

9.1 1.0 0.36

5.05 1.0 1.1

1.0 1.0 0.63

Normalizado sobre B

A B C

0.05 0.5 1.0

50.0 50.0 1.0

25.03 2.75 1.0

25.03 2.75 1.0

1.58 1.58 1.0

Normalizado sobre C

Page 64: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

64Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Principales conclusiones

Análisis de los resultados– El rendimiento calculado con la media aritmética varia según la

máquina de referencia• Col. 2: B es más lenta que A (referencia A)

• Col. 4: A es más lenta que B (referencia B)

• Col. 3: C es más lenta que A y B (referencia A)

• Col. 9: C es más rápida que A y B (referencia C)

– Las medias geométricas son consistentes independientemente de la máquina de referencia

• A y B tienen el mismo rendimiento

• El tiempo de ejecución de C es el 63% de A o B

• Sin embargo, el tiempo total de ejecución de A es 9 veces el de B, y el de B tres veces el de C

Page 65: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

65Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

6. Ejemplos reales

CPU2000 (SPEC)

SYSMark 2004 (BAPCO)

Page 66: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

66Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

El paquete SPEC CPU2000

Compuesto por dos partes– CINT2000: rendimiento en aritmética entera intensiva– CFP2000: rendimiento en aritmética de coma flotante intensiva

¿Qué quiere decir la “C”?– Se evalúan componentes, no el sistema entero

¿Qué componentes se evalúan?– Procesador– Arquitectura de memoria– Compilador

¿Qué componentes no se evalúan?– Subsistema de disco, red o gráficos

Page 67: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

67Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Criterios de selección de programas

Portabilidad a muchas arquitecturas– 32 y 64 bits: Alpha, Intel, PA-RISC, Rxx00, SPARC, etc

Portabilidad a muchos sistemas operativos– Unix, Linux y Windows

No han de contener I/O, ni red ni gráficosHan de caber en 256 MB de memoria principal para no

provocar intercambio (swapping) con el discoNo han de pasar más del 5% del tiempo ejecutando

código que no sea especificado por SPEC

Page 68: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

68Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Programas dentro de CPU2000

CINT2000: 12 programas– Todos en lenguaje C

• 164.gzip Utilidad de compresión

• 176.gcc Compilador de C

• 186.crafty Programa para jugar al ajedrez

• 197.parser Procesador de lenguaje natural

• 254.gap Teoría computacional de grupos

CFP2000: 14 programas, en lenguajes FORTRAN y C– 6 en FORTRAN77, 4 en FORTRAN90 y 4 en C

• 173.applu Ecuaciones diferenciales parciales

• 178.galgel Dinámica de fluidos

• 200.sixtrack Modelo de acelerador de partículas

Page 69: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

69Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Índices prestaciones en SPEC CPU2000

Índices de prestaciones– Aritmética entera

• SPECint2000, SPECint_base2000

– Aritmética en coma flotante• SPECfp2000, SPECfp_base2000

Significado de “base” y “non-base”– Compilación en modo conservativo o agresivo

Cálculo– Media geométrica de los valores normalizados respecto de la

máquina de referencia Sun Ultra5_10 con un procesador a 300 MHz

• Tarda aproximadamente 2 días en ejecutar todos los benchmarks del paquete

Page 70: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

70Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Cálculo del índice SPECfp_base

Benchmark Tiempo Tiempo Relación refer. medido (x100)

168.wupwise 1600 470 340

171.swim 3100 616 503

172.mgrid 1800 704 256

173.applu 2100 715 294

177.mesa 1400 334 419

178.galgel 2900 645 457

179.art 2600 1232 211

183.equake 1300 500 260

187.facerec 1900 488 390

188.ammp 2200 756 291

189.lucas 2000 869 230

191.fma3d 2100 594 354

200.sixtrack 1100 465 237

301.apsi 2600 975 267

311100_ 14

14

1

i i

ref

T

TbaseSPECfp

Hardware– AMD Gigabyte GA-7ZM

motherboard 1.1 GHz Athlon

– L1 cache: 64KB I+64KB D on chip

– L2 cache: 256KB (I+D) on chip

– Memory: 256MB PC133 SDRAM

Software– Windows 2000

– Compiler: Visual Fortran 6.5

Page 71: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

71Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Benchmark SYSMark 2004

Considera la carga en dos categorías– Internet Content Creation (ICC)

• Dreamweaver, Photoshop, Flash, Premiere...

– Office Productivity (OP)• Word, Excel, Access, Netscape, WinZip, ...

Con cada programa se ejecuta un conjunto de tareas (tasks) de acuerdo con un modelo de comportamiento del usuario

Las medidas se basan en el tiempo de respuesta– Se mide el tiempo de ejecución de cada tarea individual– Para cada categoría se calcula el tiempo medio de

ejecución de todas las tareas incluidas en ella

Page 72: 1 Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento Análisis comparativo de rendimiento Usuarios,

72Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento

Cálculo del índice SYSMark 2004

El tiempo medio de cada categoría se normaliza (ratio) respecto de una máquina de referencia (calibration platform) y se multiplica por 100– Si ratio = 200 doble de rápida que la de referencia

Finalmente, el índice SYSMark se calcula mediante la media geométrica de los dos ratios obtenidos

1001002004SYSMark

ICC

ICCref,

OP

OPref,

T

T

T

T