Introducción a la Evaluación del Desempeño

Anuncio
Tópicos Especiales en Evaluación de
Desempeño
Evaluación de Desempeño de
Sistemas Informáticos
Introducción
Prof. Mariela J. Curiel H.
M. Curiel
1
-
Definiciones
- Desempeño: Cuán bien hace un sistema
informático el trabajo que se supone que
tiene que hacer.
- Análisis de Desempeño: Combinación de
medidas, interpretación y comunicación de la
capacidad de un sistema
M. Curiel
2
¿ Para qué sirve la evaluación
del desempeño ?
Š El desempeño es un criterio clave en el diseño,
adquisición y uso de sistemas de computación.
Š La meta es lograr el mayor desempeño al
menor costo.
Š Para evaluar el desempeño de los sistemas se
necesita un conocimiento básico de la
terminología y ciertas técnicas.
M. Curiel
Mariela J. Curiel H.
3
1
Tópicos Especiales en Evaluación de
Desempeño
¿ Para qué sirve la evaluación
del desempeño ?
Š Comparar dos o más sistemas
Aceleracion = Tx Ty
Š Determinar el impacto de agregar/eliminar
un componente
Š Determinar el valor óptimo de uno o varios
parámetros (tuning).
Š Encontrar el dispositivo cuello de botella.
M. Curiel
4
Ejemplo de saturación del CPU
M. Curiel
5
¿ Para qué sirve la evaluación
del desempeño ?
Š Performance Debugging
Š Caracterizar la carga del sistema.
Š Determinar el tiempo que falta para que
nuestros sistemas se saturen.
Š Predecir el desempeño con una carga futura
M. Curiel
Mariela J. Curiel H.
6
2
Tópicos Especiales en Evaluación de
Desempeño
Problemas que se podrán resolver
al finalizar este curso
Š Seleccionar la técnica adecuada de evaluación
de desempeño y las métricas.
Š Seleccionar y caracterizar la carga de trabajo.
Š Realizar medidas en forma correcta.
Š Usar herramientas estadísticas adecuadas.
Š Diseñar experimentos para obtener la mayor
cantidad información con el menor número
posible de medidas o simulaciones
M. Curiel
7
Problemas que podremos resolver
al finalizar este curso
Š Realizar
correctamente
modelos
de
simulación e interpretar sus resultados.
Š Usar modelos de colas simples para analizar
el desempeño de ciertos tipos de sistemas
M. Curiel
8
Técnicas de evaluación del
desempeño
Sistema
Experimentar con
Un modelo
Experimentar
con el Sistema real
Modelo
matemático
Modelo Físico
Analítico
M. Curiel
Mariela J. Curiel H.
Simulación
9
3
Tópicos Especiales en Evaluación de
Desempeño
Técnicas de evaluación del
desempeño
Los métodos para evaluar el desempeño de los
sistemas informáticos se pueden dividir en dos
principales áreas:
evaluación basada en medidas y
evaluación basada en modelos.
M. Curiel
10
Técnicas de evaluación del
desempeño
Los modelos se fundamentan, en
general, en la teoría de colas y se
pueden tratar mediante los métodos
analíticos que proporcionan la teoría
de colas, o por medio de la
simulación
M. Curiel
11
Técnicas de evaluación del
desempeño
Exit
Disk1
p
Enter
Disk2
CPU
1-p
Disk3
Disk1
1-p
CPU
Disk2
p
Disk3
Terminals
Š En un QNM el sistema se
representa como una red de
colas.
Š Las estaciones o centros de
servicio son los recursos
(discos, CPU, etc)
Š Los clientes son los trabajos,
procesos, transacciones, o
cualquier otro tipo de entidad
activa.
M. Curiel
Mariela J. Curiel H.
12
4
Tópicos Especiales en Evaluación de
Desempeño
Técnicas de evaluación del
desempeño
Š Con los modelos analíticos se busca predecir
el comportamiento del sistema resolviendo
alguna clase de algoritmo o fórmula cerrada
(exacta o aproximada)
Š En la simulación se desarrolla un programa
que imita el comportamiento en el tiempo del
sistema bajo estudio, basándose en sus estados
y transiciones.
M. Curiel
13
Factores que influyen en la
selección de la técnica de
evaluación
Modelo
Analítico
Flexibilidad
Alto
Simulación
Medidas
Alto
Bajo
Costo
Bajo
Medio
Alto
Credibilidad
Bajo
Medio
Alto
Precisión
Bajo
Medio
Alto
M. Curiel
14
Factores que influyen en la selección de la
técnica de evaluación
Š Etapa del ciclo de vida del desarrollo del
software.
Š Tiempo disponible.
Š Herramientas disponibles.
Š Nivel de precisión deseado.
Š Costo.
Š Credibilidad de los resultados.
M. Curiel
Mariela J. Curiel H.
15
5
Tópicos Especiales en Evaluación de
Desempeño
Ejemplo
t1 = time();
buscarCache();
t2 = time();
T = t2 – t1;
if encontro break;
Else {
t1 = time()
buscarMemoria();
t2 = time()
T = T + (t2 – t1)
}
T = htc + (1 – h)tm
tc = tiempo de acceso al
cache
tm = tiempo de acceso a
la memoria
h = hit ratio
1 – h = miss
Modelo Analítico
Simulación
M. Curiel
16
Definiciones
Š Métricas: valor usado para describir el
desempeño de un sistema.
Š Parámetros: Todo lo que afecta las métricas.
Š Factores: Es un conjunto reducido de los
parámetros.
M. Curiel
17
Tipos de métricas
Para cada servicio hay varias salidas posibles:
Š Se prestó el servicio correctamente: Métricas de
rapidéz
Š Se prestó incorrectamente: Es útil clasificar los
errores y determinar las probabilidades de
ocurrencia. Métricas de confiabilidad
Š No se prestó el servicio: Es útil clasificar las fallas y
determinar las probabilidades de cada falla. Métricas
de disponibilidad.
M. Curiel
Mariela J. Curiel H.
18
6
Tópicos Especiales en Evaluación de
Desempeño
Métricas usadas comúnmente
Externas
Š Tiempo de Respuesta: es el intervalo de tiempo
que transcurre entre la solicitud de un usuario al
sistema y la respuesta de este último.
Š Throughput: es la tasa a la cual el sistema puede
atender las peticiones.
Š Capacidad: Máxima cantidad de trabajo útil que
se puede realizar por unidad de tiempo.
M. Curiel
19
Métricas usadas comúnmente
Internas
Š Longitud de Cola: es el número de clientes
(transacciones, mensajes, etc.) esperando por
recibir o recibiendo un servicio.
Š Utilización de los dispositivos: es la fracción de
tiempo en la que un recurso está ocupado
sirviendo peticiones.
Š Tiempo de servicio: tiempo que tarda un
dispositivo en servir una petición
M. Curiel
20
Tiempo de Respuesta
Capacidad
Teórica
1.0
throughput
0.8
Knee capacity
0.6
R
0.4 Nivel aceptable
0.2
0.0
0
Response
Time
Capacidad
Efectiva
2
4
6
8 10
Troughput (tps)
Load
M. Curiel
Mariela J. Curiel H.
21
7
Tópicos Especiales en Evaluación de
Desempeño
Tiempo de Respuesta
Tiempo
de respuesta
Def 2
Tiempo
de respuesta
Def. 1
Tiempo
de reflexión
tiempo
Usuario
Introduce
la peticion
Sistema
comienza
a procesar
la petición
Sistema
Sistema
comienza a Termina
responder de responder
Usuario
Introduce
la peticion
M. Curiel
22
Métricas usadas comúnmente
Š Confiabilidad: se mide usualmente como la
probabilidad de error o el tiempo medio entre
errores.
Š Disponibilidad: es la fracción de tiempo que
el sistema está disponible para atender las
peticiones de los usuarios.
M. Curiel
23
Clasificación de las métricas
Š Mientras más alto el valor, mejor: HB
(Higher is better). Ejm. el throughput
Š Mientras más bajo es el valor, mejor LB
(Lower is better). Ejm. El tiempo de
respuesta.
Š Nominal es mejor NB (Nominal is best):
No se desean ni valores altos ni bajos
para estas métricas. Ejm. La utilización.
M. Curiel
Mariela J. Curiel H.
24
8
Tópicos Especiales en Evaluación de
Desempeño
Características de una buena
Métrica
Š Linealidad
Š Confiabilidad
Š Repetibilidad
Š Facilidad de medir
Š Consistencia
M. Curiel
25
¿Cómo se establecen los
requerimientos de desempeño?
Š Se deben establecer de forma precisa,
evitando afirmaciones vagas tales como:
„
„
„
Los tiempos de respuesta deben ser
satisfactorios para los usuarios finales.
Algunos paquetes se pueden perder
La disponibilidad debe mejorar
M. Curiel
26
¿Cómo se establecen los
requerimientos de desempeño?
Š Se deben establecer metas específicas,
tales como:
- El tiempo medio entre fallas debe exceder las
10000 horas.
- El servidor de archivos debe tener una
disponibilidad de 98%.
- La probabilidad de perder un paquete debe ser
menor al 1%.
M. Curiel
Mariela J. Curiel H.
27
9
Tópicos Especiales en Evaluación de
Desempeño
¿Cómo se establecen los
requerimientos de desempeño?
Š Realistas: puedan lograrse con la tecnología y
un diseño sensato.
Š Razonables: los objetivos son una consecuencia
directa o indirecta de los requerimientos del
negocio.
Š Cuantificables: deben ser expresados en
términos numéricos
Š Medibles
M. Curiel
28
Pasos a seguir en un estudio de
evaluación del desempeño
Š Definir el sistema bajo estudio y establecer
las metas
Š Listar los servicios y las salidas
Š Seleccionar las métricas
Š Realizar una lista de los parámetros
Š Seleccionar los factores a estudiar
M. Curiel
29
Pasos a seguir en un estudio de
evaluación del desempeño
Š Seleccionar la técnica de evaluación a utilizar
Š Seleccionar la carga de trabajo
Š Diseñar los experimentos
Š Analizar e interpretar los datos
Š Presentar los resultados
M. Curiel
Mariela J. Curiel H.
30
10
Tópicos Especiales en Evaluación de
Desempeño
¿ Para qué sirve la evaluación
del desempeño ?
Š Comparar dos o más sistemas
Aceleracion = Tx Ty
Š Determinar el impacto de agregar/eliminar
un componente
Š Determinar el valor óptimo de uno o varios
parámetros (tuning).
Š Encontrar el dispositivo cuello de botella.
M. Curiel
31
Comparar Sistemas
Š Una manera sencilla de comparar el rendimiento de
diversos sistemas informáticos es utilizar como
medida de desempeño el tiempo de ejecución de un
programa o un conjunto de programas (carga de
prueba)
Š El computador más rápido es el que ejecutará el
programa en menor tiempo.
Š Los resultados dependen de la carga
M. Curiel
32
Comparar Sistemas
Š Todos los sistemas (hw o sw) tienen un
costo. Resulta muy útil relacionar el
rendimiento del sistema con el coste.
M. Curiel
Mariela J. Curiel H.
33
11
Tópicos Especiales en Evaluación de
Desempeño
Comparar Sistemas
Relación entre rendimientos
- Resulta interesante decir que el rendimiento
de un computador es el inverso del tiempo
que tarda en ejecutar un programa
- Cuanto más rápido se ejecute el programa,
más alto será el rendimiento del computador.
M. Curiel
34
Comparar Sistemas
Ty
Tx
Si Tx < Ty, el computador X tarda menos tiempo en ejecutar el
Programa. X es más rápido que Y. Cuántas veces más rápido?
M. Curiel
35
Comparar Sistemas
Aceleración =
Ty
Tx
A, Ar , ΔA
La aceleración representa el incremento de rendimiento de una
Máquina respecto de la otra.
“ X es tantas veces mejor que Y ”
X es un n% más rápido que Y
M. Curiel
Mariela J. Curiel H.
36
12
Tópicos Especiales en Evaluación de
Desempeño
Comparar Sistemas
Aceleración =
Ty
n
= 1+
Tx
100
Tx = 36 y Ty = 40 segundos
X es 40/36 = 1,11 veces más rápida que Y
1 + 0, 11 = 1 + 11/100
X es un 11% más rápido que Y
M. Curiel
37
Comparar Sistemas
Relación entre Costos
Š Cx y Cy, Cx > Cy
Incremento =
Cx
n
= 1+
Cy
100
X es tantas veces más caro que Y,
X es un n% más caro que Y
Resulta más intuitivo hablar de incremento de costos
M. Curiel
38
Comparar Sistemas
Relación Costo-Rendimiento
Re n dimientoy
Re n dimientox
vs
Costox
Costoy
Re n dimientox
1
1
−5
=
=
= 4,44*10
Costox
TxCostox 36 ∗ 625
Re n dimientoy
Costoy
=
1
1
−5
=
= 4,55*10
TyCostoy 40∗ 550
En general el índice que se utilice para expresar el rendimiento
depende de cada estudio en particular.
M. Curiel
Mariela J. Curiel H.
39
13
Tópicos Especiales en Evaluación de
Desempeño
La ley de Amdahl
Š Acota, de una manera muy sencilla, el incremento de
prestaciones que se obtiene en un sistema como
consecuencia de la mejora de una o varias partes del mismo.
Š Este incremento de rendimiento dependerá de la calidad de
las mejoras efectuadas, como del tiempo en que éstas se
utilicen.
Š Podemos decir que este incremento de prestaciones dará la
medida de cómo un computador rinde, en relación con un
rendimiento previo, después de efectuar en él una o varias
mejoras.
M. Curiel
40
La ley de Amdahl
Toriginal = Toriginal (1 − f ) + Toriginal f
Toriginal: tiempo que tarda en ejecutarse la aplicación.
- El objetivo es reducir este tiempo mejorando una de
las partes del computador.
- Durante la fracción de tiempo f el programa hace uso exclusivo
De un recurso del sistema (por ejemplo el procesador)
-Se puede expresar Toriginal como la suma de dos componentes
Disjuntos: uno que utiliza el componente y otro que no.
M. Curiel
41
La ley de Amdahl
Toriginal
Recurso no utilizado
Recurso utilizado
1- f
f
Recurso no utilizado
Recurso utilizado
Tmejorado
Recurso mejorado
K veces
M. Curiel
Mariela J. Curiel H.
42
14
Tópicos Especiales en Evaluación de
Desempeño
La ley de Amdahl
Toriginal f
Tmejorado = Toriginal (1 − f ) +
k
El incremento de prestaciones conseguido con la mejora del
recurso depende de la fracción de tiempo en que se emplea.
1
A=
1− f +
f
k
M. Curiel
43
La ley de Amdahl
Š La ley de Amdahl puede
generalizarse fácilmente al
caso en que se lleven a cabo
mejoras sobre más de un
A=
recurso.
Š Si se mejoran n recursos del
sistema en factores k1, k2,
..kn, y cada uno de ellos se
utiliza de manera exclusiva
durante las fracciones f1, f2,
…, fn, la mejora o aceleración
obtenida se puede expresar en:
n
1
n
f0 + ∑
i =1
fi
ki
, con f0 = 1 − ∑ fi
i =1
M. Curiel
44
Bibliografía
Š Daniel Menascé. Virgilio Almeida. Larry W. Dowdy.
Capacity Planning and Performance Modeling. Prentice
Hall, 1994.
Š Raj Jain. The Art of Computer Systems Performance
Analysis, Wiley, 1991.
Š David Lilja. Measuring Computer Performance.
Cambridge University Press. 2000.
M. Curiel
Mariela J. Curiel H.
45
15
Descargar