Вы находитесь на странице: 1из 22

ANALISIS Y DISEO DE SISTEMAS DE INFORMACIN I

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

. en la ampliacin o configuracin de un sistema informtico


. sintonizacin o ajuste. Sintonizar es equilibrar el consumo de recursos.
. caracterizacin y prediccin de la carga
En general los estudios de prestaciones sern necesarios cuando se necesite predecir el comportamiento o
mejorarlo.
Magnitudes a medir
Tanto el usuario como el responsable de un sistema tienen su idea sobre las prestaciones o
rendimiento.
Esta idea se basa en magnitudes o parmetros los cuales pueden tener relacin con:
. consumo de tiempos
. utilizacin de recursos
. trabajo realizado por el sistema o por partes del mismo
Por ejemplo para los usuarios una cosa determinante suele ser el tiempo de respuesta ante un comando
interactivo ligero. Para el responsable del sistema podra ser la velocidad con la que se procesan grandes
trabajos batch.
Hay tres tipos de medidas a partir de las cuales se calculan ndices de rendimiento:
1. Caractersticas fsicas del sistema.
2. Condiciones operativas del sistema durante el tiempo que se est haciendo el estudio.
3. Indices de prestaciones del sistema.
Variables perceptibles por el usuario (Variables o ndices externos)
Productividad (throughput). Para una carga dada es el trabajo til por unidad de tiempo
Capacidad: mxima cantidad de trabajo til por unidad de tiempo (mxima productividad
que puede obtenerse).
Tiempo de respuesta: tiempo en procesar un trabajo. Trabajo puede significar cosas
diferentes: transacciones, procesos, instrucciones...
Variables internas o del sistema
a) Factor de utilizacin: tiempo en el que un componente ha sido realmente utilizado.
b) Solapamiento de los componentes: tiempo en el que varios componentes se han utilizado
2

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.

La carga de prueba o de test suele formarse por componentes de carga.


En realidad se suele usar carga sinttica porque permite poder experimentar y reproducir situaciones a nuestro
gusto y sin tener que modificar el sistema real. En cambio en muchos casos hay que preocuparse de justificar
si esa carga sinttica es representativa de la situacin o carga que queremos reproducir.
Para comprobar esto ltimo habr que medir unas magnitudes para que podamos compararlas con las
obtenidas bajo carga sinttica.
Magnitudes para los componentes de la carga
Tiempo de CPU por trabajo.
Nmero de operaciones de E/S por trabajo. Conviene desglosarlo por tipo de dispositivos.
Prioridad.
Memoria.
Localidad de referencias: tiempo en el que las referencias permanecen en una pgina.
Magnitudes para el conjunto de la carga
Tiempo ente llegadas, entre dos peticiones.
Frecuencia de llegada, inversa del tiempo entre llegadas.
Distribucin de los trabajos: proporcin de los diferentes componentes de carga.
Para cargas conversacionales:
tiempo de reflexin del ususario: tiempo que el usuario de un terminal de un sistema
interactivo necesita para generar una nueva peticin al sistema.
nmero de usuarios: nmero de usuarios interactivos que trabajan simultneamente
sobre el mismo sistema en un instante dado.
intensidad del usuario: relacin entre el tiempo de proceso de una peticin y su tiempo
de reflexin.
Proposicin de soluciones
Para solucionar problemas de malas prestaciones:
Ajustar parmetros del S.O.
Modificar polticas de gestin del S.O. Puede que partes del S.O. adquirido no se adapten a
una carga en particular.
4

Equilibrado de la carga: el objetivo es que se utilice el mximo de recursos al mismo


