You are on page 1of 24

Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

1

Evaluacin y
Modelado del
Rendimiento de los
Sistemas
Informticos

Alumno: Romero Carlos Alberto
LU: 39188
Materia: Sistemas Operativos





Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

2


1 Introduccin a la evaluacin de rendimiento ........................................................................... 3
1.1 Relacin entre Rendimientos ........................................................................................ 3
1.2 El costo tambin cuenta ................................................................................................ 4
1.3 Relacin entre prestaciones y costo ............................................................................ 4
1.4 La Ley de Amdahl .......................................................................................................... 5
2 Monitorizacin de sistemas y programas ............................................................................ 6
2.1 Medida y monitor ............................................................................................................ 6
2.2 Herramientas ms comunes en Unix........................................................................... 8
2.3 El monitor sar .................................................................................................................. 9
2.4 Monitorizacin de programas ..................................................................................... 10
3 Anlisis comparativo de rendimiento ..................................................................................... 10
3.1 Medidas de rendimiento ................................................................................................... 11
3.2 Resumen de rendimientos ............................................................................................... 12
3.3 Estrategias de comparacin: ratios ................................................................................. 12
4 Introduccin al anlisis operacional ...................................................................................... 12
4.1 Estaciones de servicio ...................................................................................................... 13
4.2 Redes de colas de espera ................................................................................................ 14
4.3 Leyes Operacionales ........................................................................................................ 16
5 Aplicaciones del anlisis operacional..................................................................................... 21
5.1 Estimacin del rendimiento .............................................................................................. 21
5.2 Lmites asintticos ............................................................................................................. 23
5.3 Mejora del rendimiento ..................................................................................................... 24
6 Bibliografa ................................................................................................................................. 24






Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

3
1 Introduccin a la evaluacin de rendimiento
Una manera sencilla de comparar los rendimientos de diversos sistemas
informticos es utilizar como medida de prestaciones el tiempo de ejecucin de un
programa o, ms habitualmente, un conjunto de programas. Estos programas
representan la carga de prueba en la que se basarn los resultados del estudio
comparativo. Por otro lado las PC tienen un precio que depende tanto de costos
de diseo como de los de fabricacin y comercializacin. Por ello resulta muy
interesante relacionar el rendimiento de los sistemas informticos con el costo.
En lo que a nomenclatura se refiere, se emplearn los trminos rendimientos y
prestaciones de forma equivalente, traducciones ambas del trmino anglosajn
performance. A esta pareja de trminos podemos aadir un tercero, desempeo,
que es la variante ms empleada en el mbito hispanoamericano.
1.1 Relacin entre Rendimientos
En ocasiones resulta interesante hablar de rendimiento de una PC como el
inverso del tiempo que tarda en ejecutar un programa. De esta manera, cuanto
ms rpido ejecute el programa, ms alto ser su rendimiento.
Consideremos dos PC X e Y, los cuales tardan Tx y Ty unidades de tiempo,
respectivamente, en ejecutar este programa:
Si Tx = Ty diremos que el rendimiento de ambas mquinas es igual o
equivalente, ya que en ambas obtenemos el mismo tiempo de ejecucin.
Si Tx < Ty, esto es, la PC X tarda menos tiempo en ejecutar el programa.
Esta relacin nos permite afirmar que X es ms rpido que Y. Sin
embargo, nuestro objetivo es cuantificar esta relacin y decir que X es
tantas veces ms rpido que Y. El valor numrico al que nos estamos
refiriendo recibe el nombre de aceleracin speedup y se puede calcular
como la relacin entre el tiempo de ejecucin ms grande y el ms
pequeo:
Aceleracin = Ty/Tx
La manera de expresar esta aceleracin en palabras adquiere mltiples formas.
Por ejemplo se puede hablar de mejora y decir que X es tantas veces mejor que
Y. Finalmente, hay ocasiones en que esta aceleracin se expresa en trminos
porcentuales, esto es, X es un n% ms rpido que Y, en cuyo caso la relacin
anterior se expresa:
Aceleracin = Ty/Tx = 1 + n/100
Por ejemplo, que Tx = 36 y Ty = 40 segundos, podemos afirmar que X es 40/36 =
1,11 veces ms rpido que Y o, alternativamente, que X es un 11% ms rpido
que Y.
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

4
1.2 El costo tambin cuenta
La comparacin de precios entre PC se puede llevar a cabo de la misma manera
empleada para el rendimiento.
Si suponemos que Cx > Cy, entonces podemos escribir:
Incremento = Cx/Cy = 1 + n/100
En consecuencia, esta expresin nos permitir decir que X es tantas veces ms
caro que Y.
Ejemplo
Cx= 625 $ y Cy= 550 $
625/550 = 1,14 veces ms caro X o, alternativamente que es un 14% ms caro
que Y.
1.3 Relacin entre prestaciones y costo
Para realizar un anlisis conjunto de precio y prestaciones no queda ms remedio
que establecer algn tipo de conexin entre ambas, lo que podemos hacer es
dividir el rendimiento de cada computadora entre su costo y comparar ambas
cantidades.
RendimientoX/CostoX vs. RendimientoY/CostoY
Las cantidades anteriores nos pueden ayudar a conocer qu opcin de las dos, en
su conjunto, ofrece una mejor relacin entre el rendimiento obtenido y el precio
que se va a pagar por l. Ntese que resultar mejor aquel sistema que obtenga
el valor ms elevado.
Ejemplo
RendimientoX/ CostoX = 1 / 36 x 625 = 4,44 x 10^-5
RendimientoY/ CostoY = 1 / 40 x 550 = 4,55 x 10^-5
Otro posible contexto, diferente al anterior, viene dado cuando se trata de analizar
el efecto de una determinada mejora en un sistema informtico.
El valor del incremento se puede calcular dividendo el costo del equipo con el
componente aadido entre el costo de la PC original:
C = Nuevo Costo/Costo Original
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

