Vous êtes sur la page 1sur 7

Evaluación y Control de Rendimiento en el Sistema Operativo

Mediciones del Rendimiento.

El rendimiento expresa la manera o la eficiencia con que un sistema de computación cumple


sus metas, también se podría decir que es una cantidad relativa mas no absoluta pero suele
hablarse de medidas absolutas de rendimientos como por ejemplo el número de trabajos
atendidos por unidad de tiempo.

Algunas mediciones son difíciles de cuantificar, ej.: facilidad de uso. Otras mediciones son
fáciles de cuantificar, ej.: accesos a un disco en la unidad de tiempo.

Técnicas de Evaluación del Rendimiento

Tiempos: los tiempos proporcionan los medios para realizar comparaciones rápidas del
hardware. Una posible unidad de medida es el “mips”: millón de instrucciones por segundo.

Mezclas de instrucciones: Se usa un promedio ponderado de varios tiempos de las


instrucciones más apropiadas para una aplicación determinada; los equipos pueden ser
comparados con mayor certeza de la que proporcionan los tiempos por sí solos. Son útiles para
comparaciones rápidas del hardware.

Programas del núcleo: es un programa típico que puede ser ejecutado en una instalación. Se
utilizan los tiempos estimados que suministran los fabricantes para cada máquina para calcular
su tiempo de ejecución. Se corre el programa típico en las distintas máquinas para obtener su
tiempo de ejecución. Pueden ser útiles para la evaluación de ciertos componentes del
software, por ej. compiladores; pueden ayudar a determinar qué compilador genera el código
más eficiente.

Modelos analíticos: Son representaciones matemáticas de sistemas de computación o de


componentes de sistemas de computación y generalmente se utilizan los modelos de teoría de
colas o procesos de Markov. Requieren un gran nivel matemático del evaluador y son
confiables solo en sistemas sencillos, ya que en sistemas complejos los supuestos
simplificadores pueden invalidar su utilidad y aplicabilidad.

Puntos de referencia (o programas de comparación del rendimiento): Son programas reales


que el evaluador ejecuta en la máquina que se está evaluando. Generalmente es un programa
de producción típico de muchos trabajos de la instalación que se ejecuta con regularidad. El
programa completo se ejecuta en la máquina real con datos reales.
Programas sintéticos: Combinan las técnicas de los núcleos y los puntos de referencia.

Simulación: Es una técnica con la cual el evaluador desarrolla un modelo computarizado del
sistema que se está evaluando. Es posible preparar un modelo de un sistema inexistente y
ejecutarlo para ver cómo se comportaría en ciertas circunstancias; se puede evitar la
construcción de sistemas mal diseñados.

Control del rendimiento: Es la recolección y análisis de información relativa al rendimiento del


sistema existente. Permite localizar embotellamientos con rapidez. Puede ser útil para
determinar la distribución de trabajos de varios tipos; permitiría aconsejar el uso de
compiladores optimizadores o compiladores rápidos y sucios.

Los monitores de software: Generalmente son económicos y pueden distorsionar las lecturas
del rendimiento debido a que consumen recursos del sistema.

Los monitores de hardware: Generalmente son más costosos su influencia sobre la operación
del sistema es mínima.

Embotellamientos y Saturación

Los recursos administrados por los S. O. se acoplan e interactúan de maneras complejas para
afectar al total de la operación del sistema. Ciertos recursos pueden sufrir embotellamientos
que limitan el rendimiento del sistema impidiendo realizar parte del trabajo o con exceso de
capacidad.

Un embotellamiento tiende a producirse en un recurso cuando el tráfico de trabajos o


procesos de ese recurso comienza a alcanzar su capacidad límite es decir el recurso se
encuentra saturado y por consiguiente los procesos que compiten por el recurso comienzan a
interferirse unos a otros.

Ej.: problema de la hiperpaginación:

Ocurre cuando el almacenamiento principal está lleno y los conjuntos de trabajo de los
distintos procesos activos no pueden ser mantenidos simultáneamente en el almacenamiento
principal.