tiempo.
Modificacin o sustitucin de componentes hardware. Debe perseguir el recurso ms
cargado.
Modificacin de programas. A efectuar por los usuarios, normalmente escapa al
responsable del sistema.
De lo que se trata es de mejorar el funcionamiento. Para ello habr que determinar dnde est el problema.
Luego habr que evaluar si se puede solucionar sin cambiar componentes hardware o si hay que adquirir
nuevo software.
Si se puede solucionar sin nuevas adquisiciones, intentar modificar la carga desde el punto de vista de la
explotacin para intentar quitar trabajo a los elementos ms solicitados.
Algunos parmetros del S.O.
Tamao del quantum.
Prioridad.
Factor de multiprogramacin: nmero mximo de trabajos que estn simultneamente en
memoria principal.
Tamao de la particin de memoria: cantidad fija de memoria principal asignada a una cola
de trabajos.
Mxima frecuencia de fallo de pgina. Si se sobrepasa este ndice se manda el proceso a
disco para que no aumente la sobrecarga.
Indice de supervivencia de pginas. Si una pgina no se ha utilizado un tiempo, se puede
devolver a disco.
Tcnicas en la evaluacin de sistemas
Monitorizacin: utilizacin de herramientas de medicin sobre el sistema informtico.
Modelado: para evaluar el comportamiento de un sistema en el que hay elementos que no
estn instalados. Se suelen implementar sobre la teora de colas y resolver mediante
mtodos analticos o simulacin (programa que representa el comportamiento de un
sistema. Se debe estar seguro de que se ha modelado bien el sistema y de que el programa
5

funciona bien. Se utiliza cuando no se conoce otro mtodo).


Benchmark: se trata de cargas utilizadas para la comparacin de sistemas o configuraciones.
Los mtodos analticos se basan en leyes que relacionan distintas partes del modelo. Se llega a crear un
modelo matemtico. En cambio estos modelos normalmente estn limitados para modelar comportamientos
extraos.
En los modelos de simulacin en principio se puede modelar cualquier cosa, pero suelen exigir mucho
tiempo de desarrollo y ejecucin. Adems son muy difciles de validar.
Las tcnicas de benchmarking suelen ser las ms sencillas y unas de las utilizadas, aunque muchas veces los
resultados obtenidos no dependen nicamente del benchmark, o el benchmark puede no ser representativo de
una carga real.
TEMA 2 HERRAMIENTAS DE MEDIDA
Monitor: herramienta utilizada para observar la actividad de un sistema informtico mientras est procesando
carga.
Observan el comportamiento.
Recogen datos estadsticos de la ejecucin de los programas.
Analizan los datos captados.
Presentan resultados.
El resultado de una medicin ser distinto unas veces de otras, ya que, normalmente, no es posible repetir las
mismas condiciones de carga y en los mismos instantes. Por ello se habla de monitorizacin y no de medicin
ya que lo que estrictamente se efecta es un seguimiento de la actividad realizada.
Utilidad:
Un administrador puede conocer la utilizacin de los recursos. Puede intentar soluciones y
comprobar el resultado.
Un usuario puede adaptar su carga a la del sistema.
Un analista de sistemas puede utilizarlo para caracterizar la carga, y crear cargas de pruebas.
Tambin puede servir para planificar el crecimiento de la carga. Sirve para extraer los
parmetros de los modelos.
Tambin hay sistemas adaptativos segn las condiciones de la carga.
Caractersticas del monitor
Sobrecarga o interferencia: consumo de los recursos necesarios para el propio monitor.

Precisin: nivel de error que pueden llevar los datos.


Resolucin: mxima frecuencia a la que se pueden detectar y registrar los datos.
Ambito o dominio de medida: caractersticas que es capaz de medir.
Anchura de entrada: nmero mximo de unidades de informacin que el monitor puede
extraer en paralelo.
Capacidad de reduccin de datos: capacidad para analizar, procesar y empaquetar los datos.
Compatibilidad: facilidad para adaptarse a otros entornos o requerimientos.
Precio: adquisicin, instalacin, mantenimiento, operacin.
Facilidad de instalacin: fcil de instalar y retirar.
Facilidad de utilizacin: sencillo, completo y agradable.
La sobrecarga hace que el monitor consuma recursos de lo que est midiendo. Esto hace que modifique los
resultados de lo que est midiendo. Ej. el programa top suele aparecer el mismo como gran consumidor entre
los procesos que ensea.
Clasificacin
Segn su implantacin:
Monitores software, que son programas o ampliaciones del sistema operativo que acceden al
estado del sistema, informando al usuario sobre dicho estado.
Monitores hardware, que son dispositivos electrnicos que se conectan a determinados
puntos del sistema.
Monitores hbridos, que son una combinacin de las dos tcnicas anteriores.
Segn su mecanismo de activacin se clasifican en:
Monitores de eventos o acontecimientos, son aquellos que se activan por la aparicin de
ciertos eventos. Si el evento ocurre con frecuencia producen ms sobrecarga. Se puede hacer
una traza de lo que est ocurriendo.
Monitores de muestreo, son aquellos que se activan a intervalos mediante interrupciones de
reloj. Segn la frecuencia de muestreo se llega a un compromiso entre resolucin y
sobrecarga. Para evitar el sincronismo entre la evolucin de los estados y los intervalos de

