CONTENIDO
1. Introducción
2. ¿Qué es el desempeño de un sistema?
3. Carga del sistema
4. Métricas
5. Propósitos del análisis de sistemas
6. Técnicas y análisis de desempeño
7. Errores comunes del análisis y evaluación de desempeño.
8. Método de análisis / evaluación de desempeño.
9. Referencias
OBJETIVO
Al finalizar el modulo, el alumno relacionará la aplicación de conceptos matemáticos, probabilidad y estadísticas con las tecnologías de información, y cómo éstos permiten realizar análisis del desempeño de un sistema para formular propuestas de mejora.
Introducción
¿Qué es el desempeño de un sistema?
Carga del sistema
Métricas
Propósitos del análisis de sistemas
Técnicas y análisis de desempeño
Errores comunes del análisis y evaluación
Método de análisis / evaluación
Referencias
INTRODUCCIÓN
El desempeño de los componentes de un sistema de tecnologías de información debe ser una parte importante en el diseño y desarrollo de estos sistemas. El propósito es obtener el más alto desempeño de acuerdo al presupuesto que se tiene.
Para lo anterior, es necesario que los ingenieros responsables del desarrollo de sistemas de tecnologías de información conozcan las técnicas de análisis y evaluación del desempeño de sistemas computacionales; para lo cual es necesario reconocer
¿QUÉ ES EL DESEMPEÑO DE UN SISTEMA?
El desempeño se refiere al uso eficiente de los recursos que componen un sistema. Y esto puede definirse de diferentes maneras. Por ejemplo, podemos considerar el desempeño de un sistema como una medida de la velocidad de respuesta de servicio y en otras ocasiones podemos referirnos a la capacidad de un sistema de almacenar información.
Por lo anterior, el profesional de las tecnologías de información debe ser capaz de identificar y exponer los requisitos de desempeño de sus sistemas, además de poder comparar las diferentes alternativas que puede usar para cumplir dichos requerimientos.
Para analizar el desempeño de un sistema es importante definir la carga y la métrica, así como tener en cuenta cuales son las metas de dicho análisis.
La carga de un sistema caracteriza la cantidad y la naturaleza de las peticiones de usuario al sistema. El desempeño de un sistema depende de la carga a la que es sometido. En general, el desempeño de un sistema se deteriora conforme aumenta la intensidad de la carga.
CARGA DEL SISTEMA
MÉTRICAS
La métrica de desempeño es la cantidad medible de la característica que queremos evaluar, y puede tomar distintas formas, es decir, no existe una métrica general si no que depende del sistema. Ejemplos incluyen:
Tiempo de respuesta: el tiempo que pasa desde que inicia un evento, hasta que termina. Por ejemplo, el tiempo que pasa desde que el usuario hace una petición y el sistema responde a ésta.
Throughput: Número de tareas completadas por unidad de tiempo. Por ejemplo, la velocidad en que las peticiones pueden ser respondidas por el sistema.
Utilización: se refiere al uso de recursos y se mide como la fracción de tiempo en la que el recurso se ocupa para proporcionar un servicio. El tiempo en el que no se está usando un recurso se le conoce como tiempo muerto (“idle time”).
Confiabilidad: se mide en razón de la probabilidad de errores o el tiempo promedio entre errores.
Disponibilidad: se define como la fracción de tiempo que el sistema esta a disposición y puede ser usado por los usuarios. El tiempo en el que el sistema no se encuentra disponible se le conoce como “downtime”.
Existen varias métricas y es importante que el ingeniero sepa identificar cuáles son importantes en el análisis del sistema específico que se requiere evaluar.
PROPÓSITO DEL ANÁLISIS DE SISTEMA.
Algunas metas comunes del análisis del desempeño de un sistema son:
Comparación de alternativas: en estos casos, el análisis de desempeño de un sistema provee información cuantitativa de qué configuraciones son mejores según condiciones específicas. Por ejemplo, cuando se quiere comprar un equipo de cómputo, se tienen diferentes opciones, cantidad de memoria, velocidad de procesador, interfaces de red, etc. Entonces evaluamos las diferentes opciones para escoger qué computadora nos conviene comprar.
Determinar el impacto de una característica: Al actualizar o diseñar sistemas, hay ocasiones en las que se necesita determinar cuál sería el impacto de agregar (o quitar) una característica específica del sistema. Como sólo un componente del sistema es cambiado, este tipo de análisis se conoce como comparación de antes y después.
Afinación de sistema: aquí el propósito es encontrar un conjunto de parámetros que al ser ajustados producen un mejor desempeño del sistema.
Debugging: Una vez que se hacen modificaciones a un sistema para que funcione correctamente, se tiene que analizar de nuevo el desempeño, ya que queda la posibilidad de que el sistema produzca el resultado esperado, pero el desempeño no sea óptimo. El propósito en estos casos es usar técnicas y herramientas de análisis que permitan determinar el porqué el sistema no tiene el desempeño esperado.
TÉCNICAS Y ANÁLISIS DE DESEMPEÑO
Existen 3 técnicas fundamentales que nos permiten analizar y evaluar un sistema para encontrar una solución: mediciones, simulación y modelado analítico.
Medición de desempeño
Simulación
Modelado Analítico
Medición de desempeño.
Aquí se trata de analizar el sistema real y ver su comportamiento en diferentes escenarios. Existen casos en los que mediciones del sistema no son posibles. Por ejemplo, cuando un sistema no existe todavía.
Para hacer mediciones de un sistema se necesitan por lo menos dos componentes:
Simulación.
Otra herramienta que nos permite analizar el desempeño de un sistema es la simulación. Ésta es una implementación en software de un modelo simplificado del sistema y su carga. Éste es el método más usado en el análisis y evaluación de desempeño de sistemas.
Una simulación es un experimento en una computadora donde el ambiente real es remplazado por la ejecución de un programa. Tipos de simulación:
Determinística / Estocástica.- se utiliza cuando se quiere verificar un sistema donde el ambiente se conoce en su totalidad.
Terminación / No-terminación.- se usa cuando se evalúa un sistema y la simulación termina cuando se cumplen ciertas condiciones.
Asintomática estacionaria / no-estacionaria.- comúnmente basada en la teoría de Harkov, esta simulación llegará a la convergencia de un comportamiento estacionario o divergencia.
Modelado Analítico.
Es un modelo matemático, del sistema, que se analiza numéricamente. Algunos lo consideran un forma especial de simulación. En general es un método más rápido que la simulación y es comúnmente usado en la fase de desarrollo o para conocer patrones importantes del sistema.
Para el análisis del desempeño de sistemas computacionales la principal técnica de modelado que se utiliza es la Teoría de Colas (queueing theory). Esto es porque muchas tareas de un sistema comparten recursos del mismo (procesador, disco, y algunos otros dispositivos). En estos casos, sólo una tarea puede utilizar el recurso a la vez, y las demás tareas tienen que esperar en colas para poder usar el recurso.
La teoría de colas permite determinar el tiempo que las tareas pasan en las diferentes colas del sistema, posteriormente se combinan estos tiempos para predecir el tiempo de respuesta por ejemplo. Para utilizar este tipo de modelado es necesario conocer la notación de colas, además del análisis operacional, análisis de valor promedio y convolución.
ERRORES COMUNES DEL ANÁLISIS Y EVALUACIÓN DEL DESEMPEÑO
Cuando se hace el análisis de un sistema, hay que tener cuidado de evitar errores que pueden resultar en resultados incorrectos.
Errores comunes:
MÉTODO DE ANÁLISIS / EVALUACIÓN DE DESEMPEÑO
1. Definir el propósito del sistema.
2. Enlistar los servicios y resultados esperados.
3. Selección de métrica.
4. Enlistar parámetros.
5. Seleccionar factores a estudiar.
6. Seleccionar la técnica de evaluación.
7. Seleccionar el tipo de carga.
8. Diseño de experimentos.
9. Análisis e interpretación de datos.
10. Presentación de resultados.
REFERENCIAS
Raj Jain, Art of Computer Systems Performance Análisis Techniques for Experimental Design Measurements Simulation and Modeling., Wiley Computing Publishing, 1991. ISBN: 0471503363.
David J. Lilja, Comparing Instructional Delivery Methods for Teaching Computer Systems Performance Analysis, IEEE TRANSACTIONS ON EDUCATION, VOL. 44, NO. 1, FEBRUARY 2001
David J. Lilja, Measuring computer performance: a practitioner’s guide, Cambrige University Press 2001, ISBN: 0 521 64105 5
Jean-Yves Le Boudec, Performance Evaluation of Computer and Comunication Systems, EPFL Press, Switzerland 2001. ISBN: 978-2-940222-40-7
J.P Buzen, Fundamental Laws of Computer System Performance, Center for Research in Computer Technology, Cambridge Mass
Universidad Autónoma de Ciudad Juárez