Archivo de la categoría ‘ERC’

Medidas de tendencia central para el rendimiento de un S.I.

Miércoles, 9 de diciembre de 2009

Media aritmética:

 \overline X_A = {1 \over n} \cdot {\sum_{i=1}^n x_i}

Media geométrica:

 \overline X_G = ({\prod_{i=1}^n x_i})^{1 \over n}

Media armónica:

 \overline X_H = {1 \over {\sum_{i=1}^n {1 \over x_i}}}

También hay dos medidas de centralización que pueden ayudar en el rendimiento. Son la media y la moda. Para ambos valores necesitamos tener la muestra de rendimientos ordenada, lo que supone un coste extra.

La mediana es justo el valor que esta en el medio, si la muestra es par, entonces por convenio se coge el de la izquierda o una media entre los dos valores centrales. Por ejemplo si tenemos (1, 2, 3, 4) sumamos el 2 y el 3 y lo dividimos por la mitad. La mediana resultante es 2.5.

La moda es el valor que mas se repite en la muestra, si hay dos con la misma frecuencia, entonces hay dos modas o bimodal, tres trimodal. A partir de cuarto empate, la moda no existe.

Cuando conocemos la frecuencia de los programas que queremos medir utilizaremos las medias ponderadas. Para ello tenemos que recordar que la suma de las frecuencias siempre sera igual a 1:

 1 = {1 \over n} \cdot \sum_{i=1}^n w_i

Donde el “w sub i” son las frecuencias, se vera mucho mas claro en los ejemplos.

Media aritmética ponderada:

 \overline X_A = {1 \over n} \cdot {\sum_{i=1}^n x_i \cdot w_i}

Media geométrica ponderada:

 \overline X_G = ({\prod_{i=1}^n {x_i^{w_i}}})

Media armónica ponderada:

 \overline X_H = {1 \over {\sum_{i=1}^n {w_i \over x_i}}}

Bueno ahora lo importante, para que queremos estas 6 formulas, pues basicamente se utilizan segun estas directrices:

  • Media aritmética se utiliza para calcular tiempos de ejecución.
  • Media armónica se utiliza para ratios (MIPS y MFLOPS).
  • Media geométrica para otros indices (con mas factores).
  • Mediana y moda se utiliza cuando las demás no son suficientemente representativas.

Analisis comparativo de rendimiento de dos Sistemas Informaticos.

Martes, 1 de diciembre de 2009
Una tabla de barras horizontal que mide MFLOPS de los procesadores.

Una tabla de barras horizontal que mide MFLOPS de los procesadores.

El objetivo es el comparar el rendimiento de dos S.I. (Sistemas informaticos). Fundamentalmente medimos tiempo de ejecucion de un conjunto de programas. Estos programas en general son los habituales. Estos programas los llamamos benchmark. El tiempo de ejecucion es la unica medida fiable de para medir el rendimiento de un computador.

Medidas de rendimiento MIPS y MFLOPS.

1. MIPS (Millones de instrucciones por segundo). Se calcula con la siguiente formula:

MIPS = Num de instrucciones /( tiempo de ejecucion * 10^6)

La ventaja de MIPS es que son faciles de calcular. La desventaja es que depende directamente del juego de instrucciones del computador. No es lo mismo ejecutar la operacion ADD (suma) que LOAD (carga desde memoria). Algunas tardan mas otras menos.

2. MFLOPS (Millones de operaciones de coma flotante por segundo). Se calcula con la siguiente formula:

MFLOPS = Num de instrucciones por segundo / (Tiempo de ejecucion * 10^6)

La ventaja de MFLOPS es que tambien es bastante facil de calcular, mientras la desventaja es que depende de la arquitectura hardware. Es una medida algo mas fiable que MIPS. Se puede aplicar una mejora, los MFLOPS normalizados.

3. Tiempo de ejecucion. Se calcula mediante el siguiente producto:

T = I*CPI*t

Donde:

  • I es numero de instrucciones a ejecutar.
  • CPI numero medio de instrucciones de reloj. (Cuantas instrucciones se ejecuta por ciclo de reloj)
  • t el tiempo de ciclo de reloj.

Ejemplos:

Por ejemplo si tenemos un programa de calculo numerico que se ejecuta en 2 minutos y hace las siguientes operaciones de coma flotante en ese tiempo.

Operaciones FLOPS, cantidad y normalizacion.

Operaciones FLOPS, cantidad y normalizacion.

Si calculamos sin la normalizacion, considerando que todas las operaciones son identicas en tiempo. Tenemos:

MFLOPS = (78 + 29 + 13 + 42) / 120 segundos = 1,35 MFLOPS.