Para detectar los embotellamientos se debe controlar cada cola de peticiones de los recursos;
cuando una cola crece rápidamente significa que la tasa de llegadas de peticiones debe
superar a su tasa de servicio.

El aislamiento de los embotellamientos es una parte importante de la “afinación” de la


“sintonización” del sistema.
Sin embrago los embotellamientos pueden eliminarse aumentando la capacidad de los
recursos o añadiendo más recursos de ese tipo en ese punto del sistema.

Ciclos de Retroalimentación:

Un ciclo de retroalimentación es una situación en la cual la información del estado actual del
sistema se pone a disposición de las peticiones entrantes. La ruta de las peticiones puede
modificarse, si la retroalimentación indica que puede haber dificultad de darles servicio.

Retroalimentación negativa:

La tasa de llegadas de nuevas peticiones puede decrecer como resultado de la información


que se está retroalimentando esto contribuye a la estabilidad de los sistemas de colas, puesto
que impide que las colas crezcan indefinidamente.

Retroalimentación positiva

La información retroalimentada provoca un incremento en vez de un decremento de algún


parámetro es por ello que se deben evitar situaciones similares a las siguientes:

Se deben evitar situaciones similares a la siguiente:

El S. O. detecta capacidad disponible de cpu.

El S. O. informa al planificador de trabajos que admita más trabajos en la mezcla de


multiprogramación con esto se incrementaría el uso de cpu.

Al incrementarse la mezcla de multiprogramación:

Decrece la cantidad de memoria que se puede asignar a cada trabajo.

El número de fallos de página puede incrementarse.

La utilización de cpu puede decrecer.

Sin embargo esta puede producir inestabilidades es por ello que:

Debe diseñarse con mucha prudencia.

Se deben controlar los efectos de cada cambio incremental para ver si resulta una mejora
anticipada.

Si un cambio incremental deteriora el rendimiento se podría estar operando en un rango


inestable.
Moldeado Analítico y teoría de colas:

Los modelos analíticos: Son las representaciones matemáticas de los sistemas y le permiten al
evaluador del rendimiento sacar conclusiones acerca del comportamiento del sistema.

Ahora bien cuando nos referimos a teorías de colas nos referimos a las líneas de espera, si
estas no existieran se podría recibir un servicio de inmediato que sería lo deseable sin embargo
el costo de disponer una suficiente capacidad de servicio para no tener que esperar sería muy
elevado. Es por ello que se consume cierta cantidad de tiempo en líneas de espera por servicio.

Algunas colas son:

Ilimitadas: pueden crecer tanto como sea necesario para contener a los clientes que esperan.

Limitadas: solo pueden contener un número fijo de clientes en espera y quizás hasta ninguno.

En esta teoría se deben tener en cuenta variables aleatorias que pueden ser descritas por
distribuciones probabilísticas las cuales son:

Fuente, Llegadas y Llegadas de Poisson

Fuente: Los clientes son proporcionados a un sistema de colas desde una fuente que puede ser
infinita o finita.

Llegadas: Los clientes llegan a un sistema de colas en n cantidad de tiempos estos llegan de
uno en uno y nunca hay una colisión.

Las variables aleatorias “ tk” miden los tiempos entre las llegadas sucesivas (arbitrario) y se
denominan tiempos entre llegadas:

Llegadas de Poisson
Las llegadas pueden seguir distintos patrones arbitrarios pero suele suponerse que forman un
proceso de llegadas de Poisson. Los tiempos entre llegadas están distribuidos
exponencialmente.

Tiempos de Servicio, Capacidad de la Cola y Número de Servidores en el Sistema.

Tiempos de servicio: los tiempos de servicio son aleatorios “ sk” es el tiempo de servicio que el
k-ésimo cliente requiere del sistema.

Capacidad de la cola

Capacidad infinita: cada cliente que llegue puede entrar en el sistema de colas y esperar,
independientemente de cuántos clientes hay en espera.