5
Otra aproximacin consiste en considerar que el costo del elemento a reemplazar
hay que descontarlo del sistema, puesto que ya no forma parte de l. En este
caso el incremento de costo ser:
C = Costo Original CCR + CCN/ Costo Original
CCR = Costo Componente a Reemplazar.
CCN = Costo Componente Nuevo.
Sin embargo, e independientemente que haya reemplazo o no de componentes,
cuando se trata de comparar entre s diversas alternativas para la actualizacin de
un sistema, el enfoque anterior adolece que el incremento de coste del sistema
global puede estar muy influenciado por el costo original. Esto es as, sobre todo,
para aquellos componentes con mucha influencia en el rendimiento pero con poca
repercusin en el costo de todo el sistema.
1.4 La Ley de Amdahl
El incremento de prestaciones obtenido en un sistema como consecuencia de la
mejora de una o varias partes del mismo. Esta mejora, representada como
incremento de prestaciones dar la medida de cmo un PC rinde, en relacin con
un rendimiento previo, despus de efectuar en l una o varias mejoras.
Consideremos, para simplificar nuestro planteamiento, una PC que tarda un
tiempo Toriginal en ejecutar una determinada aplicacin, y que nuestro objetivo es
reducir este tiempo de ejecucin mejorando una de las partes de la computadora.
Supongamos que durante una fraccin f del tiempo original el programa hace uso
exclusivo de un recurso del sistema. En consecuencia, podemos expresar
Toriginal como la suma de dos componentes disjuntos: uno en el que no se utiliza
este componente ms otro en el que si se utiliza:
Toriginal =Toriginal x (1- f) +Toriginal x f

Fraccin 1- f Fraccin f



Tmejorado Recurso mejorado
K veces
Recurso no utilizado
Recurso no utilizado
Recurso utilizado
Recurso utilizado
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

6
Fig. 1.1. Tiempo original versus tiempo mejorado.
La Fig. 1.1 muestra grficamente la relacin entre el tiempo original y el tiempo
obtenido tras mejorar el recurso en un factor de K. El nuevo tiempo de ejecucin
Tmejorado que se obtendr despus de mejorar K veces el recurso afectado
puede calcularse teniendo en cuenta que el segundo sumando de la expresin
anterior se reducir en un factor de K.
Tmejorado =Toriginal x (1 - f) +(Toriginal x f) / k
Si dividimos ahora el tiempo original entre el tiempo mejorado obtendremos la
cuantificacin de la mejora de prestaciones global A obtenida, referida tambin de
manera abreviada como aceleracin (speedup).
A = 1 / (1 f + (f / k))
La expresin anterior recibe el nombre de ley de Amdahl. Podemos tener dos
casos particulares. Si f =0, entonces A = 1; es decir, cuando la fraccin de tiempo
en que se utiliza el componente mejorado es nula, no se consigue ninguna
aceleracin en el sistema global. Si f =1, entonces A = K; esto es, la aceleracin
obtenida en el sistema global ser equivalente al factor de mejora del componente
si ste se utiliza durante todo el tiempo.
A veces tambin resulta interesante, conocidas k y A, calcular la fraccin de
tiempo f. La expresin que relaciona estas variables, obtenida de la anterior, es la
siguiente:
f =k x (A - 1)/(A x (k - 1))
2 Monitorizacin de sistemas y programas
La monitorizacin es una tcnica de uso generalizado para supervisar, analizar y
evaluar el comportamiento y el rendimiento de los sistemas informticos que estn
en funcionamiento.
2.1 Medida y monitor
En general, la monitorizacin de sistemas informticos hace referencia a todo lo
relativo a la extraccin de informacin que permita conocer qu est sucediendo
en ellos. Esto conlleva una serie de problemas que a menudo no son fciles de
resolver. Entre otros, hay que decidir qu datos hace falta recoger, hay que saber
dnde se encuentran estos datos, y por ltimo, es necesario acceder a ellos de
manera que perturben lo mnimo en funcionamiento del sistema, para grabarlos
con vistas a su posterior anlisis.
La toma de medidas en un sistema informtico se puede hacer mediante dos
posibles tcnicas. La primera de ellas consiste en detectar todas las ocurrencias
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

7
de aquello que queremos conocer. La segunda, a diferencia de la anterior, implica
la toma de muestras a intervalos regulares de tiempo. La mayora de las
herramientas que monitorizan la actividad de los sistemas informticos emplean
una mezcla de las dos: se utilizan contadores de sucesos que muestren de forma
peridica. Este muestreo peridico permite un anlisis estadstico sencillo, toda
vez que el volumen de informacin recogida y su precisin dependern de la
cadencia con que se tomen las muestras.
Un monitor es una herramienta diseada para observar el comportamiento de un
sistema informtico. Desde el punto de vista de su implementacin, los monitores
se clasifican en dos grupos principales: hardware y software (vase la Fig. 2.1).

Sondas Electromagnticas





Fig. 2.1. Monitores.
Un monitor hardware es un dispositivo fsico, independiente del sistema a
examinar, que se conecta al mismo mediante un conjunto de sondas electrnicas.
Este tipo de monitores no usan recursos del sistema monitorizado y, por tanto, su
grado de intrusin es nulo. Sin embargo, presentan un difcil proceso de
instalacin, y se enfrentan a dos graves problemas. El primero de ellos es que
gran parte de la informacin relevante del sistema es difcil de conseguir mediante
sondas, ya que stas slo acceden a aquella informacin que se refleje en
posiciones fijas de memoria. El segundo, quizs ms importante incluso, es que el
diseo actual de la mayora de los equipos informticos, que emplea una escala
de integracin muy elevada, no facilita la conexin de este tipo de dispositivos de
medida.
El uso de programas aporta una gran flexibilidad en el proceso de monitorizacin,
aunque se paga el precio de un grado de intrusin ms elevado que en el caso de
los monitores hardware. Dado que la toma de medidas por un monitor software
implicar la ejecucin de un programa, y para ello se usar el procesador de la
PC, el simple hecho de monitorizar implicar la perturbacin del sistema sobre el
que se realiza la medida. El grado de distorsin en la medida suele estimarse
Sistemas Informtico
Monitor
Software

