1Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Introducción a la evaluación del rendimiento
Usuarios, administradores
y diseñadores
Obtener el rendimiento más alto con el coste
más pequeño
2Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
1. Introducción a la evaluaciónLa carga
Medidas de rendimiento
Variables que afectan al rendimiento
2. Técnicas de evaluaciónMonitorización de sistemas
Referenciación (benchmarking)
Modelado
3. Comparación de prestaciones y costeAceleración del rendimiento
Incremento del coste
4. Límites en la mejora de rendimiento
Ley de Amdahl
Ley de Gustafson
Ejemplos de aplicación
Contenido
3Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
1. Introducción a la evaluación
¿Qué interés tiene la evaluación?
¿Qué variables reflejan el rendimiento?
¿Qué afecta al rendimiento?
4Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
¿Por qué evaluar el rendimiento?
Los computadores tienen un precio que dependen de los costes de diseño y de fabricación
Hace falta relacionar precio y calidad– Comprador: “este computador cuesta el doble que el otro,
pero... ¿es el doble de rápido?”– Diseñador: “esta decisión de diseño incrementa el precio de
fabricación, pero... ¿incrementa la calidad y velocidad del producto en la misma o mayor proporción?”
El análisis de prestaciones y precios (costes) es un mecanismo que permite elegir entre productos
Terminología básica sobre rendimiento (performance)– Rendimiento, prestaciones, desempeño (Latinoamérica)
5Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
El papel del rendimiento es importante
6Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
¿En qué consiste la evaluación?
Saber cómo el software (combinación de programas) está usando el hardware de una máquina: comportamiento
Carga
¿Tiene un diseño adecuado?¿Cuál es su rendimiento?¿Puede rendir mejor?¿Cómo puede rendir mejor?
Varía con el tiempo
7Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
¿Para qué sirve la evaluación?
Optimizar el diseño de un sistema informático– Evaluación del impacto de diferentes opciones
Seleccionar un sistema informático– Relación rendimiento/precio
Ajustar un sistema informático (system tuning)– Variación del software/hardware para mantener el máximo
rendimiento
Predecir la carga máxima aceptable (capacity planning)– ¡El rendimiento siempre depende de la carga!
8Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
La carga y la evaluación
Carga (load): conjunto de tareas que ha de hacer un sistema– Programas, datos y órdenes de los usuarios
Carga de prueba (workload)– Carga empleada en un estudio de evaluación
Variables que reflejan la carga– Número de programas simultáneos en ejecución– Accesos por unidad de tiempo a un servidor de páginas web– Peticiones por unidad de tiempo a una base de datos
9Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Adaptación a la carga: el mito
Un computador no es bueno ni malo per se, sino que se adapta mejor o peor a un tipo determinado de carga
Computadores adaptados a cargas específicas– Servidores web– Servidores de bases de datos– Servidores de ficheros– Computadores personales– Multiprocesadores– Multicomputadores– Etc.
10Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Cómo se ve la actividad de un sistema
Vistas del sistema– Interna: administrador, diseñador– Externa: usuario
Magnitudes medibles– Consumo de tiempo– Utilización de dispositivos o recursos– Trabajo hecho por el sistema o por algún componente
Parámetros(configuración)
Medidascuantitativas
Carga
11Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Medidas de rendimiento
Tiempo de respuesta (response time)– Tiempo total desde el principio hasta el final de la actividad
• Tiempo de ejecución de un programa (s)
• Tiempo de acceso a un disco (ms)
Productividad (throughput)– Cantidad de trabajo hecho por unidad de tiempo
• Programas ejecutados por hora
• Páginas por hora servidas por un servidor web
• Correos por segundo procesados por un servidor de correo
• Peticiones por minuto procesados por un servidor de comercio electrónico
¡La más fiable e intuitiva para comparar rendimientos!
12Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Formas canónicas del rendimiento
13Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Ejemplo para un servidor web
14Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Representación no canónica
15Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Ejemplos de gráficas erróneas
16Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
¿Qué afecta al rendimiento?
Parámetros del sistema operativo– Tipos de sistema operativo– Políticas de planificación y gestión de procesos– Configuración del sistema de memoria virtual
Componentes hardware del sistema– Calidad y velocidad
Diseño de los programas– Localidad en las referencias
Distribución de la carga (load balancing)
17Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
¿Cómo podemos mejorar el rendimiento?
Actualización de componentes (upgrading techniques)– Reemplazamiento por dispositivos más rápidos– Añadir nuevas unidades
Ajuste o sintonización (tuning techniques)– Parámetros del sistema operativo– Parámetros de las aplicaciones informáticas
Algunos problemas prácticos– Actualización de componentes
• Compatibilidad con los existentes o facilidad del sistema– Biprocesadores, discos agrupados en matrices (RAID)
– Sintonización• Conocimiento profundo del sistema operativo
• Posible alteración de la fiabilidad
18Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
2. Técnicas de evaluación
¿Cómo podemos medir (o predecir) el rendimiento de un sistema informático?
19Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Contextos para obtener rendimiento
Carga real
Sistema real
Modelo del sistema real
Modelo de la carga real
Índices de rendimiento
Índices de rendimiento
Índices de rendimiento
¿Son iguales?
20Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
¿De qué técnicas disponemos?
Métodos y herramientas para estimar los índices de prestaciones– Monitorización del sistema real
• Herramientas de medida sobre el sistema real
– Referenciación (benchmarking) con sistemas reales o modelados
• Comparación del rendimiento de sistemas
– Modelado• Reproducción del comportamiento del sistema
– Métodos analíticos (redes de colas, cadenas de Markov, redes de Petri, ...)
– Simulación discreta (CSIM, SMPL, Simula, ...)
21Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
3. Comparación conjunta de prestaciones y coste
Relación de rendimientos: aceleración (speedup)
Relación rendimiento/coste
22Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Comparación de prestaciones
Perspectiva actual– Ejecutar los programas reales (o los más precidos a los
programas reales) para evaluar el rendimiento de un sistema
El computador más rápido es aquel que ejecuta la aplicación en el tiempo más corto
X Y
Programa
23Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Comparación de prestaciones
“El computador X es A veces más rápido que Y”
“El computador X es un n% más rápido que Y”
Hay que evitar: – “El computador X es un n% MEJOR que Y”– “El computador Y es un n% más LENTO que X”
Y
X
X
Y
oRendimient
oRendimient
ejecución de Tiempo
ejecución de TiemponAceleració
1000.1
oRendimient
oRendimient
ejecución de Tiempo
ejecución de Tiempo
Y
X
X
Y n
24Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Ejemplo de comparación de prestaciones
Un programa se ejecuta en 36 s en el computador VERDE y en 45 s en el computador ROJO
El computador VERDE es 1.25 veces más rápido que el ROJO
El computador VERDE es un 25% más rápido que el ROJO
100
250.125.1
s 36
s 45
Tiempo
Tiempo
VERDE
ROJO A
25Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Ejemplo de comparación de costes
El computador VERDE cuesta 625 €El computador ROJO cuesta 550 €
El computador VERDE es 1.14 veces más caro que el ROJO
El computador VERDE es un 14% más caro que el ROJO
100
140.114.1
€ 550
€ 625
Coste
Coste
ROJO
VERDE C
26Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Comparación de rendimiento y coste
En general, resulta una cuestión muy complicadaLa bibliografía no trata este tema de una forma
sistemáticaSe suele hablar de las relaciones siguientes:
– Rendimiento/coste (a maximizar)– Coste/rendimiento (a minimizar)
Optaremos por soluciones muy sencillas
27Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Ejemplo comparación prestaciones/coste
En comparaciones de sistemas, idealmente, siempre interesará elegir aquellas opciones que maximicen el cociente prestaciones/coste
En este caso, el computador VERDE presenta una relación ligeramente más alta que el ROJO
5
ROJOROJOROJO
ROJO 1004.455045
1
CosteTiempo
1
Coste
oRendimient
5
VERDEVERDEVERDE
VERDE 1044.425636
1
CosteTiempo
1
Coste
oRendimient
28Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
4. Límites en la mejora del rendimiento
La ley de Amdahl
La ley de Gustafson
Ejemplos de aplicación
29Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Mejora de un sistema
La mejora de un sistema no es ilimitada– Hay que saber hacia dónde dirigir los esfuerzos de optimización
La mejora de cualquier sistema debido a un componente más rápido depende del tiempo que éste se utilice
Discusión preliminar– Un sistema tarda un tiempo Toriginal en ejecutar un programa
– Mejoramos el sistema acelerando k veces uno de sus componentes
– Este componente se utiliza durante una fracción f del tiempo
Toriginal
– ¿Cuál es la aceleración A del sistema global?
30Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Tiempo original vs tiempo mejorado
Recurso no utilizado Recurso utilizado
Fracción 1 f Fracción f
Recurso no utilizado Recurso utilizado
Toriginal
Tmejorado
Recurso mejorado k veces
31Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Ley de Amdahl (1967)
¿Cuál es la aceleración A (speedup) del sistema completo después de acelerar k veces un componente?
Casos particulares de la ley– Si f = 0 A = 1: no hay ninguna mejora en el sistema– Si f = 1 A = k : el sistema mejora igual que el componente
mejorado
original
T
T A
k
ff1TT originalmejorado
kf
fA
1
1
32Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Ejemplo de cálculo
La utilización de un procesador es del 60%¿En cuánto aumentará el rendimiento del sistema si se
duplica la velocidad del procesador (k=2)?
Aceleración máxima que se puede conseguir
43.1
26.0
)6.01(
1
A El rendimiento aumenta 1.43 vecesEl rendimiento aumenta un 43%
5.2.60-1
1
-1
1lím
fA
k
33Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Contexto de la ley de Amdahl
Artículo firmado por Gene Amdahl– “Validity of the Single Processor Approach to Achieving Large-
Scale Computing Capabilities”, AFIPS Conference Proceedings, (30), pp. 483-485, 1967.
– Se utiliza para poner de manifiesto las limitaciones de los multiprocesadores en el cómputo paralelo
– No se enuncia como ley
f = 0.5
f = 0.95
34Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Análisis: relación entre A, f y k
1
2
3
4
5
6
7
8
9
10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Acc
eler
ació
glo
bal (
A)
Utilització millorada (f)
Relació entre A i f,a
k = Infinitok = 50k = 10k = 5k = 4k = 3k = 2k = 1.5
k =infinito A=2
k=infinito A=5
Utilización mejorada (f)
Ace
lera
ción
glo
bal (
A)
Relación entre A, f y k
35Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Generalización de la ley de Amdahl
Caso con una mejora solamente
Caso general con n mejoras
kf
fA
1
1
n
i i
in
ii k
ff
A
11
1
1
36Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Rendimiento de multiprocesadores
Sistema con p procesadoresAplicación a paralelizar
– Fracción secuencial = 0.10– Fracción paralelizable = 0.90
• ¿Cuál es la aceleración obtenida con 15 procesadores?
• ¿Cuál es la aceleración máxima obtenible?
25.6
1590.0
10.0
11
paralelasecuencial
p
ff
A
1010.0
11lím
secuencial
f
Ap
37Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
0,00
2,00
4,00
6,00
8,00
10,00
12,00
14,00
16,00
0 10 20 30 40 50
Procesadores
Acele
ració
n
Evolución de la aceleración
5% secuencial
8.82
6.25
10% secuencial
38Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Planteamiento de Gustafson
Amdahl enfatiza el aspecto más negativo del procesamiento paralelo
Las máquinas paralelas se usan para resolver grandes problemas (meteorología, biología molecular…)
Un computador secuencial nunca podría ejecutar un gran programa paralelo
pT
TA 1
paralela Parte1
secuencial Parte
39Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
La aceleración proporcional
La cantidad de trabajo que se puede hacer en paralelo varía linealmente con el número de procesadores– Con más procesadores se pueden acometer problemas de
mayor coste computacional
)1()1(
1
111 ppT
pTT
T
TA
pp
T1 = Tp
T’1
T1 (1−) T1
T1 (1−) p T1
Máquina paralela
Máquina secuencial
40Evaluación y modelado del rendimiento de los sistemas informáticos: Introducción a la evaluación del rendimiento
Algunas reflexiones finales
Una mejora es más efectiva cuanto más grande es la fracción de tiempo en que ésta se aplica
Para mejorar un sistema complejo hay que optimizar los elementos que se utilicen durante la mayor parte del tiempo (caso más común)
Campos de aplicación de las optimizaciones– Dentro del procesador: la ruta de datos (data path)– En el juego de instrucciones: la ejecución de las instrucciones
más frecuentes– En el diseño de la jerarquía de memoria, la programación y la
compilación: hay que explotar la localidad de las referencias• El 90% del tiempo se está ejecutando el 10% del código
Top Related