Capacidad cero (o sistemas de pérdidas): los clientes que llegan cuando la instalación de
servicio está ocupada no podrán ser admitidos al sistema.

Capacidad positiva: los clientes que llegan solo esperan si hay lugar en la cola.

Número de servidores en el sistema:

Sistemas de un solo servidor: Tienen un solo servidor y nada más pueden darle servicio a un
solo cliente a la vez.

Sistemas de servidores múltiples: Tienen “c” servidores con idéntica capacidad y pueden dar
servicio a “c” clientes a la vez.

Disciplinas de Colas: Son las reglas usadas para elegir al siguiente cliente de cola que va a ser
servido. La más conocida es la “FCFS” o primero en llegar, primero en ser servido. Sus
notaciones son:

Notación Kendall (A/B/c/K/m/Z):

A: distribución de tiempos entre llegadas.

B: distribución de tiempos de servicio.

c: número de servidores.

K: capacidad de cola del sistema.

m: número de clientes en la fuente.

Z: disciplina de cola.
Notación Kendall abreviada (A/B/c):

No hay límite en la longitud de la cola.

La fuente es infinita.

“A” y “B” pueden ser:

GI: para tiempo entre llegadas general independiente.

G: para tiempo de servicio general.

Ek: para las distribuciones de tiempos entre llegadas o de servicio Erlang-k.

M: para las distribuciones de tiempos entre llegadas o de servicio exponenciales.

D: para las distribuciones de tiempos entre llegadas o de servicio determinísticos.

Hk: para las distribuciones de tiempos entre llegadas o de servicio hiperexponenciales (con “k”
estados).

Intensidad de tráfico: Es una medida de la capacidad del sistema para dar servicio efectivo a
sus clientes. Se define como la razón de la media del tiempo de servicio “E(s)” y la media del
tiempo entre llegadas “E( t)”.

Es útil para determinar el número mínimo de servidores idénticos que necesitará un sistema
para dar servicio a sus clientes:

Sin que las colas se hagan indefinidamente largas.

*Sin tener que rechazar clientes.

Ej.: si E(s) = 17 segundos y E( t) = 5 segundos, u = 17 / 5 = 3,4:

o El sistema deberá tener un mínimo de 4 servidores.

Utilización del servidor: Se define como la intensidad de tráfico por servidor: Es decir la
probabilidad de que un servidor determinado se encuentre ocupado.

Según la ley de los grandes números esta probabilidad es aproximadamente la fracción de


tiempo que cada servidor está en uso.

Resultado de Little: Es una de las mediciones más sencillas y útiles del rendimiento de un
sistema de colas. Relaciona las siguientes cantidades:

Wq: tiempo medio que emplea un cliente en una cola.

l: tasa de llegadas.

Lq: número de clientes en la cola.


W: tiempo medio que emplea un cliente en el sistema.

L: número de clientes en el sistema.

El resultado de Little se expresa como:

Lq = lWq

L = lW

Procesos de Markov

Es un modelo adecuado para describir el comportamiento de sistemas donde el sistema está


situado en uno de un conjunto de estados discretos mutuamente excluyentes y
colectivamente exhaustivos. El estado presente del sistema y las probabilidades de transición
entre varios estados del sistema, caracterizan el comportamiento futuro del sistema. Dado que
un proceso de Markov se encuentra en un estado determinado, su comportamiento futuro no
depende de su historia anterior a su entrada a ese estado.

Se dice que un estado “Sj ” es transitorio si desde un estado “Sk” que puede ser alcanzado
desde “Sj ”, el sistema no puede regresar a “Sj ”.

Se dice que un estado “Sj ” es recurrente si desde cada estado “Sk” alcanzable desde “Sj ”, el
sistema puede regresar a “Sk”.

Una cadena sencilla es una serie de estados recurrentes tal que el sistema puede llegar a
cualquier estado de la cadena desde cualquier otro estado de esta.

Un cambio de estado en un proceso de Markov de transición continua puede producir cambios


de estado en cualquier instante de una escala de tiempo continua.