lunes, 7 de abril de 2008

1-4-2008

Empezamos la clase viendo el ejemplo del profiler usando un programa en Perl. El profiler que trae Perl se llama DpProf.

Vemos que en la llamada a una función es en lo consume la mayor parte el programa, y entonces ejecutamos la misma función pero guardando en una caché los argumentos y las llamadas a función. Con esto conseguimos ahorrar un 5%-6% del tiempo.

El tiempo total que tarda en ejecutarse el programa siempre debe ser menor, ya que si mejoramos una función que tardaba mucho, pero a causa de eso otras tardan más no habremos mejorado nada.


Vemos un programa en brainfuck (es un lenguaje de programación esotérico, diseñado por Urban Müller en 1993, con el objetivo de hacer un lenguaje que fuera a la vez muy simple, Turing completo y que requiriese un compilador pequeño)


Recapitulación de la clase anterior:

Víctor explica su práctica 2.

Vemos un ejercicio de autoevaluación de tupakamaru sobre las distintas métricas.

El uso de recursos no se debe usar para medir prestaciones.



Seguimos con el temario:

1.5.4 Programas de monitorización de la actividad del sistema

Filesystem: mapeo de la memoria del sistema de ficheros.

Disksksts: muestra estadísticas de los discos

Otros programas sirven para evaluar las prestaciones de una red; o al menos los retrasos que la red introduce en las prestaciones de un ordenador.

Vmstat, Ping, Traceroute

Ejecutamos un programa a modo de ejemplo para ver los cambios del sistema (con vmstat) antes y después.

Vemos que el tiempo de CPU dedicado a user o system cambia y que la memoria apenas cambia.

Top: para ver que se está ejecutando y la carga del sistema.

Y con esto terminamos el tema 1.

TEMA 2. Representación gráfica aplicada a la evaluación de prestaciones

2.1.1 Gráficos de Gantt


Hay que representar las cosas de forma sencilla y comprensible. Usaremos los gráficos 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.

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.

2.1.2 Gráficos de Kiviat


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).

2.2 Reglas para representaciones gráficas

R: programa de estadística que también sirve para hacer representaciones gráficas.


Reglas de las representaciones gráficas:


- Minimización del esfuerzo por parte del lector: fácil de entender
- Maximizar información: información suficiente pero no excesiva.
- Minimizar la tinta: intentamos transmitir la mayor cantidad de información con la menor cantidad de tinta.
- Usar prácticas comúnmente aceptadas: como el eje x para la variable independiente, el y para el resultado, el origen en el (0,0) que este en la esquina inferior izquierda, las abscisas y ordenadas en orden creciente.
- Evitar la ambigüedad: mostrar los ejes, las subdivisiones, las medidas, escalas, identificar cada una de las barras, hacerlo fácil de leer. Por ejemplo, si representamos distintas categorías en el eje horizontal hay que usar el mismo orden que el explicado en el texto.
- No poner demasiada información ni demasiada poca.



2.3 Errores comunes en la representación gráfica de resultados


- Presentar demasiadas alternativas en un solo gráfico: a partir de 7 objetos el número de objetos que se recuerdan decrece. Histograma: representación de la frecuencias de los distintos intervalos.

Por ejemplo la cantidad de tiempo que una CPU está en cada intervalo.

- Presentar muchas variables y (abscisas) en un solo gráfico: sobre todo si tienen diferentes escalas, ahorra espacio pero hace que la información se confunda. No representar más de 4 o 5.
- Usar símbolos en lugar de texto: en vez del nombre dado a una variable, debería usarse lo que contiene una variable; por ejemplo, en vez de %CPU, se debería usar Porcentaje de CPU dedicado al usuario, en un tipo de letra más pequeño, ya que lo que buscamos es que el usuario tenga que hacer el menor esfuerzo posible a la hora de entender nuestro gráfico.
- Seleccionar mal las escalas: muchas veces es mejor hacerlo a mano que automáticamente.
- Usar un gráfico de líneas en vez de uno de barras: en variables categóricas, se debe de usar un gráfico de barras.

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:

- Usar orígenes no nulos para hacer énfasis de la diferencia: cuando la diferencia es pequeña, se usa un origen no nulo para que parezca más grande.
- Trazar cantidades aleatorias sin los intervalos de confianza: la media transmite poca información si no se acompaña de la desviación típica, o rango o algún momento (medir ancho de banda).
- Usar pictogramas escalados por altitud: a veces se usan barquitos, o cochecitos... Siempre hay que tener en cuenta que es la altura, y no la superficie, lo que representa la cantidad.

- Usar tamaños de célula no adecuados en histogramas, y usar escalas partidas en gráficos de columnas. En el primer caso, hay que aplicar tests estadísticos para comprobar que se haya hecho adecuadamente; siempre tendrá que haber al menos 5 puntos experimentales en cada cubo (cuando hay una gran dispersión aleatoria en las variables).

Con esto terminamos el tema 2.

Para finalizar la clase explicamos la práctica 4 de forma breve.

Video del día : Gráficas de Gantt con Excel

No hay comentarios: