3%20-%20an%e1lisis%20comparativo%20de%20rendimiento.ppt

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?

Upload: fabiolabrenda

Post on 16-Sep-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Análisis comparativo de rendimientoEvaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Análisis comparativo
de rendimiento
carga determinada?
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Contenido
CPI, MIPS, MFLOPS
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
1. Introducción
Las cargas de prueba
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
¿Qué es la referenciación?
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
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Índices de rendimiento
*
Evaluació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, ...
*
Evaluació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 operativo
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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Carga de trabajo y carga de prueba
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
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
La carga real
Resulta complicado reproducirla
Interacciona con el sistema informático
Índices de
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
El modelado de la carga
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
Sistema
informático
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Obtención de los índice de prestaciones
Carga
real
Datos de entrada al modelo
(analítico o simulación)
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Ejemplo de medida de rendimiento
#include <math.h>
x+=sin(atan(cos(log(y))));
% time trilog
Modo usuario: 202 s
Modo sistema: 150 s
Sistema real (máquina Unix) y
carga de coma flotante modelada
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Terminología
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
*
Evaluació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
*
Evaluació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
*
Evaluació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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Ejemplo de rendimientos similares
¿Son significativas
estas diferencias?
P1 5.4 19.1 –13.7
P2 16.6 3.5 13.1
P3 0.6 3.4 – 2.8
P4 1.4 2.5 – 1.1
P5 0.6 3.6 – 3.0
P6 7.3 1.7 5.6
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Cálculo del intervalo de confianza
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
2. Índices clásicos de rendimiento
CPI, MIPS, MFLOPS
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Ciclos por intrucción de un programa
CPI (cycles per instruction)
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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Relación entre tiempo y frecuencia
Ejemplo de cómputo
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Cálculo del CPI de un programa
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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
MIPS
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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Ejemplo con MIPS
Procesador 1 (175 MHz): ejecuta P en 10 s
Procesador 2 (300 MHz): ejecuta P en 5 s
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
MFLOPS
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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
MFLOPS normalizados
Suma, resta, multiplicación, comparación, negación: poco costosas
División, raíz cuadrada: costosas
ADD, SUB, COMPARE, MULT 1 operación normalizada
DIVIDE, SQRT 4 operaciones normalizadas
EXP, SIN, ATAN, ... 8 operaciones normalizadas
*
Evaluació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)
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
4. Benchmarks
Corporaciones: BAPCO, SPEC, TPC
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Microbenchmarks: toys
Encuentra los números primos entre 1 y n
Comparación de microprocesadores y lenguajes de alto nivel
Función de Ackermann
Otros ejemplos
Un largo etcétera
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Microbenchmarks: kernels
Whetstone (1976)
Estructurado en módulos independientes
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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Programa Sandra
Calcula MIPS (dhrystone) y MFLOPS (whetstone)
http://www.sisoftware.net
*
Evaluació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
http://www.passmark.com
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
BAPCO
http://www.bapco.com
Benchmarks desarrollados
SYSmark 2004
MobileMark 2005
WebMark 2004
Evaluació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
Motorola, DEC, etc.
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
TPC
Entornos transaccionales (OLTP: on-line transaction processing)
http://www.tpc.org
Arquitectura cliente/servidor, servidores web
*
*
*
Evaluació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)
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Aspecto típico de gráficas con QUIPS
*
Evaluació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
*
Evaluació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
Evaluació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
unidimensional
Evaluació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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
La media aritmética
No se ha de utilizar con ratios
Recomendación: normalizar el resultado final (no cada xi)
*
Evaluació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 respuesta
Recomendación: normalizar el resultado final (no cada xi)
*
Evaluació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
*
Evaluació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
*
Evaluació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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Resumen con la media aritmética
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Normalización de rendimientos: ratios
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
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
....
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Comparación con valores normalizados
Evaluació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 casos
Altibajos en la media aritmética
Comparació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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
5. Estrategias de análisis
*
Evaluació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
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
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Tiempo individual de cada programa
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
A
B
C
1
10
20
1000
100
20
P1
P2
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Tiempo total de ejecución
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
40
Total
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Utilizando medias aritméticas
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.0
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Medias aritméticas ponderadas
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
Máquina B como referencia
Máquina A como referencia
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Medias aritméticas ponderadas: resumen
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
A
B
C
500.5
55.0
20.0
91.1
18.2
20.0
2.0
10.1
20.0
Evaluació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
Evaluació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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
6. Ejemplos reales
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
El paquete SPEC CPU2000
Compuesto por dos partes
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?
Subsistema de disco, red o gráficos
*
Evaluació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áficos
Han de caber en 256 MB de memoria principal para no provocar intercambio (swapping) con el disco
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Programas dentro de CPU2000
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
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Índices prestaciones en SPEC CPU2000
Índices de prestaciones
Compilación en modo conservativo o agresivo
Cálculo
*
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Cálculo del índice SPECfp_base
L1 cache: 64KB I+64KB D on chip
L2 cache: 256KB (I+D) on chip
Memory: 256MB PC133 SDRAM
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
Evaluación y modelado del rendimiento de los sistemas informáticos: Análisis comparativo de rendimiento
Benchmark SYSMark 2004
Internet Content Creation (ICC)
Dreamweaver, Photoshop, Flash, Premiere...
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
*
Evaluació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
152,6
167,5
180,5
225,9
0
50
100
150
200
250
ABCD
å
ABCD
5