Cap5. rendimiento

38
Rendimiento CAPITULO 5 Ing. Mary Dunnia López N. UNIVERSIDAD AUTONOMA GABRIEL RENE MORENO FICCT Semestre I/2016 INF413

Transcript of Cap5. rendimiento

Page 1: Cap5. rendimiento

Rendimiento

CAPITULO 5

Ing. Mary Dunnia López N.

UNIVERSIDAD AUTONOMA GABRIEL RENE MORENOFICCT

Semestre I/2016

INF413

Page 2: Cap5. rendimiento

“Definir las alternativas y métodos

para evaluar el rendimiento”

Objetivo

Page 3: Cap5. rendimiento

C O N T E N I D O

Rendimiento

Modelado Analítico5.2

Introducción5.0

5.1

Page 4: Cap5. rendimiento

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

Page 5: Cap5. rendimiento

5.1 Rendimiento

Page 6: Cap5. 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.

Page 7: Cap5. rendimiento

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.

Page 8: Cap5. rendimiento

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

Page 9: Cap5. rendimiento

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.

Page 10: Cap5. rendimiento

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).

Page 11: Cap5. rendimiento

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

Page 12: Cap5. rendimiento

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.

Page 13: Cap5. rendimiento

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.

Page 14: Cap5. rendimiento

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

Page 15: Cap5. rendimiento

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

Page 16: Cap5. rendimiento

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.

Page 17: Cap5. rendimiento

Medición del Rendimiento

Capacidad de ejecución

Carga de Trabajo

Capacidad Utilizaciòn

Page 18: Cap5. rendimiento

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

Page 19: Cap5. rendimiento

Técnicas de Evaluación del Rendimiento

Programas del núcleoMezclas de instrucciones Tiempos

Puntos de referencia Modelos analíticos

Page 20: Cap5. rendimiento

Técnicas de Evaluación del Rendimiento

Programas Sintéticos Simuladores

Cont

rol D

el R

endi

mie

nto

Page 21: Cap5. rendimiento

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.

Page 22: Cap5. rendimiento

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

Page 23: Cap5. rendimiento

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.

Page 24: Cap5. rendimiento

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.

Page 25: Cap5. rendimiento

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

Page 26: Cap5. rendimiento

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.

Page 27: Cap5. rendimiento

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.

Page 28: Cap5. rendimiento

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.

Page 29: Cap5. rendimiento

5.2 MODELO ANALÍTICO

5.2.1 Teoría de colas5.2.2 Procesos de Markov

Page 30: Cap5. rendimiento

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.

Page 31: Cap5. rendimiento

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.

Page 32: Cap5. rendimiento

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.

Page 33: Cap5. rendimiento

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.

Page 34: Cap5. rendimiento

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.

Page 35: Cap5. rendimiento

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

Page 36: Cap5. rendimiento

5.2 MODELO ANALÍTICO

5.2.1 Teoría de colas5.2.2 Procesos de Markov

Page 37: Cap5. rendimiento

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

Page 38: Cap5. rendimiento

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.