Anlisis de Rendimiento - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Anlisis de Rendimiento

Description:

El objetivo de esta clase es entender la importancia del an lisis ... Nodo expandible. Nodo inicial. Control de flujo simple. Llamado a funci n. Nodo repetici n ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 31
Provided by: mot136
Category:

less

Transcript and Presenter's Notes

Title: Anlisis de Rendimiento


1
Análisis de Rendimiento
  • Pontificia Universidad Católica de Chile
  • Departamento de Ciencia de la Computación
  • IIC3552 Sistemas Embebidos de Tiempo Real
  • Gerardo León Pablo Straub

2
Objetivo
  • El objetivo de esta clase es entender la
    importancia del análisis de rendimiento, y
    conocer algunas técnicas para realizarlo
  • En esta clase veremos
  • Qué es y de donde viene el análisis de
    rendimiento
  • Análisis de rendimientos en escenarios
  • Análisis de rendimientos en sistemas

3
De qué se trata
  • Mirar al diseño en términos de rendimiento
  • No pasar mucho tiempo aquí pues
  • No hay información detallada
  • Mayor parte de problemas de rendimiento debidos a
    malos diseños
  • No se trata de arreglarlos en la codificación.
  • La idea es ver donde poner esfuerzos de
    optimización

4
De qué se trata
  • Dos etapas principales
  • Mirar cada caso de uso en términos de uso de
    recursos
  • Mirar el sistema como un conjunto de recursos

5
Algo de historia
  • Inicialmente programadores con conocimiento del
    hardware
  • Ahora no conocemos como esta implementado el
    sistem y por tanto qué es eficiente
  • Algunos piensan que hay que ignorar rendimiento
  • nuevos compiladores
  • hardware más rápido
  • sintonía luego de codificado para pequeños
    sistemas

6
Algo de historia
  • Por otra parte, algunas historias
  • sistemas interactivos con largas respuestas
  • sistemas batch que duran más de 8 horas
  • pequeños sistemas que deben ser recodificados
    para sintonizarlos
  • El análisis de rendimiento está comenzando a
    ganar adeptos

7
Algo de historia
  • Pero aun existen problemas
  • herramientas caras y complicadas
  • herramientas proveen información no entendible
    por desarrolladores
  • modelos de rendimiento requieren información que
    los desarrolladores no pueden proveer
  • Escepticismo de los desarrolladores

8
Primera fase análisis de escenarios
  • Desarrolar escenario de uso
  • Modelo simple de sistema
  • Pseudo operaciones
  • Obtener números
  • Recursos básicos y pseudo operaciones
  • Caracterización de nodos básicos
  • Cálculo final para escenario
  • Análisis de pseudo operaciones
  • Análisis de sensibilidad

9
Desarrollar escenario de uso
  • Usar notación del tipo diagrama de flujo

Nodo básico
Nodo repetición
Nodos identificación de estado
Nodo expandible
Nodo inicial
Control de flujo simple
Llamado a función
10
Desarrollar escenario de uso
  • La idea es llegar a nodos básicos.

11
Modelo simple de sistema
  • Análisis basado en uso de recursos
  • Buses
  • Discos
  • Memoria
  • CPU
  • Identificar los distintos recursos de nuestro
    sistema.

12
Pseudo operaciones
  • Operaciones potencialmente optmizables
  • Operaciones virtuales que son como los bloques de
    nuestro sistema
  • En esta etapa
  • Identificar las pseudo operaciones
  • Caracterizarlas en términos de uso de recursos
  • Ejemplos
  • Context switch
  • Operación I/O en el bus.

13
Obtener números
  • Recolectar algunos números
  • Usar por ejemplo especificaciones de hardware y/o
    software
  • Poner todos los necesarios aunque algunos se
    deriven de otros
  • Ejemplos
  • Instrucciones necesarias para context switch
  • Velocidad CPU

14
Recursos básicos y pseudo operaciones
  • Cuantificar recursos en términos de tiempo
  • Cuantificar pseudo operaciones en términos de uso
    de recursos.
  • Pueden ser por ahora estimaciones gruesas
    refinadas luego.
  • Ejemplos
  • Intrucción de CPU -gt 16 ms.
  • Context switch -gt 500 instrucciones

15
Caracterización de nodos básicos
  • Caracterizar nodos básicos en términos de uso de
    pseudo operaciones.
  • Escoger un número fijo por cada pseudo operación.
  • Usar por ahora estimaciones gruesas.

16
Cálculo final para escenario
  • Tomar información básica para obtener estimación
    optimista del tiempo necesario para procesar el
    escenario.
  • Sumar el uso de recursos de cada nodo básico para
    nodos expandibles.
  • Qué pasa con instrucciones como fork?
  • Agregar las repeticiones.

17
Análisis de pseudo operaciones
  • Determinar frecuencia de uso de pseudo
    operaciones
  • Candidatas a optimizaciones
  • Para cada pseudo operación determinar
  • Total uso en el sistema
  • Total de cada recurso
  • Tiempo
  • Porcentaje tiempo del escenario
  • Determinar porcentaje uso de la CPU

