Professional Documents
Culture Documents
TEMA 1 INTRODUCCIN
Evaluacin del rendimiento de un sistema informtico.
Intenta determinar de qu forma un conjunto de programas est utilizando un hardware.
El conjunto de programas es la carga que est procesando el hardware. Segn sea la utilizacin se obtendrn
unas prestaciones.
El concepto de prestaciones no se puede desligar de la carga. Se debe evaluar la potencia del ordenador para
realizar un conjunto de tareas.
Sin embargo es necesario poder emitir un juicio sobre la eficacia de un sistema en muchas situaciones en las
que nos podemos encontrar.
Dificultades
La carga no es esttica.
Los ndices que se utilizan para medir las prestaciones son diferentes segn el tipo de
estudio o sistema informtico.
Siempre se intenta mejorar las prestaciones. Se debe negociar un nivel de servicio.
Las prestaciones son fundamentales en el diseo, seleccin, compra y utilizacin del sistema informtico.
Uno de los principales problemas en el anlisis de prestaciones es asegurar que los experimentos, se efectan
con la misma carga.
La carga real es difcil de repetir, por tanto deberemos ser capaces de repetir esa carga. Pero surge otro
problema, y es que la carga que utilicemos debe representar una carga hipottica.
Si lo que pretendemos es comparar diferentes equipos, adems de los problemas anteriores nos encontraremos
que los instrumentos de medida y los ndices que estamos utilizando pueden no ser exactamente los mismos.
Motivos de un trabajo de evaluacin
Un trabajo de evaluacin de prestaciones arranca de unas necesidades. No se empieza el
trabajo sin unos objetivos.
Se puede aplicar en todas las fases del ciclo de vida de un sistema informtico:
. en el diseo de una mquina
. en el diseo del sistema informtico
a la vez.
c) Sobrecarga (overhead): carga que se ha procesado y que no ha sido pedida explcitamente
por los usuarios.
d) Factor de carga de multiprogramacin: relacin entre el tiempo de respuesta de un
trabajo en un entorno de multiprogramacin y en uno monoprogramado.
e) Factor de ganancia de multiprogramacin: relacin entre el tiempo total de ejecutar un
grupo de trabajos en multiprogramacin y monoprogramacin.
f) Frecuencia de fallo de pgina: nmero de fallos de pgina que se producen por unidad de
tiempo en un sistema de memoria virtual paginada.
g) Frecuencia de swapping: nmero de programas expulsados de memoria por unidad de
tiempo.
Magnitudes no relacionadas directamente con las prestaciones
Fiabilidad: probabilidad de funcionamiento correcto en un intervalo de tiempo.
Disponibilidad: probabilidad de que en un instante pueda estar funcionando.
Seguridad: que funcione correctamente sin perjudicar a nadie o sufra averas en las que no
se comprometa a nadie.
Performabilidad: en sistemas que siguen funcionando con fallos, probabilidad de mantener
un nivel de prestaciones.
Facilidad para el mantenimiento.
Carga de prueba
Para evaluar el sistema hay que hacerlo funcionar bajo una carga.
Esta carga debe representar la carga real (el problema que tiene es que es muy variable,
quieres hacer unas modificaciones y la carga real que tienes en un momento no la tienes en
otro).
Carga de prueba: la utilizada para tomar las medidas. Debe ser representativa y
reproducible, puede ser real o sinttica.
Su principal caracterstica es que son externos al sistema que van a medir, lo que implica que:
no utilizan recursos del sistema
no producen interferencias
son rpidos
Inconvenientes:
difciles de instalar y utilizar
hay magnitudes que solo puede acceder el software
pueden producir errores en el hardware
Esquema sencillo monitor hardware:
reloj
mdulo contadores almacenamiento
lgico
Los monitores pueden hacerse ms complejos, con procesadores y memorias RAM para procesar y grabar los
datos. A su vez estos procesadores pueden tener unidades de E/S como pantallas, teclado, etc.
El caso ms sencillo es una seal de reloj y una variable a medir conectadas a una puerta and, y la salida
enviada a un contador. Se medir la cantidad de pulsos que la seal est activada.
Un ejemplo de un monitor hardware puede ser una analizador lgico.
Monitores hbridos
Suelen ser software que captan acontecimientos en el sistema operativo y los enva a un mdulo hardware que
est conectado al bus del sistema. El envo puede ser una instruccin de E/S.
El mdulo hw puede ser un procesador que graba el suceso recibido con una marca de tiempo. La informacin
se va procesando y se puede ir representando en una pantalla conectada al procesador del monitor.
As se disminuye la sobrecarga ya que el tratamiento del monitor se hace en otro sistema y se aumenta la
rapidez gracias a tener un hw dedicado.
Se suelen usar en el diseo de nuevas arquitecturas. Algunas arquitecturas paralelas los llevan incorporados.
Comparacin
Los monitores hardware:
ms caros.
ms difciles de utilizar.
10
no sobrecargan el sistema.
tienen ms resolucin.
son ms portables.
si el sistema falla pueden seguir midiendo y detectar la causa.
Dato que un monitor hardware no pude acceder: contenido de una posicin de memoria.
Dato que un monitor software no pude acceder: cantidad de instrucciones mquina ejecutadas.
Los monitores software:
pueden acceder a datos de ms alto nivel.
en principio no hay lmite al tipo de datos a los que pueden acceder (mayor mbito de
medida).
suelen ser ms baratos.
TEMA 3 REPRESENTACIN DE RESULTADOS
Introduccin
Toma de datos ! presentacin de resultados.
Para facilitar la interpretacin ! forma grfica.
La representacin debe ser clara, concisa, simple y fcil de utilizar.
Se puede utilizar todo tipo de grficos, segn los datos a representar.
Tipos de variables
Cualitativas: se definen por un conjunto de subclases mutuamente exclusivas que se expresan normalmente
con palabras. Pueden estar ordenadas (superordenador, miniordenador, microordenador) o no (carga
cientfica, de ingeniera).
Cuantitativas: sus distintos niveles se expresan numricamente. Pueden ser de dos tipos:
. Discretas: toman valores contables (ej. nmero de procesadores en un sistema).
. Continuas: toman valores no contables (ej. tiempo de respuesta de una operacin).
Si en el eje de abcisas (x) tenemos variables cualitativas o cuantitativas discretas, conviene usar grficos de
barras.
Recomendaciones para la construccin de grficos
Minimizar el esfuerzo del lector.
11
Maximizar la informacin.
Evitar la informacin innecesaria.
Seguir las pautas habituales.
Evitar ambigedad: identificar los datos y no mezclar muchos datos en la misma grfica.
No se deben poner curvas de diferentes unidades y con diferentes escalas en un mismo grfico.
La informacin debe evitar explicaciones.
Diagramas de Gantt
En un sistema se busca la utilizacin mxima de los recursos.
Para que est bien aprovechado, los recursos se deben utilizar a la vez.
Los diagramas de Gantt permiten ver la utilizacin de los recursos y el solapamiento en su utilizacin.
Es un tipo de grficas que es interesante para el anlisis del funcionamiento de un sistema informtico. En
general se utiliza para visualizar temporalmente los valores que toman un grupo de variables booleanas.
CPU 60
E/S 20 20
Red 30 10 5 15
0% 20% 40% 60% 80% 100%
Grficos de Kiviat
Permite caracterizar los problemas de forma rpida.
Se trata de un crculo donde los radios representan ndices de prestaciones.
La interseccin entre el radio y el crculo representa el 100%.
Normalmente el funcionamiento ideal tiene una forma determinada. De forma que al ver el grfico se
identifica rpidamente lo bien o mal que est funcionando el sistema y cuales son las partes causantes.
Normalmente se diferencian ndices beneficiosos (que es bueno que tengan valores altos) de valores
perniciosos como puede ser el ndice de paginacin el desaprovechamiento de algn recurso.
Grfico de Kiviat, versin de Kent:
1) Seleccionar un nmero par de variables a estudiar la mitad buenos ndices (a mayor valor, mejores
prestaciones) y la otra mitad malos ndices (mejores prestaciones a menor valor).
2) Se subdivide el crculo en tantos sectores como variables hay que representar.
12
tiempo de CPU.
operaciones de E/S.
espacio en memoria requerido
ficheros en disco.
mezcla de instrucciones.
tiempo medido de CPU entre operaciones de E/S.
nmero de usuarios
Carga de prueba
Carga que se procesa durante el periodo de medida.
Para hacer estudios de comparacin o de sintonizacin necesitaremos reproducir la misma carga. Reproducir
la misma carga es difcil aunque se ejecuten los mismos programas.
Se utilizan modelos de carga:
Ms difciles de repetir.
A veces la carga que se modela no existe (predicciones).
Caractersticas de los modelos de carga:
Repetible o reproducible.
Compacto, para reducir el tiempo de ejecucin.
Compatible con el tipo de estudio y con mquinas diferentes si es un modelo de carga
ejecutable.
Permite evitar problemas de privacidad o seguridad.
Si no es carga real, deben ser representativos.
Flexible, fcil de modificar para ajustarlo a variaciones de la carga a la que representa.
Independiente del sistema; que la representatividad del modelo no vare al cambiarlo de
sistema.
Sesin de medida
Intervalo de tiempo en el que se forman las medidas. No tiene porque ser continuo.
Normalmente habr varias sesiones de medida. En general unas medidas estarn destinadas a datos para
14
ajustar la carga de prueba y otras sern las medidas realmente aplicando la carga de prueba.
Utilizando varias sesiones de medida se intenta evitar que particularidades en una medida se tomen como un
comportamiento general.
Representatividad de un modelo de carga
Es la precisin con que un modelo representa una carga. La carga puede representarse a distintos niveles:
nivel fsico, nivel virtual, nivel funcional.
El modelo deber ser representativo atendiendo al nivel al que est asignado.
Representatividad a nivel fsico
Los modelo se caracterizan por el consumo de recursos fsicos.
Orientado al consumo de recursos fsicos.
Muy dependiente del sistema.
Datos para el modelo fciles de conseguir (S.O., monitores, hardware).
Las mayores aplicaciones de estos modelos son:
estudio de sintonizacin.
planificacin de capacidad residual.
diseo.
Representatividad a nivel virtual
Consumos de recursos lgicos.
Menor dependencia del sistema que en el modelo anterior.
Ms cercanos al usuario.
Parmetros ms difciles de obtener.
Se utilizan en estudios de ampliacin.
Ej. de componentes: sentencias de lenguaje de alto nivel, nmero de ficheros utilizados,
ordenes interactivas, espacio de memoria virtual.
Representatividad a nivel funcional
Se trata de modelos que realizan las mismas aplicaciones que la carga a la que representan.
Son bastante independientes del sistema.
15
Tambin se les llama benchmarks, aunque normalmente se llama benchmark a cualquier carga de test. Son
programas extrados de la carga real pero no es carga real porque los usuarios no los estn utilizando para
realizar trabajo til.
Cargas de test sintticas hbridas
Son una mezcla de programas extrados de la carga real y de carga artificial.
Permiten modelar parte de carga existente y parte inexistente (ej. ampliaciones de carga,
programas confidenciales).
Un ejemplo de esta situacin puede ser que se estudia la adquisicin de un nuevo software pero se quiere
preveer cmo responder el sistema, el cual ya se est utilizando para una serie de tareas.
Cargas artificiales
Pueden servir para cargar el sistema real o modelos de sistemas.
No utilizan componentes de la carga real.
Se les llaman artificiales porque estn construidas para ser modelos de carga. No son extracciones de la carga
real. Hay carga artificial que es ejecutable, es decir que son programas.
MIX (mezcla) de instrucciones
Se trata de medir la frecuencia de aparicin de las diferentes instrucciones. As pues hacer un modelo
representativo ser hacer una secuencia de instrucciones en las que la proporcin y frecuencia de aparicin
sean las mismas.
El problema de esta tcnica es que es difcil aplicarla de forma que solo evaluemos el procesador y no otros
aspectos como la gestin de memoria. Otro problema es que la comparacin slo sera vlida para
procesadores con el mismo juego de instrucciones.
MIX de instrucciones
Las frecuencias dependen de la carga.
Los tiempos dependen del procesador.
El sumatorio de la frecuencia por la carga dar el tiempo del MIX.
El en sumatorio segn el tipo de instruccin y carga se pueden dar pesos.
Se usaron para comparar procesadores.
Son muy dependientes del sistema:
gestin de memoria
secuenciamiento de las instrucciones
17
manejo de direcciones
MIX de sentencias
Compuesto por sentencias de lenguajes de alto nivel.
Son ms independientes del sistema pero muy dependientes del compilador.
La frecuencia de aparicin de las sentencias se puede medir:
a) Estticamente: medir la frecuencia de aparicin en los listados de los programas.
b) Dinmicamente: frecuencia con la que realmente se estn ejecutando las sentencias.
La forma dinmica es ms fiable pero ms costosa.
En caso de utilizarlos habra que controlar dos cosas: el grado de optimizacin del compilador y el tipo de
libreras que se utilizan.
El problema de la medicin esttica es que puede haber partes de un software que sean importantes en talla
pero que se ejecuten pocas veces.
La medicin dinmica es ms complicada porque hay que conocer las partes del programa que ms se utilizan
utilizando el software con diferentes datos para no representar un comportamiento muy particular.
Kernels (ncleo)
Fragmento de un programa que representa su parte ms caracterstica.
Son programas cerrados que tienen un consumo de recursos conocido.
Ej. funcin de Ackermann, Sieve, inversin de matrices, programas de ordenacin.
Se seleccionan segn su similitud con los programas de la carga real.
Hay que tener una precaucin al utilizarlos. Como son una parte de una aplicacin, puede que quepan enteros
en una cache, con lo que los resultados pueden ser muy buenos, pero si se probase la aplicacin entera seran
completamente diferentes.
Programas sintticos
No realizan trabajo til. Slo consumen recursos.
La cantidad de recursos consumidos se fija con parmetros de control:
for i:=1 to N1 do
Consume CPU
for i:=1 to N2 do
Consume E/S
18
Hay parmetros de correccin y calibrado para corregir el consumo que una parte del
programa introduce en otra.
Secuencias conversacionales
Para cargas transaccionales o conversacionales se utilizan ordenadores que simulan las
peticiones.
Se suele utilizar el propio sistema a medir para simular esa carga.
En una carga conversacional se suele hacer un guin que representa el comportamiento de
un usuario.
Ej. de guin:
1 Conexin al sistema
2 Editar un fichero y aadir lneas
3 Compilar
4 Editar
5 Compilar
6 Ejecutar
Tendramos dos sistemas conectados. Uno generara las peticiones como si fuesen los usuarios. El otro sera el
sistema bajo estudio y que se estara monitorizando para tomar las medidas.
Benchmarks
Son programas construidos con alguna de las tcnicas anteriores que producen una carga
genrica.
Se utilizan para la comparacin entre ordenadores.
No representan una carga especfica.
La ventaja de estas cargas de prueba es que se suele tomar como una carga de prueba estandar. Los fabricantes
y vendedores suelen apoyar su producto con resultados al aplicar alguno de estos benchmarks.
El gran inconveniente es que estas cargas de prueba pueden ser muy poco representativas de nuestra carga.
Cargas artificiales no ejecutables
Suelen basarse en medidas o procedimientos estadsticos que se utilizan en modelos basados
19
en redes de colas.
Se resuelven mediante simulaciones y mediante modelos analticos.
Por ejemplo en un modelo de redes de colas, la carga se caracterizar con datos como las tasas de llegadas,
tiempos de utilizacin de cada recurso, qu recursos necesita cada cliente y cuntas veces lo visita, ....
Implementacin
Especificacin: viene marcada por los objetivos del estudio de prestaciones. La
especificacin dar el nivel de detalle de los componentes de la carga de test.
Construccin: tendr una parte de extraccin de datos de la carga a representar y otra parte
de diseo en la que realmente se construye la carga de prueba.
Validacin: debe comprobar la representatividad de la carga de prueba y su validez para los
objetivos iniciales. Al realizar la carga de prueba debemos pensar de qu forma podemos
comprobar su es til para nuestro estudio o no.
Fase de especificaciones
Previsin del uso del modelo.
Sesin de medida.
Nivel de modelizacin.
Componente bsico de carga. La unidad de trabajo ms pequea que es considerada.
Parmetros a utilizar. (Segn el nivel de detalle y segn su disponibilidad).
Criterio para evaluar su representatividad.
Construccin
Anlisis de los parmetros. (Medidas sobre el sistema).
Extraccin de los valores representativos. De la cantidad de valores extrados en el punto
anterior, hacer una seleccin.
Mediante tcnicas estadsticas
Algoritmos de agrupamiento
Modelos markovianos
Asignacin de valores a los componentes del modelo. De valores representativos a
20
22