|
Página de la asignatura Tema anterior Tema siguiente Página principal del grupo GeNeura |
Para presentar y analizar los resultados obtenidos de la ejecución de un monitor sobre un sistema o una comparativa entre varios sistemas normalmente se usa algún tipo de gráfico, como por ejemplo el indicado en las ilustraciones del capítulo anterior, gráficos de barras de evolución temporal (las llamadas strip chart). Más habitualmente, para resumir el rendimiento de todo el sistema se suele usar un gráfico de Gantt, o bien un gráfico de Kiviat. Veremos éste con más detenimiento.
En general, la visualización es esencial casi en cualquier tarea científica, pero en evaluación de prestaciones sirve para apreciar de un vistazo cuál es el estado del sistema, y si hay algún problema, de dónde puede prevenir. Ventajas adicionales son cantidades que se pueden calcular directamente sobre los gráficos, especialmente las llamadas figuras de mérito, que están relacionadas con algún aspecto de los gráficos.
En un gráfico de Gantt, se representa en abscisas el tiempo, y en ordenadas una línea que representa los instantes durante los cuales un recurso ha estado ocupado. Se suelen usar gráficos similares en ingeniería del software, y, en general, en planificación de proyectos. En este sitio se puede descargar el código fuente de un programa que traza un gráfico de Gantt; también se puede crear uno desde el mismo sitio.
A partir de la gráfica de Gantt se puede hacer análisis de Pert, con el objetivo de calcular caminos críticos es decir, en qué puntos se debe concentrar más esfuerzo para que el proyecto llegue a término) y demás.
Este tipo de herramienta se usa en casos bastante específicos; en concreto, en programación en entornos paralelos o cliente-servidor, en programación de sistemas en tiempo real, y en diseño de circuitos, por ejemplo. No es el tipo de gráfica que uno debe hacer cada vez que se enfrenta a un análisis de prestaciones.
En un gráfico de Kiviat, se representan los porcentajes de uso y solapamiento de diferentes componentes del sistema como una figura geométrica que une diferentes puntos, situados sobre los radios de un círculo, que representan esos porcentajes. Teóricamente, es posible ver de un vistazo el problema que tiene un sistema. Habitualmente está dividido en 8 sectores; y en ellos se suele colocar alternativamente magnitudes del tipo más alto es mejor con magnitudes del tipo bajo es mejor. Una de las distribuciones puede ser, en sentido e las agujas del reloj, CPU ocupada, sólo CPU, CPU y un canal, un canal sin CPU, un canal activo, CPU esperando, CPU usuario, CPU sistema, alternando índices de uso con índices de solapamiento, e índices del tipo HB (más alto es mejor) con otros del tipo LB (más bajo es mejor).
Como canal normalmente se suele usar el o los discos, aunque también se podría representar la red o el subsistema gráfico, por ejemplo. Diferentes formas características indican diferentes "tipos" de sistemas, el sistema perfecto sería el denominado estrella de Kiviat, una estrella de 4 puntas (o 3, dependiendo del número de "canales" representados). En cualquier caso, hay que mirar siempre que los indicadores a las 12, 3, 6 y 9 sean altos, y los demás bajos, y que estos indicadores tengan más o menos el mismo valor. Valores altos de los indicadores impares indican un sistema que no funciona como debiera, y si los valores pares tienen valores muy diferentes, eso suele indicar un sistema desequilibrado, con demasiado uso de CPU o de alguno de los canales. Al gráfico de Kiviat se le puede añadir una tercera dimensión temporal, formando un tubo de Kiviat, que indica la progresión del gráfico de Kiviat a través del tiempo.
En principio, sería posible extraer una figura de mérito (FOM, figure of merit) del diagrama de Kiviat directamente, pero adolece de una serie de fallos: por ejemplo, las variables están correlacionadas unas con otras; no todos los ejes tienen la misma escala; se consideran buenos valores extremos, lo que no necesariamente es cierto; las variables de tipo nominal es mejor se dejan de lado, por ejemplo.
En cuanto a representar la información sobre un sistema o un benchmark en un gráfico, el tipo del gráfico dependerá, sobre todo, del tipo de variable que se va a presentar: cualitativa o categórica, ordenada o no, que están definidas por una serie de clases mutuamente exclusivas, y cuantitativa discreta o continua, que es aquella variable cuyos niveles se expresan mejor numéricamente.
A la hora de representar gráficamente el resultado de un benchmark, o de cualquier tipo de medición de prestaciones o de carga de trabajo, es conveniente seguir las siguientes reglas:
Algunos errores que se suelen cometer son los siguientes:
Por supuesto, a veces estas equivocaciones se suelen hacer a propósito, sobre todo si uno quiere demostrar algo con los gráficos. El saber este tipo de cosas ayuda también a identificarlas cuando uno se las encuentra:
| Evaluación y explotación de sistemas informáticos. R. Puigjaner, J. J. Serrano, A. Rubio. |
The art of computer
systems performance analysis: Techniques for experimental design,
measurement, simulation and modelling, Raj Jain, Wiley,
1992. Por la fecha de publicación, se ve que tiene el mismo problema
que el primero; sin embargo, tiene un enfoque ameno y completo al
problema del análisis de prestaciones. |
| Representación visual de prestaciones de ordenadores paralelos, donde describe diferentes técnicas para visualizar carga de los sistemas, así como "caminos críticos" y patrones de acceso a los datos. |
| Un capítulo del libro "How to lie with Statistics" también habla del tema; aunque es antiguo, es bastante interesante. |

Esta obra está bajo una licencia de Creative Commons.
Realizado por
Juan Julián Merelo Guervós jmerelo at geneura.ugr.es
Depto de Arquitectura y Tecnología de
Computadores
Universidad de
Granada
URL:http://geneura.ugr.es/~jmerelo/DyEC/Tema2/DyEC-Tema2.html