CAPÍTULO 1Introducción a la evaluación de rendimiento P ROBLEMA 1.1 Un programa para la simulación de sistemas hidráulicos se ejecuta en 122 segundos. Si las operaciones de división con números reales consumen el 73 % de este tiempo, ¿en cuánto se tendría que mejorar la velocidad de estas operaciones si queremos conseguir que dicho programa se ejecute seis veces más rápidamente? ¿Cuál es la aceleración máxima que podríamos conseguir si pudiésemos acelerar dichas operaciones tanto como quisiéramos? P ROBLEMA 1.2 Una mejora en un sitio web ha permitido rebajar de 17 a 9 segundos el tiempo medio de descarga de sus páginas. Si la mejora ha consistido en hacer 3 veces más rápido el subsistema de discos que almacena las páginas del servidor, ¿cuánto tiempo se dedicaba a acceder a los discos antes de realizar la mejora? P ROBLEMA 1.3 Un computador tarda 100 segundos en ejecutar un programa de simulación de una red de interconexión para multicomputadores. El programa dedica el 30 % en hacer operaciones de aritmética entera, el 60 % en hacer operaciones de aritmética en coma flotante, mientras que el resto se emplea en operaciones de entrada/salida. Calcule el tiempo de ejecución si las operaciones aritméticas enteras y reales se aceleran de manera simultánea 2 y 3 veces, respectivamente. P ROBLEMA 1.4 Una aplicación informática se ejecuta en un computador durante un total de 70 segundos. Mediante el uso de un monitor de actividad se ha podido saber que el 85 % del tiempo se utiliza la tarjeta de red, mientras que el resto del tiempo se hace uso del procesador. Se pide: 1. Calcular el incremento de prestaciones si se mejora en 8 veces la velocidad de la tarjeta de red. 2. Determinar en cuánto hay que mejorar el rendimiento del procesador si se quiere ejecutar la aplicación en 25 segundos. Nota: en ambos casos considérese el sistema original como punto de partida. 2s Indique si el sistema está soportando mucha o poca carga. Razone la respuesta.8s user 0m10. 8.37.. la mejora en el tiempo de ejecución del simulador mejorado respecto del original.83 . 9.34.1s sys 0m1.CAPÍTULO 2 Monitorización de sistemas y programas P ROBLEMA 2.. Si el monitor se activa cada 2 segundos.. P ROBLEMA 2.7s sys 0m2.3 Considere las órdenes siguientes ejecutadas en un sistema Linux: $ time simulador_original real 0m24.2s user 0m15.61 . load average: 6.85. load average: 37. 3. P ROBLEMA 2.4 Se sabe que la sobrecarga (overhead) de un monitor software sobre un computador es del 4 %.50. El resultado. load average: 8.2s user 0m17. P ROBLEMA 2.6s $ time simulador_mejorado real 0m32.. Calcule. de forma resumida.30 Indique si la carga crece. 7.2 En un sistema Linux se ha ejecutado la siguiente orden: $ time quicksort real 0m40. si es el caso..93. se mantiene estacionaria o bien no puede decidir sobre ello.1 En un sistema Linux se ha ejecutado la orden uptime tres veces en momentos diferentes. 10.47. es el siguiente: . decrece. ¿cuánto tiempo tarda el monitor en ejecutarse por cada activación? .1s 1.1s sys 0m3.. 7. ¿Cuál es el tiempo de ejecución de ambos simuladores? 2. 89 1 traza [3] 1. Una vez ha compilado todos los programas del paquete y ha lanzado su ejecución monitoriza el sistema con la orden vmstat 1 5 y obtiene el siguiente resultado: .76 total s/call 5.47 0.76 0.89 1.38 1.12 Un informático desea evaluar el rendimiento de un computador por medio del benchmark SPEC CPU2000. Indique cuánto tiempo tarda en ejecutarse el código propio de main().46 calls 3 5 1 self s/call 5.16 0.6 1. ¿En cuánto tiempo se ejecuta el programa de dibujo? 2.0 15.46 19.89 1/1 traza [3] ---------------------------------------------------------15.47 1.89 0. Calcule el nuevo tiempo de ejecución del programa si se elimina el código propio de main() y se reduce a la mitad el tiempo de ejecución del código propio del procedimiento traza().76 1.89 1/1 main [1] [3] 18.38 3.65 name colorea interpola traza main Call graph: index [1] % time 100. 5. 4.0 self children called name 0.7 1.89 0.00 3/3 main [1] [2] 79.76 1.00 5/5 traza [3] [4] 9.12 main [1] 15.16 0.89 0.47 0.00 5 interpola [4] ---------------------------------------------------------- 1. Proponga y justifique numéricamente una acción sobre el programa original que no afecte el procedimiento colorea() (ni su código ni el número de veces que es ejecutado) con el fin de conseguir que el programa se ejecute en 10 segundos.11 La monitorización de un programa de dibujo en tres dimensiones mediante la herramienta gprof ha proporcionado la siguiente información (por errores en la trasmisión hay valores que no están disponibles): Flat profile: % cumulative time seconds xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx self seconds 15.00 3 colorea [2] ---------------------------------------------------------1.76 1.8 P ROBLEMA 2.47 0. Establezca la relación de llamadas entre los procedimientos del programa así como el número de veces que se ejecuta cada uno de ellos.00 3/3 colorea [2] 1. P ROBLEMA 2. 3.00 5/5 interpola [4] ---------------------------------------------------------1. 00.13 El resultado de la monitorización de una aplicación informática dedicada al análisis de modelos atmosféricos se muestra a continuación (nótese que hay información no disponible): Flat profile: % cumulative time seconds xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx self seconds 30. load average: 0.20s sys 0m4.---swap-. a la vista de los datos anteriores.-----io--. Proponga y justifique numéricamente alguna manera de reducir el tiempo de ejecución del programa original hasta los 20 segundos.76 total s/call 0.58 2.58 2. Calcule el nuevo tiempo de ejecución del programa si el procedimiento nimbo() se rediseña y mejora 3 veces.56 1. Determine el porcentaje del tiempo de ejecución que consume el procedimiento lluvia(). 23:02. 0.70s user 3m5.56 1. un usuario ejecuta las dos órdenes siguientes con el resultado que se muestra: % uptime 9:50am up 173 days. 1 user. 6.---system-.14 Después de conectarse a un sistema informático.17 name nimbo borrasca lluvia nube 1. Justifique la respuesta. media o alta) en el momento de conexión del usuario? . los resultados obtenidos en la prueba evaluación serán correctos o no. 2. 0.01s 1. ¿Cuál es el procedimiento más lento de todo el programa? 4.06 5.13 3. % time simulador real 8m0. Indique cuánto tiempo tarda en ejecutarse el programa. ¿Cuánto tiempo tarda en ejecutarse el código propio de borrasca()? 5.75 34. P ROBLEMA 2.9 procs -----------memory---------.51 1.76 calls 52 2 2 1 self s/call 0.----cpu---r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 8 14916 92292 833828 0 0 0 3 0 7 3 1 96 0 1 0 8 14916 92292 833828 0 0 0 0 1022 40 100 0 0 0 3 0 8 14916 92292 833828 2 1 16 3 1016 34 99 1 0 0 1 0 8 14916 92292 833828 0 4 0 8 1035 36 98 2 0 0 2 0 8 14916 92292 833828 1 5 4 28 1035 36 99 1 0 0 Indique si.00 ¿En qué condición de carga se encuentra el computador (baja.75 1.00. P ROBLEMA 2. 3. 10 2. ¿Encuentra alguna incoherencia en los resultados anteriores? Justifique la respuesta con argumentos sólidos. . ¿Cuál es el tiempo de ejecución del programa simulador? 3. Solicitud 1 2 3 4 5 6 7 8 9 10 Procesador ( %) 8.CAPÍTULO 6 Caracterización de la carga P ROBLEMA 6.2 En la tabla siguiente se presenta un pequeño conjunto de muestras de la tasa de visitas correspondiente a ocho sesiones de acceso a un servidor web de un mismo usuario. la del disco y el tiempo de ejecución en modo usuario.3 50 50 30 Ejecución (ms) 700 140 150 60 115 260 4.000 150 100 150 Hágase una caracterización de la carga utilizando la distancia euclídea como métrica de agrupamiento.0 15. Sesión 1 2 3 4 5 6 7 8 VMuestra 15 10 4 18 4 16 17 5 VBúsqueda 12 15 17 20 12 11 12 4 VAñade al carro 2 1 2 4 2 3 2 1 VSelecciona 5 14 4 15 7 7 7 2 VPaga 1 0 1 0 1 1 1 1 .1 Se ha monitorizado un servidor web a lo largo de diez meses.4 15. en un fichero de bitácora. P ROBLEMA 6. Durante el periodo de monitorización se ha grabado. Téngase en cuenta que el tiempo de ejecución es directamente proporcional al tamaño del documento. la utilización del procesador. En la tabla siguiente se muestran los valores medios de esos tres parámetros obtenidos tras procesar el fichero de monitorización y agrupar las solicitudes mediante un criterio cualitativo.3 8.5 11 16 26 50 80 50 Disco ( %) 30 10 11 50 90 50 50. 25 0.26 Agrupe esta carga hasta un nivel que parezca razonable. que incluya. aquellas que permitan ver ofertas especiales.4 Se ha realizado una serie de mediciones. Se pide hacer un agrupamiento hasta llegar a una sola clase que represente un día laborable cualquiera. la opción de configurar y recordar la compra habitual. Indíquense unas probabilidades de la utilización de cada una de las funciones de la página web.6 En la tabla siguiente se muestra el número de operaciones de E/S por segundo y el tamaño del fichero solicitado por cinco clases de transacciones web que resumen la carga de un servidor de aplicaciones: Clase C1 C2 C3 C4 C5 Nombre de la transacción Ficheros muy grandes Ficheros grandes Ficheros medianos Ficheros pequeños Ficheros muy pequeños Operaciones/s 9 6 5 4 3 Tamaño (MB) 9 1 0. durante los días laborables de una semana. además de las funciones habituales de cualquier página web. P ROBLEMA 6. en un cajero de un banco y se ha anotado el consumo de ciertos recursos según se muestra en la tabla.001 . ¿Qué diferencia existe entre ambas caracterizaciones? ¿Por qué no utilizar las medias directamente? Solicitud Lunes Martes Miércoles Jueves Viernes Modo usuario (min) 19 17 20 18 22 Modo espera (s) 25 28 30 29 31 Modo red (s) 6 8 10 9 12 P ROBLEMA 6. Durante ese periodo se grabó un fichero bitácora que contiene. entre otros. Día 1 2 3 4 5 6 7 Uso del procesador ( %) 30 50 50 70 12 40 50 Operaciones de E/S 70 25 250 150 15 25 20 Hágase una agrupación de los siete días en uno que caracterice ambos parámetros.3 Dibújese un gráfico del comportamiento del usuario de una página web de un supermercado de venta en línea. En la tabla siguiente se recogen los valores monitorizados esa semana. etc.02 0. el número de lecturas y escrituras en el disco duro (operaciones) así como el porcentaje de utilización del procesador. Compárese el resultado de la agrupación del día representativo con las medias aritméticas de los tres parámetros. P ROBLEMA 6. P ROBLEMA 6.5 Un servidor de aplicaciones ha sido monitorizado durante una semana. 27 Prepárese un dendograma utilizando un algoritmo de árbol de extensión mínima para el análisis de agrupamiento. . Determínese el grado de agrupamiento óptimo en un número de clases menor.