18
Análisis de sensibilidad
  • Determinar que tan sensitivo son los resultados
    de acuerdo a nuestros supuestos
  • Hacer preguntas del tipo Qué pasa si?
  • Qué pasa si ejecutar cada instrucción se demora
    el doble?
  • Qué pasa si el context switch se demora el
    doble?
  • Qué pasa si la velocidad de la CPU es el doble?
  • Qué pasa si la velocidad del bus es la mitad?

19
Segunda fase análisis del sistema
  • Dos objetivos
  • Tener un feeling de que el sistema logrará los
    requerimientos de rendimiento
  • Determinar si hay cambios de hardware que
    ayudarían antes de que este este listo
  • En particular este análisis ayudará a
  • Determinar donde se esta usando el tiempo
  • Determinar qué factores afectarán más el
    rendimiento
  • Determinar cuellos de botella
  • Calcular máximo throughput

20
Segunda fase análisis del sistema
  • Se usan números calculados en análisis de
    escenarios
  • Se hacen supuestos de cuanto suceden los distinos
    escenarios
  • Basado en modelos de redes de colas
  • Usado en inicialmente en mainframes
  • trabajos proceso requerido para responder a un
    evento (escenario)
  • servidores recursos compartidos
  • throughput eventos que pueden ser procesados por
    segundo.

21
Segunda fase análisis del sistema
  • Podremos obtener
  • Tiempo de residencia tiempo promedio que un
    trabajo pasa esperando y usando un servidor
  • Utilización porcentaje de uso de un servidor
  • Throughput tasa promedio en que los eventos son
    servidos.
  • Largo de cola número promedio de trabajos en
    un servidor

22
Segunda fase análisis del sistema
  • Necesitaremos lo siguiente
  • Tasas de llegada cada cuanto llega un evento?
  • Requerimientos de servicio cuanto de cada
    recurso se requiere? (viene de la fase anterior)
  • Algunas simplificaciones
  • Modelo abierto tasa de eventos no depende de
    tiempo de respuesta.
  • Uso de recursos no varia mucho en la vida de un
    trabajo
  • Recursos modelados como colas FIFO

23
Segunda fase análisis del sistema
  • Las etapas de esta fase son
  • Análisis del modelo del sistema
  • Cálculo del tiempo promedio de servicio
  • Cálculo de utilización de recursos
  • Cálculo del throughput de un job mix
  • Cálculo de tiempos transcurridos
  • Análisis de sensibilidad
  • Conclusiones

24
Análisis del modelo del sistema
  • Dibujar el sistema
  • Representar los distintos recursos
  • Cada recurso modelado como una cola
  • Ejecución de un escenario es modelado como
    visitas a recursos
  • Dibujar lineas entre recursos que representen el
    orden de visitas
  • Si un trabajo visita un recurso ocupado,
    espera en línea.
  • En general, un trabajo siempre visita la CPU
    antes de otro recurso.

25
Cálculo del tiempo promedio de servicio
  • Cálcular número de visitas a cada recurso (V)
  • Separadamente por cada categoria de trabajo
  • Usar datos del análisis de escenarios
  • Determinar tiempo de servicio por cada visita
  • Determinar tiempo promedio de servicio (S)

26
Cálculo de utilización de recursos
  • Calcular por categoría de trabajo
  • Necesitamos número de veces por segundo que
    ocurre un evento (X0)
  • Calcular por cada recurso
  • Thoughput (X) X0 V
  • Utilización (U) X S
  • Tiempo residencia (RT) S / (1 - U)
  • Largo promedio de cola (N) X RT
  • Calcular para el sistema
  • Numero promedio de trabajos suma de N.
  • Tiempo respuesta del sistema N / X0

27
Cálculo de utilización de recursos
  • Calcular recurso cuello de botella
  • El más usado
  • (V S) es mayor
  • Calcular máximo throughput
  • El mismo del cuello de botella
  • 1 / (V S)

28
Cálculo del throughput de un job mix
  • Hasta ahora hemos visto cada categoría de trabajo
    de forma separada.
  • Considerar la razón de cada categoría de trabajo
    para obtener un throughput general.
  • Número promedio de trabajo es suma de número
    promedio de trabajos
  • Tasa de llegada es suma de tasas de llegada
  • Utilización de cada recurso suma de utilizaciones
    del recurso
  • Máximo throughput es el inverso de la máxima
    utilización.

29
Análisis de sensibilidad
  • Hacer algo similar a lo hecho en el análisis de
    escenarios
  • Observar sensibilidad en
  • número promedio de trabajos en el sistema
  • respuesta del sistema
  • máximo throughput

30
Conclusiones
  • Mirar los números y obtener ciertas conclusiones
  • El sistema alcanzará sus requerimientos?
  • Qué parámetros afectan más el rendimiento?
  • Se debe cambiar software, hardware?
  • Etc.
Write a Comment
User Comments (0)
About PowerShow.com