Los 10^6 de la formula se van en la division, por eso no esta puesto. Pero esto no es real, si tenemos en cuenta la normalizacion. Por ejemplo la tabla nos dice que 1 operacion ADD es igual a 12 operacion EXP en tiempo. Si lo aplicamos en la formula:

MFLOPS = (78*1 + 29*3 + 13*8 + 42*12) / 120 = 6,442 MFLOPS

Una cifra bastante mas grande, y sobre todo mucho mas real.

Introducción a evaluación del rendimiento de un sistema informático. Primera parte.

Jueves, 22 de octubre de 2009

Sietema informatico.

Sietema informatico.

Estas es una pequeña introducción, de la asignatura. El principio es bastante aburrido, ya que se trata de conocer las definiciones y unas pocas nociones teóricas para poder comprender mejor. Mas adelante se centrara en la practica, evaluar rendimiento de un sistema Unix (Unix)

Definiciones:

Antes de definir nada, planteemos que es un sistema informático, esta palabra tendrá una redundancia en el texto “bestial”, es fundamental entenderla correctamente. Es un concepto muy, pero que muy amplio, recurriendo a la wikipedia:

Un sistema informático como todo sistema, es el conjunto de partes interrelacionadas, hardware, software y de Recurso Humano (humanware). Un sistema informático típico emplea una computadora que usa dispositivos programables para capturar, almacenar y procesar datos.

Vamos que un ordenador, mas una persona que lo maneja es un sistema informático, también una oficina llena de gente con sus computadores podría considerarse un sistema informático.

Evaluación del rendimiento de un sistema informática es una medida de la calidad en el uso del Hardware respecto a un conjunto de programas llamado “carga del sistema” donde puede existir interacción con usuarios.

Usuario: cualquier persona o cualquier programa que solicitan ejecución de tareas al sistema informático. Por ejemplo: una persona solicita la impresión de un documento, para ello pulsa el botón imprimir.

  1. Pulsa el botón imprimir – >un usuario intermedio (programa) solicita el encolado de la tarea en la cola de impresión.
  2. Otro ejemplo: Un teléfono móvil cada 3 segundos emite una señal solicitando localización por la antena mas próxima.

Carga del sistema: conjunto de programas que se ejecutan en el S.I. par satisfacer a los usuarios, suele ser un conjunto complejo y variable en el tiempo.

Por ejemplo: en la secretaria de alumnos de la fdi (facultad de informática de la complutense), una persona realiza la tarea de dar de alta y matricular a los alumnos. La carga del sistema puede ser el conjunto siguiente:

1. Interfaz de introducción de datos.
2. Almacenamiento en la B.D.
3. Programa de gestión de impresión e informes diarios.
4. Backup de datos.

Definir la carga del sistema nos sirve para modular correctamente el S.I. en conjunción con los dispositivos físicos y las relaciones existentes entre ellos.

Como y para que medir el rendimiento de un sistema informático.

Por ejemplo en función de medidas tradicionales, o sea, en las primeras maquinas lo controlaba el propio programador, prácticamente no existía el software, todo se media en los siguientes elementos.

  • Longitud de la palabra.
  • Repertorio de instrucciones.
  • Ciclos base de la C.P.U.
  • Tiempo de ejecución de una instrucción básica.

Con el tiempo, gracias a los avances tecnológicos necesitamos medir en función de otros elementos no solo el Hardware sino el Software.

Objetivos fundamentales de la evaluación del rendimiento:

1. Encontrar factores que impidan un buen funcionamiento del sistema informático.

Cuello de botella: es una situación en la que muchos dispositivos del sistema informático. realizan una petición a otro, o si un dispositivo recibe muchas peticiones. Se trata de evaluar el rendimiento del dispositivo donde se encuentra el cuello de botella.

2. Predicción del comportamiento de un sistema informático.

  • Con la carga de trabajo habitual  (el sistema informático envejece). Por ejemplo, se necesita ampliar la capacidad del disco duro en 3 meses
  • Con una nueva carga de trabajo (Sistemas informáticos muy dinámicos) Por ejemplo,  en un banco, se desea predecir el comportamiento de la aplicación web, ante una posible avalancha de transacciones.

Se plantea la siguiente cuestión: ¿ Cuando debemos realizar una evaluación del rendimiento? Las posibles respuestas son las siguientes:

    1. Se fabrica una maquina nueva.
    2. Se quiere diseñar un sistema informático nuevo.
    3. Se quiere seleccionar un sistema informático entre varias alternativas.
    4. Se quiere planificar la capacidad de un sistema informático.
    5. Se quiere ajustar un sistema informático (operaciones de mantenimiento)