Monitor
Hardware
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

8
mediante una variable denominada sobrecarga del monitor (overhead), que viene
definida de la siguiente manera:
Sobrecarga = Tiempo de ejecucin del monitor / intervalo de medida
De la expresin anterior se deduce fcilmente que la sobrecarga del monitor se
puede minimizar haciendo grande el intervalo entre activaciones o disminuyendo
su tiempo de ejecucin.
2.2 Herramientas ms comunes en Unix
La mayora de los programas de monitorizacin hacen referencia a tres elementos
principales de la PC: procesador, disco y memoria. Sin embargo, hay otros
monitores con no menos importancia, como los que aportan informacin sobre la
carga del sistema, nmero de clientes conectados a la PC o tiempo de ejecucin
de un programa.
La primera orden que vamos a considerar es uname (system information), que
aporta informacin bsica sobre el sistema operativo y la mquina. La opcin -a
imprime toda la informacin disponible.
$ uname a
Carga del sistema
El sistema operativo Unix define la carga del sistema (system load average)
como el nmero medio de procesos en la cola del ncleo. El valor de la carga se
puede ver mediante la orden uptime.
$ uptime
Tiempo de ejecucin de un programa
La medicin del tiempo de ejecucin de un programa se lleva a cabo con la orden
time. Esta variable es de especial importancia porque refleja, de forma directa, la
percepcin que el usuario tiene de las prestaciones del sistema informtico. Por
ejemplo, para saber cunto tiempo necesitar la ejecucin del programa
quicksort, ejecutamos la orden:
$ time quicksort
Actividad de proceso
Una de las herramientas ms utilizadas por los administradores de sistemas para
saber qu procesos hay en ejecucin y cunta memoria consumen es top (top
CPU processes).
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

9
Este programa muestra, de manera dinmica, los procesos que estn
consumiendo tiempo de procesador ordenados de acuerdo con este consumo. La
informacin se actualiza cada 5 segundos, aunque este valor es configurable.
$ top
Actividad de memoria
El monitor vmstat (virtual memory statistics) muestra informacin relativa al
sistema de memoria, incluyendo datos sobre la memoria fsica y virtual. Adems,
ofrece datos relativos a la actividad de intercambio entre memoria y disco
(swapping), transferencias con el disco, interrupciones, cambios de contexto y
utilizacin del procesador. La sintaxis de esta orden es vmstat t n, donde t indica
el tiempo transcurrido (en segundos, normalmente) entre dos muestras
consecutivas, y n es el nmero de muestras.
$ vmstat 2 6
Actividad de los discos
El uso del sistema de ficheros (almacenamiento en disco) se puede examinar
mediante la orden df (filesystem disk usage).
$ df
2.3 El monitor sar
La orden sar (system activity reporter), por s sola, es una de las herramientas
ms potentes disponibles para los administradores de sistemas a fin de
monitorizar la actividad en una PC.
La utilidad principal de sar es de deteccin de cuellos de botella en el sistema.
Esta orden no solamente ofrece la posibilidad de mostrar lo que est ocurriendo
en el sistema cuando se ejecuta de manera interactiva, sino que tambin se
puede utilizar para guardar informacin sobre la carga y el estado del mismo en
ficheros histricos con el fin de examinarla con posterioridad.






/dev/kmen
Contadores
binarios
/proc
Contadores
ASCII
sadc
Fichero
histrico
(sadd)
pipe
sar
Informe
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

10
Fig. 2.3. Funcionamiento del monitor sar
2.4 Monitorizacin de programas
La monitorizacin o anlisis de programas (profiling) es una tcnica utilizada para
obtener informacin sobre la ejecucin de los mismos.
El cdigo fuente del programa a estudiar se debe compilar y enlazar
especificando las opciones necesarias para la monitorizacin. Esta fase
tambin se denomina instrumentacin, ya que dotamos al cdigo
ejecutable de los instrumentos necesarios para recoger informacin relativa
a su ejecucin.
El programa compilado con las opciones de anlisis correspondientes, esto
es, el programa instrumentado, se ejecuta para poder recoger los datos de
la monitorizacin en uno o varios ficheros (data profiles). Debido al
proceso de monitorizacin, la ejecucin del programa instrumentado se
puede ralentizar ligeramente respecto a la ejecucin del programa original.
En esta fase, se ejecuta la herramienta adecuada para leer la informacin
recogida durante la ejecucin del programa instrumentado.






Fig. 2.5. Etapas en la monitorizacin de programas
3 Anlisis comparativo de rendimiento
Cualquier asunto que involucre la medida de prestaciones de una PC y una
posterior comparacin con otros sistemas provocar, inevitablemente, opiniones
controvertidas.
La tendencia actual dentro del campo de la evaluacin de prestaciones se orienta
principalmente a utilizar ndices que tienen en cuenta el tiempo de ejecucin en
una PC de un conjunto de programas de prueba o de evaluacin (benchmarks).
El carcter y naturaleza de estos programas depende de qu se quiere evaluar de
un sistema informtico: desde un nivel ms bajo ligado a componentes (por
ejemplo, el procesador ms el sistema completo), hasta un nivel ms elevado
representado por el sistema completo (por ejemplo, un servidor web o un servidor
de correo electrnico).
Programa
original
Aadir
instrumentacin
Programa
instrumentado
Ejecutar
programa
Datos sobre
ejecucin
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

