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?
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
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
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
5Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Índices de rendimiento
6Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
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
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
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
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
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
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)
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
33Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
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
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, ...
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
37Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
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)
39Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
40Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
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
42Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Aspecto típico de gráficas con QUIPS
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
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
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
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
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
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,
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,
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
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
)
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
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
....
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
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
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
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
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
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
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
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
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
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
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
65Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
6. Ejemplos reales
CPU2000 (SPEC)
SYSMark 2004 (BAPCO)
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
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
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
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
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
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
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