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
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
PowerShow.com is a leading presentation sharing website. It has millions of presentations already uploaded and available with 1,000s more being uploaded by its users every day. Whatever your area of interest, here you’ll be able to find and view presentations you’ll love and possibly download. And, best of all, it is completely free and easy to use.
You might even have a presentation you’d like to share with others. If so, just upload it to PowerShow.com. We’ll convert it to an HTML5 slideshow that includes all the media types you’ve already added: audio, video, music, pictures, animations and transition effects. Then you can share it with your target audience as well as PowerShow.com’s millions of monthly visitors. And, again, it’s all free.
About the Developers
PowerShow.com is brought to you by CrystalGraphics, the award-winning developer and market-leading publisher of rich-media enhancement products for presentations. Our product offerings include millions of PowerPoint templates, diagrams, animated 3D characters and more.