11

3.1 Medidas de rendimiento
De entre todas las magnitudes medibles de un sistema informtico susceptibles
de ser utilizadas como ndices de prestaciones, el tiempo en llevar a cabo un
actividad determinada representa la ms intuitiva tanto para el analista como para
el profano y, desde el punto de vista de la manipulacin matemtica, la menos
susceptible de incorporar subterfugios.
De hecho, ha sido ampliamente aceptado que el tiempo de ejecucin de un
programa representa la medida exacta del rendimiento de una PC: aquel que
ejecute la misma cantidad de trabajo en el menor tiempo posible ser el ms
rpido.
Incluso teniendo en cuenta lo que acabamos de decir, existen otros ndices de
rendimiento que, aun presentando inconvenientes, se siguen utilizando, con
mayor o menor acierto, en determinadas reas de la informtica. En particular,
nos referimos a los ndices MIPS, MFLOPS, MHz y CPI, todos ellos empleados
con profusin por los diseadores de procesadores.
La mayora de los ndices clsicos de prestaciones tienen como objetivo la
medida del rendimiento del procesador. Por ejemplo, el ndice MIPS (million
instructions per second) para un programa determinado de define como:
Nmero de instrucciones / Tiempo de ejecucin x 10 ^6
Otro de los ndices clsicos empleado para medir el rendimiento del procesador
en el tratamiento de nmeros en como flotante, especialmente en entornos de
grandes computadoras, es el MFLOPS (million floating point operations per
second), que computa el rendimiento en aritmtica de coma flotante y se define
como:
Numero de operaciones de coma flotante/ Tiempo de ejecucin x 10 ^6
La mayora de los textos acadmicos actuales que tratan sobre diseo del
procesador tienen en cuenta varios factores que intervienen en el tiempo de
ejecucin de un programa. En particular, este tiempo se expresa en funcin del
nmero I de instrucciones ejecutadas, del nmero medio de ciclos de reloj
necesarios para ejecutar una instruccin (CPI, clock cycles per instruction), y
del tiempo de ciclo de reloj tc:
Tiempo de ejecucin =I x CPI x tc
En la frmula anterior intervienen tres factores con implicaciones muy diferentes.
La variable I depende tanto del repertorio de instrucciones como del compilador
empleado en traducir el programa a lenguaje mquina. La variable CPI es un valor
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

12
promedio y depende de la implementacin que se haga del juego de
instrucciones. Por ltimo, el tiempo de ciclo o periodo de reloj tc depende de la
frecuencia de reloj a la que funciona el procesador.
3.2 Resumen de rendimientos
Aunque el rendimiento de una PC tiene diversas y numerosas dimensiones, la
mayora de las personas involucradas en el diseo y evaluacin del desempeo
de las PCs siguen reduciendo todo este espacio multidimensional a un nico
valor. El anhelo es que un simple nmero sea capaz de condensar toda la esencia
del rendimiento de un sistema, cantidad que, por otro lado, se emplear para
establecer comparaciones con otras PCs. Esta reduccin o unificacin de valores
se hace mediante las denominadas medidas de tendencia central: media,
mediana y moda. De todas estas alternativas, el clculo de medias o promedios
suele ser el que con ms asiduidad se emplea. De estas medias destacaremos
tres: la media aritmtica, la media armnica y la media geomtrica, sin dejar de
lado sus variantes ponderadas.
3.3 Estrategias de comparacin: ratios
El uso de ratios como ndices de prestaciones ofrece un amplio abanico de
posibilidades para comparar rendimientos. Un ratio consiste en un numerador y un
denominador. Muchos de los ndices utilizados en el mbito informtico son ratios
(por ejemplo, CPI o MFLOPS) o bien se basan en el uso previo de stos (por
ejemplo, una media de tiempos de ejecucin normalizados). Sin embargo, las
comparaciones llevadas a cabo utilizando ratios pueden resultar confusas y, a
menudo, afectadas de intereses partidistas. Para ilustrar los peligros que extraa
el empleo de ratios, a continuacin se muestran algunas peculiaridades derivadas
de su uso para comparar rendimientos.
4 Introduccin al anlisis operacional
El anlisis operacional forma parte de una serie de tcnicas, denominadas
analticas, empleadas en la estimacin del rendimiento de los sistemas
informticos. Estas tcnicas hacen uso de un modelo de comportamiento de la PC
y su carga, y calculan los ndices de prestaciones a partir de este modelo.
Desde un punto de vista amplio el computador puede concebirse como un
conjunto de dispositivos fsicos relacionados entre s y una serie de trabajos que
hacen uso de ellos. Los dispositivos comprenden, por ejemplo, el procesador, los
discos y la memoria, mientras que los trabajos representan los programas que se
ejecutan en la mquina.
Uno de los paradigmas que ms xito han tenido para modelar el comportamiento
de los sistemas informticos es el basado en redes de colas de espera (queueing
networks) introducido por Jackson en la dcada de 1950. Aunque hayan pasado
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