medida se utilizan intervalos aleatorios.


Y segn su forma de presentar los resultados se clasifican en:
Monitores en lnea, van presentando datos parciales.
Monitores batch, los datos se analizan cuando termina la ejecucin del programa.
Esquema conceptual
Sistema a medir
!!!!!
Interface instrumentacin
!
Filtro
!
Procesador
!
Registrador
!
Interpretador
La interfaz de instrumentacin es lo que conecta al monitor con lo que est observando. Por ejemplo si al
S.O. se aaden interrupciones software para detectar determinadas acciones, esas interrupciones seran la
interfaz.
El selector permite hacer un registro selectivo de las muestras o variables que nos interesan.
El procesador trata las muestras seleccionadas para poderlas registrar en el formato y con la informacin
adecuada que necesitar la memoria a que se destine y para que se pueda interpretar o analizar.
En algunos casos el analizador trabaja al mismo tiempo que el resto de elementos (on line) y en otros trabaja
en diferido.
Monitores software
La activacin del monitor implica la ejecucin de instrucciones. Pueden ser guiados por sucesos, por muestreo
o una mezcla de ambas tcnicas.
Insercin del cdigo del monitor:
Adicin de un nuevo programa, fcil de instalar y eliminar.
8

Modificacin del software a medir, basado en el uso de sondas software.


Modificacin del S.O., se suele utilizar para acceder a datos visibles desde el S.O.
Son programas que se ejecutan junto con los programas y en el sistema que miden.
Las sondas software son conjuntos de instrucciones que se insertan en puntos clave de un programa.
La prioridad de los monitores software deber ser mayor que la de los elementos que deba medir. Suelen
escribirse en el mismo lenguaje que el sistema operativo.
Monitor software por muestreo:
1) Un temporizador indica el momento del muestreo.
2) Se inhiben las interrupciones.
3) Se toman datos sobre las actividades suspendidas o sobre el estado de ciertos elementos.
4) Almacenar los datos.
5) Arrancar el temporizador.
6) Habilitar las interrupciones.
La utilizacin de registros temporales permite reducir el nmero de muestras.
La interferencia introducida se pude controlar fijando el periodo de muestreo. Este parmetro se debe
establecer de forma que los datos obtenidos sean fiables para el objetivo del estudio pero que no sea tan
pequeo que la interferencia introducida sea grande.
En algunos casos se pueden producir efectos de sincronismo entre fenmenos que se estn midiendo y la
frecuencia de muestreo. Para evitar este peligro se puede utilizar un periodo de muestreo generado
aleatoriamente pero donde se puede fijar la media.
Monitores software dirigidos por sucesos:
Por traps: cdigo que se inserta en partes del programa para extraer informacin cuando se
llega a esas partes.
Por interceptacin de interrupciones: se desva el tratamiento de una interrupcin a cdigo
del monitor donde se registran datos sobre el estado en ese momento y luego se sigue el
tratamiento de la interrupcin.
Monitores hardware
Se conectan al sistema a travs de sondas electrnicas.
Suelen utilizarse para ndices de prestaciones de bajo nivel.
9

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

3) Se numeran los radios en sentido horario.


