Rendimiento CAPITULO 5 Ing. Mary Dunnia López N. UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO FICCT Semestre I/2016 INF413
Rendimiento
CAPITULO 5
Ing. Mary Dunnia López N.
UNIVERSIDAD AUTONOMA GABRIEL RENE MORENOFICCT
Semestre I/2016
INF413
“Definir las alternativas y métodos
para evaluar el rendimiento”
Objetivo
C O N T E N I D O
Rendimiento
Modelado Analítico5.2
Introducción5.0
5.1
Introducción
Un sistema operativo es en primer lugar un administrador de recursos, por ello es importante poder determinar con qué efectividad administra sus recursos
5.1 Rendimiento
5.1 Rendimiento
Generalmente hay un gran potencial de mejora en el uso de los recursos. Sin embargo: Muchas instalaciones realizan muy poco o ningún control y evaluación. Cuando se hacen controles específicos se generan grandes cantidades de datos que muchas
veces no se sabe cómo interpretar. Las instalaciones rara vez cuentan con personal especialista en análisis de rendimiento.
Al inicio del desarrollo de las computadoras el hardware representaba el costo dominante de
los sistemas, por esto los estudios de rendimiento se basaban en el hardware.
5.1 Rendimiento
Actualmente un software deficiente y/o mal utilizado puede ser causa de un bajo
rendimiento del hardware, por esto se debe controlar y evaluar el rendimiento del hardware y
del software: El software representa una porción cada vez mayor de los presupuestos informáticos. El software incluye el S. O. de multiprogramación / multiproceso, sistemas de comunicaciones de
datos, sistemas de administración de bases de datos, sistemas de apoyo a varias aplicaciones, etc. El software frecuentemente oculta el hardware al usuario creando una máquina virtual, que está
definida por las características operativas del software.
5.1 Rendimiento
5.1.1 Tendencias importantes5.1.2 Necesidad de control y evaluación5.1.3 Mediciones del rendimiento5.1.4 Técnicas de evaluación del rendimiento5.1.5 Embotellamiento y saturación5.1.6 Ciclos de realimentación
Tendencias Importantes
Según los los avances en la tecnología de hardware, los costos del mismo han decrecido
drásticamente y todo hace suponer que así continuara.
Los costos de trabajo (personal) han ido aumentando: Significan un porcentaje importante del costo de los sistemas informáticos. Se debe reformular el aspecto del rendimiento del hardware base y medirlo de manera
más adaptada a la productividad humana.
Tendencias Importantes
También influyen en los puntos de vista sobre la evaluación del rendimiento aspectos tales como:• Construcción de redes.• Procesamiento distribuido.
Las conexiones se hacen con redes y no solo con computadoras específicas:
• Se puede disponer de cientos o miles de sistemas de computación.
• Se puede acceder a complejos sistemas de comunicaciones de datos [STAL05]
El advenimiento del microprocesador en la década de 1970: Ha permitido bajar considerablemente el costo de los ciclos de cpu. Ha desplazado el foco de atención de la evaluación del rendimiento a otras áreas
donde los costos no disminuyeron proporcionalmente (uso de dispositivos de entrada / salida).
5.1 Rendimiento
5.1.1 Tendencias importantes5.1.2 Necesidad de control y evaluación5.1.3 Mediciones del rendimiento5.1.4 Técnicas de evaluación del rendimiento5.1.5 Embotellamiento y saturación5.1.6 Ciclos de realimentación
Necesidad de Control y Evaluación
Evaluación de selección:El evaluador debe decidir si la adquisición de un sistema de computación es apropiada.
Los objetivos corrientes en la evaluación del rendimiento generalmente son : EPC
Proyección del rendimiento:El evaluador debe estimar el rendimiento de un: Sistema inexistente. Nuevo sistema. Nuevo componente de hardware o de software.
Control del rendimiento:El evaluador acumula datos del rendimiento de un sistema o componente existente para:
Asegurar que el sistema cumple con sus metas de rendimiento. Ayudar a estimar el impacto de los cambios planeados. Proporcionar los datos necesarios para tomar decisiones estratégicas.
Necesidad de Control y Evaluación
En las primeras fases del desarrollo de un nuevo sistema se intenta predecir: La naturaleza de las aplicaciones que
correrán en el sistema. Las cargas de trabajo que las aplicaciones
deberán manejar.
Durante el desarrollo e implementación de un nuevo sistema se intenta determinar: La mejor organización del hardware. Las estrategias de administración de recursos
que deberán implantarse en el S. O. Si el sistema cumple o no con sus objetivos
de rendimiento.
Frecuentemente son necesarios procesos de configuración de los sistemas para que puedan servir a las necesidades.
Los procesos de sintonización del sistema tienden a mejorar el rendimiento en base a ajustar el sistema a las características de la instalación del usuario.
5.1 Rendimiento
5.1.1 Tendencias importantes5.1.2 Necesidad de control y evaluación5.1.3 Mediciones del rendimiento5.1.4 Técnicas de evaluación del rendimiento5.1.5 Embotellamiento y saturación5.1.6 Ciclos de realimentación
Medición del Rendimiento
Las mediciones de rendimiento pueden estar: Orientadas hacia el usuario, ej.: tiempos de respuesta. Orientadas hacia el sistema, ej.: utilización de la CPU.
El rendimiento es una cantidad relativa más que absoluta pero normalmente se refiere a este en medidas absolutas (número de Jobs X 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.
El rendimiento expresa la manera o la eficiencia con que un sistema de computación cumple sus metas
Medición del Rendimiento
Algunas mediciones del rendimiento comunes son:• Tiempo de regreso: Tiempo desde la entrega del trabajo hasta su regreso al
usuario (para procesamiento por lotes).• Tiempo de respuesta: Tiempo de regreso de un sistema interactivo.• Tiempo de reacción del sistema: Tiempo desde que el usuario presiona “enter”
hasta que se da la primera sección de tiempo de servicio.• Varianza de los tiempos de respuesta :Es una medida de dispersión.
Si es pequeña indica tiempos próximos a la media. Si es grande indica tiempos alejados de la media. Es una medida de la predictibilidad.
Las anteriores son cantidades probabilísticas y se consideran como variables aleatorias en los estudios de:
• Simulación.• Modelado de sistemas.
Medición del Rendimiento
Capacidad de ejecución
Carga de Trabajo
Capacidad Utilizaciòn
5.1 Rendimiento
5.1.1 Tendencias importantes5.1.2 Necesidad de control y evaluación5.1.3 Mediciones del rendimiento5.1.4 Técnicas de evaluación del rendimiento5.1.5 Embotellamiento y saturación5.1.6 Ciclos de realimentación
Técnicas de Evaluación del Rendimiento
Programas del núcleoMezclas de instrucciones Tiempos
Puntos de referencia Modelos analíticos
Técnicas de Evaluación del Rendimiento
Programas Sintéticos Simuladores
Cont
rol D
el R
endi
mie
nto
Técnicas de Evaluación del Rendimiento
Los monitores:• Producen grandes cantidades de datos que deben ser analizados
manualmente o por sistema.• Indican con precisión cómo está funcionando un sistema.• Son de mucha ayuda para evaluar sistemas en desarrollo y tomar las
decisiones de diseño adecuadas.
Los monitores de hardware: generalmente son más costosos, y su influencia sobre
la operación del sistema es mínima.
Tracer: Los rastreos de ejecución de instrucciones o de módulos pueden revelar embotellamientos.
Un rastreo de ejecución de módulos: puede mostrar que se está ejecutando un pequeño subconjunto de módulos durante gran parte del tiempo:• Los diseñadores deben optimizarlos para mejorar el rendimiento del sistema.• Se podría eliminar el costo de optimización de los módulos poco usados.
5.1 Rendimiento
5.1.1 Tendencias importantes5.1.2 Necesidad de control y evaluación5.1.3 Mediciones del rendimiento5.1.4 Técnicas de evaluación del rendimiento5.1.5 Embotellamiento y saturación5.1.6 Ciclos de realimentación
Embotellamiento 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:
No pueden realizar su parte del trabajo. Otros recursos pueden estar con exceso de capacidad.
Embotellamiento y Saturación
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:• El recurso se encuentra saturado.• 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. 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.
5.1 Rendimiento
5.1.1 Tendencias importantes5.1.2 Necesidad de control y evaluación5.1.3 Mediciones del rendimiento5.1.4 Técnicas de evaluación del rendimiento5.1.5 Embotellamiento y saturación5.1.6 Ciclos de realimentación
Ciclos de Retroalimentación
Retroalimentación Negativa: La tasa de llegadas de nuevas peticiones puede decrecer como resultado de la
información que se está retroalimentando. Contribuye a la estabilidad de los sistemas de colas:
• Impide que las colas crezcan indefinidamente.• Hace que la longitud de las colas se mantenga cerca de sus valores medios.
El rendimiento de un S. O. puede ser sensible al estado actual del sistema [Deit]. 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.
Ciclos de Retroalimentación
Retroalimentación Positiva: La información retroalimentada provoca un incremento en vez de un decremento de algún parámetro.
Se deben evitar situaciones similares a la siguiente:o 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.
o 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.
Puede producir inestabilidades: 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.
5.2 Modelo Analitico
Son las representaciones matemáticas de los sistemas y le permiten al evaluador del rendimiento sacar conclusiones acerca del comportamiento del sistema.
5.2 MODELO ANALÍTICO
5.2.1 Teoría de colas5.2.2 Procesos de Markov
Teoría de Colas
Para poder evaluar el rendimiento se puede tomar la teorías de colas, esto para referir 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 así 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.
Teoría de Colas
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.
Teoría de Colas
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 servidor: Tienen un solo servidor y pueden dar 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.
Teoría de Colas
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.
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.
Teoría de Colas
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.
Ejemplo: E(s) = 17 segundos E( t) = 5 segundos u = 17 / 5 = 3,4:
El sistema deberá tener un mínimo de 4 servidores.
Teoría de Colas
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 = lWqL = lW
5.2 MODELO ANALÍTICO
5.2.1 Teoría de colas5.2.2 Procesos de Markov
Proceso de Markov
Un proceso de Markov tiene la propiedad de que la probabilidad de comportamiento futuro está totalmente definida si se conoce el estado actual. El conocimiento de estados previos al actual no altera la probabilidad de comportamiento futuro.
Si el conjunto de posibles estados del proceso es numerable, el proceso recibe el nombre de cadena de Markov.Por otra parte, si todas las posibles realizaciones del proceso Markoviano son funciones continuas del tiempo el proceso se denomina proceso de difusión. Para los procesos Markovianos se puede definir una Probabilidad de transición
Bibliografía
• [STAL05] Sistemas Operativos. William Stalling 5ta Ed 2005• [WESL87] H. M. Deitel. Introducción a los Sistemas Operativos. Addison-Wesley
Iberoamericana, México, 1987.