13
ms de cincuenta aos de su aparicin, este tipo de modelos es, principalmente,
estimar el tiempo que un trabajo necesita para que sea procesado por el sistema
informtico.
Dentro del marco que establecen los modelos basados en redes de colas de
espera, el anlisis operacional, presentado por Buzen y Denning a finales de la
dcada de 1970, aborda la construccin de modelos de colas dejando de lado
hiptesis estadstica de difcil verificacin. En este sentido, las tcnicas que
provee el anlisis operacional comprenden una serie de relaciones muy sencillas
entre variables directamente observables del sistema informtico. En este
contexto, la palabra operacional equivale a directamente medible. As, una
hiptesis operacionalmente comprobable es una hiptesis que puede ser
verificada por medida. Por ejemplo, una hiptesis cuya veracidad es fcilmente
comprobable usando tcnicas de medida puede ser la siguiente: el nmero de
llegadas de peticiones a un sistema es igual al nmero de finalizaciones, en un
tiempo suficientemente largo.
4.1 Estaciones de servicio
Una estacin de servicio (service station, queue) es un objeto abstracto
compuesto por un servidor y una cola de espera. El servidor representa al recurso
fsico de la PC, mientras que la cola de espera modela la cola de trabajos que
esperan recibir servicio (esto es, aguardan a utilizar el recurso fsico).
Los parmetros temporales ms importantes de una estacin de servicio desde el
punto de vista del rendimiento son dos: el tiempo de servicio y el tiempo de
respuesta. El primero es el tiempo que transcurre desde que un trabajo empieza a
utilizar el recurso hasta que lo deja libre. El segundo incluye este tiempo de
servicio ms el tiempo que el trabajo pasa aguardando en la cola de espera.
Cuando se puede atender a ms de un trabajo en paralelo, las estaciones de
servicio incluyen ms de un servidor. La figura 4.1 nuestra grficamente tres tipos
de estaciones de servicio: con un nico servidor y una cola de espera (a), con dos
servidores y una cola de espera (b), y con infinitos servidores (c), la cual no tiene
cola de espera porque los trabajos que llegan siempre encuentran un servidor
disponible.

(a) (b) (c)
Fig. 4.1. Diferentes estaciones de servicio
Cuando una estacin tiene infinitos servidores se dice que es de tipo retardo, ya
que los clientes no esperan para adquirir un servidor. Cuando esto no ocurre, esto
es, la estacin tiene un nmero finito de servidores, se dice que la estacin es de
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

14
tipo cola, y los clientes pueden sufrir demoras debidas a la espera hasta conseguir
un servidor libre.
4.2 Redes de colas de espera
El comportamiento de la mayora de los sistemas informticos est caracterizado
por la presencia de varios puntos de congestin originados por la comparticin de
recursos. En estos casos es difcil, y a veces demasiado restrictivo, representar el
comportamiento del sistema mediante una nica estacin de servicio como las
que acabamos de describir. En su lugar, resulta ms adecuado modelar
explcitamente los diferentes puntos de congestin del sistema. El modelo
resultante es una red de colas, es decir, un conjunto de estaciones de servicio
interconectadas a travs de las cuales circulan los trabajos siguiendo un patrn
determinista o probabilista.
Formalmente podemos definir una red de colas como un grafo dirigido cuyos
nodos son las estaciones de servicio. Los arcos entre estos nodos indican las
transiciones posibles entre las estaciones. Los trabajos que circulan a travs de la
red pueden ser de clases diferentes. A su vez, los trabajos de clases diferentes
pueden seguir recorridos distintos a travs de la red.
Las redes pueden ser clasificadas segn los tipos de trabajos que circulan por sus
estaciones. Si en todas las estaciones de la red los trabajos tienen el mismo
comportamiento, tanto en lo que se refiere a los tiempos de servicio como en lo
que atae al camino que siguen, decimos que la red tiene una nica clase de
trabajos (monoclase). En una red con varias clases de trabajos (multiclase) los
trabajos de una misma clase siguen un patrn idntico de comportamiento,
probablemente diferente del resto de las clases, en lo que se refiere a tiempos de
servicio y/o encaminamiento.
Las redes tambin pueden ser clasificadas segn tipologa del grafo subyacente.
Las redes abiertas se caracterizan por la existencia de, al menos, una fuente de
trabajos y uno o ms sumideros que absorben los trabajos que salen del sistema
y, as mismo, la posibilidad de encontrar al menos un camino que, a partir de cada
nodo, lleve a un sumidero. Las redes abiertas se emplean para modelar el
comportamiento de sistemas que soportan cargas tradicionales. En una red de
este tipo el nmero de trabajos que hay en el sistema vara con el tiempo. La
productividad de una red abierta suele ser un dato conocido porque su valor es
igual a la tasa de entrada al sistema. Los ndices que interesan de este tipo de
redes son el tiempo de respuesta y el nmero de trabajos dentro del sistema. En
la fig. 4.2 se muestra una red de colas abiertas que comprende tres estaciones de
servicios; en ella tambin se pueden apreciar sendos smbolos que identifican a la
fuente de trabajos y el sumidero de la red.
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

15

Fig. 4.2. Ejemplo de red de colas abierta
Las redes cerradas son redes en las cuales los trabajos ni entran ni salen y, por
tanto, su nmero permanece constante. En algunos casos interesa contemplar un
modelo de colas cerrado como un sistema en el que la salida est unida a la
entrada, de manera que los trabajos que salen del mismo, inmediatamente,
regresan a l. Con esta visin del sistema, el flujo de trabajos a travs del enlace
entra la salida y la entrada define la productividad de la red. En estas redes
resulta de gran inters conocer el tiempo de respuesta y la productividad. Los
sistemas con carga de tipo interactivo y con carga por lotes (batch) se modelan
mediante redes cerradas. La fig. 4.3 muestra un ejemplo de ese tipo de redes.
Ntese que la estacin con infinitos servidores se suele utilizar para representar el
tiempo transcurrido entre la finalizacin de una peticin al sistema y el comienzo
de una nueva, y que, como tal, no modela ningn dispositivo fsico del sistema
informtico. En caso de que la carga fuera por lotes la estacin con infinitos
servidores desaparecen del modelo y se unira la salida con la entrada de esta
estacin.


Fig. 4.3. Ejemplo de red de colas cerrada

Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

16

4.3 Leyes Operacionales
a) Ley de la utilizacin:

B
i
/ T = (C
i
/ T)*(B
i
/ C
i
) U
i
= X
i
* S
i


La utilizacin es igual al flujo de clientes por el servicio medio que pide cada uno.

b) Ley de Little:
W, tiempo acumulado en el sistema. Peticiones * unidad de tiempo. N = W / T,
nmero medio de peticiones en el sistema.
R = W / C, tiempo medio de residencia en el sistema por peticin.
W / T = (C / T)*(W / C) N = X * R, el nmero medio de peticiones en el sistema
es la productividad por el tiempo medio de residencia de cada peticin en ese
sistema. La ley de Little se aplica a diferentes niveles. Cada nivel tendr sus
parmetros.
Nivel 1: Aplicacin de la ley a un nico recurso, sin incluir la cola del mismo. En
este nivel, el recurso es utilizado siempre que haya una peticin presente;
por ello la utilizacin del recurso es igual a la proporcin de tiempo durante la
cual est presente una peticin, que tambin equivale al nmero medio de
peticiones presentes.
Poblacin: utilizacin del recurso (Hay uno o 0 peticiones) en un instante de
tiempo. Productividad: tasa de satisfacciones de peticiones.
Tiempo de respuesta: tiempo medio de servicio requerido por una peticin en el
recurso (ya que el retardo en la cola de espera no est incluido).
Nivel 2: Aplicacin de la ley al mismo recurso incluyendo su cola de espera.
Poblacin: nmero total de peticiones en la cola o en servicio.
Productividad: tasa de satisfaccin o terminacin de servicios o peticiones.
Tiempo de respuesta: tiempo medio que una peticin pasa en el recurso (tiempo
de espera en cola + tiempo de servicio).
Nivel 3: Aplicacin de la ley al subsistema central (el sistema sin los terminales).
Ya no se est interesado en las visitas a un recurso en particular, sino en
interacciones a un nivel de sistema.
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

17
Poblacin: nmero de usuarios en el subsistema central (aquellos usuarios que
no estn pensando).
Productividad: tasa a la que las interacciones fluyen entre los terminales y el
subsistema central.
Tiempo de residencia: nocin convencional de tiempo de respuesta, es decir, el
perodo de tiempo desde que un usuario enva una peticin hasta que la
respuesta es devuelta al usuario.
Nivel 4: Paliacin de la Ley a todo el sistema incluyendo los terminales. Cambia la
definicin de peticin; ya no se est interesado en las interacciones a nivel de
sistema, sino en el ciclo completo de una interaccin entre sistema y terminales.
Poblacin: nmero de usuarios interactivos.
Productividad: tasa a la que fluyen las interacciones entre los terminales y el
sistema.
Tiempo de residencia: suma del tiempo de respuesta ms el tiempo de reflexin
de los usuarios.
Si se denomina Z al tiempo medio de reflexin, se puede escribir la ley de little a
este nivel (4) de la siguiente manera:
N = X(R + Z)
Que se suele expresar como la Ley de tiempo de respuesta de un sistema
interactivo:
N = (N / X) Z
Ejemplo
En un entorno interactivo se dispone de las siguientes medidas:
- 12 terminales.
- 8.3 terminales trabajando por trmino medio.
- Productividad del sistema 0.6 interacciones/sg.
- Disco del nivel 1: Sirve 35 peticiones/Sg. Tiempo de servicio por peticin
0.0235Sg. Nmero medio de peticiones presentes 6. Se pide:
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

18
a) Nmero medio de peticiones recibiendo servicio en el disco 1:
U = S * X 35 * 0.0235 = 0.8225, que tambin ser el nmero medio de peticiones
sirvindose.
b) Tiempo medio de residencia de una peticin en el disco 1:
R = N / X 6 / 35 = 0.17 Sg.
c) Tiempo medio de espera en cola de una peticin en el disco 1:0.17 y el tiempo
de servicio del disco es de: 0.0235, entonces el tiempo medio de espera es:

T cola = 0.17 - 0.0235 = 0.1465 Sg.
d) Nmero medio de peticiones en cola de espera del disco 1:
Peticiones en cola + peticiones en servicio = 6 Hay una media de 0.8225 peticiones
en servicio.
Numero medio de peticiones en cola = 6 - 0.8225 = 5.1775
e) Tiempo medio de respuesta percibido por el usuario:
R = N / X = 8.3 / 0.6 = 13.83 Sg. En este caso N = 8.3 representa la media de usuarios
trabajando.
f) Tiempo de reflexin de los usuarios (Z):
Aplicamos Little a todo el sistema. La poblacin ser el nmero total de usuarios (12
terminales).
R = (N / X)-Z Z = (N / X)-R = (12 / 0.6) 13.88 = 6.12Sg.
c) Ley del flujo forzado:

- Relaciona la productividad del sistema con las productividades de los
recursos individuales.
- Todas las productividades deben ser proporcionales en todas las partes del
sistema.
- Razn de visita de un recurso: relacin entre el nmero de terminaciones en
un recurso y las terminaciones en el sistema.
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