4) Se asocian los buenos ndices a los radios impares y los malos a los pares.
CPU ocupada
CPU supervisor Solo CPU
CPU y cualquier canal
CPU usuario
Al menos un canal activo sin solape con CPU
CPU en espera
Al menos un canal activo
En un sistema ideal, todos los ndices buenos tendran valores altos y los malos, valores muy bajos. El grfico
de Kiviat de ese sistema, tendra forma de estrella.
TEMA 4 CARACTERIZACIN DE LA CARGA
Introduccin
Carga: demandas que realizan los usuarios de un sistema en un intervalo de tiempo.
No se puede hablar de prestaciones sin hablar de la carga con la que se han tomado las
medidas.
Para poder comparar diferentes sistemas y configuraciones, ser imprescindible aplicarles
una carga.
Necesidad de caracterizar la carga:
Tarea difcil debido a qu cambia con el tiempo
Realimentacin interna: sistemas adaptativos.
Realimentacin externa: introducidas por los usuarios.
Caracterizacin de la carga
Descripcin cuantitativa segn unos parmetros.
Los parmetros que describe la carga se seleccionan segn los objetivos de la caracterizacin.
Objetivos ! tcnica de estudio e instrumentos de medida de parmetros para describir la carga.
Ejemplo de parmetros para describir la carga:
13

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

Es difcil disearlo de forma sistemtica. A veces son bastante subjetivos.


Aplicaciones: seleccin de equipos, planificacin de la capacidad.
Cargas de test
Real
Sinttica: utilizan extractos de carga real. Natural o hbrida.
Artificial: no utilizan extractos de carga real
Ejecutables: Mix, Kernels, Programas sintticos, Benchmarks
No ejecutables: Distribuciones, Modelos de colas
Carga de test real
Barata
Representativa
Las sesiones de medida se deben seleccionar para que sean representativas del
funcionamiento normal o de la situacin de estudio.
La situacin que se quiere reproducir puede no darse en el instante deseado.
Poco reproducible porque es difcil que volvamos a crear la misma situacin a voluntad.
Poco flexible. (No se puede modificar la carga).
Puede haber problemas de confidencialidad.
No se puede usar en problemas de seleccin.
Se trata de la carga que realmente se est ejecutando en un sistema con todos sus usuarios y sus aplicaciones.
Lo nico que se tiene que seleccionar es durante cunto tiempo se est midiendo.
Carga de test sintticas naturales
Subconjunto de programas extrados de la carga real.
Se suelen usar en estudios de ampliacin, reposicin y seleccin.
Dificultades en la utilizacin de carga sinttica:
Prioridades de ejecucin
Parmetros diferentes en las monitorizaciones
Parmetros o ampliaciones de sistemas operativos y programas como compiladores
16

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

componentes ejecutables. El nmero de componentes aumenta la representatividad y


disminuye la compacidad.
Reconstruccin de mezclas de componentes significativos. Reproducir situaciones que se
producen en la carga real.
Muestreo de distribuciones de cada parmetro
Se calcula la funcin de distribucin de cada parmetro que se haya medido.
Se generan los componentes de la carga de test, generando una variable aleatoria que sigue
cada una de las distribuciones.
Este mtodo de extraccin de valores representativos es sencillo, en cambio presenta el inconveniente de
perder la relacin que hay entre los parmetros. Los diferentes parmetros los trata como distribuciones
independientes pero esto es falso y se pueden generar modelos de carga poco representativos.
Muestreo de los componentes de la carga real
Se muestrea la carga real y los parmetros de los componentes muestreados se incluyen en
el modelo de carga.
Un inconveniente es que la probabilidad de ser muestreado es proporcional al tiempo de
ejecucin.
Se puede corregir tomando una muestra cada n componentes ejecutados.
Esta es una forma sencilla de decidir los componentes que estarn en el modelo de carga de prueba. Para que
sea representativo debe haber bastantes muestras.
Los componentes del modelo se pueden construir con mtodos artificiales.
Mtodos de agrupamiento
Agrupar las muestras segn criterios de similitud para formar los componentes bsicos de la
carga.
Se basan en las distancias entre los elementos.
Una nube de puntos la convertimos en un nmero de puntos donde cada uno de ellos
representa un grupo de muestras.
Un paso previo a estos algoritmos consiste en normalizar los parmetros que caracterizan
cada punto de la nube:
21

A partir de la media y la desviacin tpica:


p'ik = (pik mk)/k i = 1...m (nmero de valores), k = 1...n (nmero de parmetros).
Media del parmetro Desviacin tpica

22