19
- Se puede ver como el nmero de peticiones de un recurso que hace una
interaccin del sistema.
Vk = Ck / C, recurso k.
C son las interacciones a nivel de sistema. Xk = Vk * X
Demanda de servicio a un recurso: Dk = Vk * Sk
La ley del flujo forzado relaciona los parmetros de todas las partes del sistema.
- Xk = Ck / T = (Ck / C)*(C / T) = X * Vk
- Xk = X * Vk, es una relacin entre la productividad total y la de un recurso.
- En un sistema batch cada trabajo requiere una media de 8 accesos a un disco
especfico.
- Ese disco atiende 14 peticiones/sg.
- La productividad del sistema (del disco)?
X = Xk / Vk = 14 / 8 = 1.75 trabajo / sg.
- Si otro disco sirve 19 peticiones/Sg. Cuntos accesos requiere un trabajo a
ese mismo disco?
Vk = Xk / X = 19/ 1.75 = 10.86 accesos
Supuesto del equilibrio de flujo
- Para que un sistema funcione las llegadas deben ser igual a las salidas: A = C
- Por tanto podemos decir que las tasas de llegada y salida tambin son iguales:
= X
Distribucin en las colas
Consideremos de nuevo el sistema general descripto en el esquema de la estacin
de servicio, sin ninguna de las hiptesis que se han incorporado.
Asociadas a cualquier sistema de servicio general se pueden definir tres distribuciones
de la longitud de la cola:
La distribucin global, P(n), que da la proporcin de tiempo que hay n trabajos en el
sistema.
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

20
La distribucin de la llegada, PA(n), que da la fraccin de llegadas que
encuentran n trabajos en el sistema.
La distribucin de la salida, PC(n), que da la fraccin de salidas que dejan n
Trabajos en el sistema.
Cada distribucin corresponde a un distinto modo de observacin de la cola.
El esquema muestra la longitud n(t) de una cola durante un periodo de 10
segundos en el que se aprecian 3 llegadas y 4 salidas. En consecuencia, la tabla
que representa las tres distribuciones es la siguiente:

N P(n) PA(n) PC(n
)
O 1/10 - -
1 4/10 1/3
2 3/10 1/3 2/4
3 2/10 1/3

Se pueden calcular las siguientes magnitudes:
S(n) = T(n) / C(n), tiempo medio entre salidas cuando n(t) = n (definido solo si C(n)
es mayor que 0).
(n) = A(n) / T(n), frecuencia de llegada cuando n(t) = n (definida solo si A(n) es
mayor que 0).
B = Sumatoria de los Ti (B = T1 + T2 + .. Tn) S = B / C, tiempo medio entre salidas.
= A / T, frecuencia de llegada.
= A / (T T(n)), frecuencia de llegada restringida (definida solo si T(n) es menor
que T).
W = T(1) + 2T(2) + 3T(n) + ... + NT(n), trabajos x segundo de tiempo de espera
acumulado.
Q = W / T, longitud media de la cola.
R = W / C, tiempo medio de respuesta de los trabajos terminados.


Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

21
5 Aplicaciones del anlisis operacional
En particular, se van a presentar dos algoritmos de resolucin con el fin de
obtener una estimacin del tiempo de respuesta y de la productividad de un
sistema informtico modelado mediante una red de colas de espera. En
particular, las redes que consideraremos sern muy sencillas: habr una nica
clase de trabajos y supondremos que tanto los tiempos de servicio de las
estaciones como los tiempos entre llegadas de trabajos en los modelos
abiertos se distribuyen de forma exponencial. Esta simplificacin de la realidad
que se modela resulta, en muchas ocasiones, satisfactoria para los tiempos
entre llegadas, aunque no tanto para los tiempos de servicio. Sin embargo, en
conjunto podemos considerarla como una aproximacin aceptable de la
realidad, aunque en ltima instancia esto depender del tipo de sistema que se
est considerando.

Junto con la estimacin del rendimiento por medio de un algoritmo de
resolucin a un modelo de colas de espera, tambin contemplamos la
alternativa de calcular los valores ms optimistas del rendimiento que podemos
esperar de un sistema informtico. Estos lmites, que reciben el adjetivo de
asintticos, se pueden establecer de una manera muy sencilla sin necesidad de
emplear ningn algoritmo de resolucin, y nos proporcionarn una cota
superior tanto del tiempo de respuesta como de la productividad alcanzable por
el sistema.

Finalmente, hablaremos brevemente sobre las alternativas de que disponemos
para actuar sobre un sistema informtico con el fin de mejorar su rendimiento.
Veremos que, mediante el anlisis de un modelo de colas, bien sea aplicando
los algoritmos de resolucin o los lmites asintticos, resulta sencillo evaluar
cuantitativamente el efecto que una determinada terapia tiene sobre las
prestaciones del sistema.
5.1 Estimacin del rendimiento
En este apartado vamos a presentar de forma resumida dos algoritmos clsicos
para resolver modelos de colas sencillos y estimar as el rendimiento del
sistema, el cual vendr dado por el tiempo de respuesta y la productividad.
Para ello partiremos de dos hiptesis. La primera establece que si un trabajo
est sirvindose en una estacin, el tiempo que le falta para abandonar el
servidor es independiente del tiempo que ya lleva en servicio. La segunda
hiptesis en la siguiente: en un sistema abierto, el tiempo que transcurre hasta
la prxima llegada es independiente del instante en que se produjo la ltima.
Estas dos hiptesis equivalen a suponer que tanto la distribucin del tiempo de
servicio de las estaciones como la distribucin del tiempo de llegadas en un
modelo abierto son exponenciales. Debido a sus propiedades estadsticas, se
dice que esta distribucin carece de memoria (memoryless property).

Antes de plantear los algoritmos de resolucin introduciremos una expresin
para calcular el tiempo de respuesta de una estacin de servicio i de tipo cola.
Esta expresin adquiere la forma:

Ri = (Ni + 1) x Si (5.1)

Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

22
Y puede justificarse de la siguiente forma: un trabajo que llega a la estacin i
encuentra Ni trabajos en ella y esperar Ni x Si unidades de tiempo a que se
sirvan, ms Si para recibir su propio servicio. Ntese que se est utilizando la
propiedad de que el tiempo de servicio de distribuye exponencialmente (carece
de memoria) y, por tanto, no es necesario tener en cuenta el tiempo de servicio
ya recibido por el cliente que est en el servidor cuando se produce la llegada.

Esta propiedad de carencia de memoria no puede ser comprobada
operacionalmente, y por lo tanto la ecuacin no constituye una ley operacional.
Ntese que, operando sobre la expresin anterior y sustituyendo Ni por Xi x Ri
(ley de Little), podemos relacionar el tiempo de respuesta de una estacin i con
su tiempo de servicio Si y su utilizacin Ui:

Ri =(Xi x Ri +1) x Si entonces Ri =Si / (1 Xi x Si) =Si / 1- Ui (5.2)

Mediante esta ltima relacin que permite calcular fcilmente Ri y las leyes
operacionales que hemos visto en el capitulo anterior podemos plantear sendos
algoritmos para resolver redes abiertas y cerradas, respectivamente.

Algoritmo para redes abiertas

Como punto de partida supondremos conocidos la razn de visita Vi y el tiempo
de servicio Si de las K estaciones de la red (sean de tipo cola o de tipo
retardo). Como se ha dicho antes, tanto los tiempos de servicio como los
tiempos entre llegadas se suponen distribuidos exponencialmente. As mismo,
se supondr conocida la tasa de llegada (lambda) al sistema, la cual ser igual
a la productividad del sistema, ya que suponemos vlida la hiptesis del flujo
equilibrado de trabajos. El objetivo del algoritmo es calcular las variables: Xi, Ni,
Ri y Ui, para cada estacin, y R y N para toda la red.

As pues, en primer lugar podemos calcular la demanda de servicio de cada
estacin haciendo Di = Vi x Si. Las utilizaciones Ui se obtienen mediante la
expresin Ui = lambda x Di, y las productividades Xi haciendo Xi = lambda x
Vi. En estos momentos ya podemos calcular Ri, que ser igual a Si / (1 - Ui) si
la estacin es de tipo cola o bien Si si es de tipo retardo. El nmero de trabajos
en cada estacin se obtiene aplicando la ley de little Ni = Xi x Ri.

Finalmente, el tiempo de respuesta del sistema de obtiene a partir de los Ri y
Vi aplicando la ley general del tiempo de respuesta:

R = Vi x Ri con i= 1 a i= k

Y el nmero de trabajos es el mismo se calcula sumando los trabajos
contenidos en todas las estaciones del modelo:

N = Ni con i= 1 a i= k

O bien aplicando la ley de Little al sistema completo.

Algoritmo para redes cerradas
Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

23

Este algoritmo tambin se denomina anlisis del valor medio. Igual que en el
caso anterior, supondremos conocidos Vi y Si para todas las estaciones del
modelo, adems del tiempo de reflexin Z (que ser nulo si se trata de un
sistema por lotes). Las variables a calcular son similares al caso anterior, y la
diferencia estriba en que ahora no se conoce la productividad del sistema, si no
que se ha de estimar; en cambio, al tratarse de un modelo cerrado, si se sabe
el nmero de trabajos N en el sistema.

Antes de proponer el algoritmo plantearemos la ecuacin que permite
plantearnos la ecuacin que permite estimar Ri para las estaciones de de tipo
cola teniendo en cuenta que ahora su valor depender del nmero de trabajos
N en el sistema:

Ri(N) =[Ni (N - 1) +1] x Si

Donde Ni (N - 1) es el nmero de trabajos en la estacin i cuando en la red
cerrada hay N 1 trabajos. Esta relacin establece que el estado de red visto
por un trabajo que est en trnsito de una estacin a otra (el trabajo ha
abandonado una estacin, pero an no se ha incorporado a la siguiente), tiene
la misma distribucin que el estado que vera un observador aleatorio si el
nmero total de trabajos en la red fuese N 1. Esta afirmacin es bastante
intuitiva, ya que un trabajo en trnsito no puede observarse a s mismo en
ninguna estacin.
5.2 Lmites asintticos
Como ya se ha sealado, una consecuencia de la ley de flujo forzado es que
las utilizaciones de los dispositivos son proporcionales a las demandas totales
de servicio. Por tanto, aquel con mayor demanda de servicio tendr la mayor
utilizacin; tal dispositivo se denomina cuello de botella, y su papel resulta
determinante en las prestaciones del sistema completo. El cuello de botella
puede estar localizado en varios dispositivos cuando sus demandas de servicio
sean iguales y, adems, sean las ms altas.

As mismo, cuando la carga del sistema incrementa su magnitud, el dispositivo
que tiende a congestionarse en primer lugar es este cuello de botella. Cuando
la utilizacin de este dispositivo presenta valores cercanos a 1 se dice que est
saturado. Por esta razn resulta muy interesante que las utilizaciones o
demandas de los dispositivos de un sistema sean lo ms parecidas posible.

Cuando esto ocurre se dice que el sistema est equilibrado (balanced
system). La mejora del comportamiento del dispositivo cuello de botella
redundar en un incremento significativo del rendimiento del sistema completo.

En cambio, este incremento ser marginal cuando la mejora se haga en
cualquiera de los restantes dispositivos.


Evaluacin y Modelado del Rendimiento de los Sistemas Informticos

24
5.3 Mejora del rendimiento
La mejora del rendimiento de un sistema informtico no es una tarea trivial, ya
que hay multitud de factores que influyen en l, como por ejemplo los
componentes fsicos del computador y el comportamiento de los programas
que se ejecutan en l, desde el sistema operativo hasta las aplicaciones de los
usuarios. En cualquier caso, la mejora del rendimiento implicar la localizacin
del cuello de botella del sistema (que podr encontrarse en el hardware o en el
software), responsable ltimo de las prestaciones globales, y actuar sobre l.
6 Bibliografa
1 Molero, X.; Ruiz, C.; Rodeo, M.: Evaluacin y Modelado del Rendimiento de
los Sistemas Informticos, Espaa, Pearson Prentice Hall, 2004.

You might also like