ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programación no lineal.


Enviado por   •  19 de Mayo de 2016  •  Apuntes  •  2.430 Palabras (10 Páginas)  •  141 Visitas

Página 1 de 10
  1. RENDIMIENTO DE UN COMPUTADOR.
  1. Complejidad de definir claramente el rendimiento de un computador.
  2. El tiempo como una medida del Rendimiento.
  1. a menor tiempo mayor rendimiento.
  2. ¿que tiempo es el que se tiene en cuenta?
  1. tiempo de ejecución de un programa.
  2. tiempo de respuesta. Incluye:
  1. Acceso a discos.
  2. Acceso a memoria.
  3. Gasto del Sistema Operativo.
  4. etc.
  1. Entorno multiprogramación.
  1. tiempo de CPU.
  1. no incluye E/S.
  2. no incluye tareas del Sistema.
  1. Rendimiento como tiempo de CPU.

CCPU = NI * CPI.

tCPU = NI * CPI * 1/fr

CCPU = ciclos de reloj de la CPU

NI = nº de instrucciones.

CPI = nº de ciclos por instrucción.

fr = frecuencia de reloj.

  1. El aumento del rendimiento depende de tres factores.
  1. fr: Tecnología hardware y organización.
  2. CPI: organización, arquitectura a nivel de lenguaje máquina.
  3. NI: arquitectura a nivel de lenguaje máquina y tecnología de compiladores.
  1. Otra forma de definir los ciclos de CPU.

Ii : nº de veces de la instrucción i.

CPIi: ciclos por instrucción de la instrucción i.

T: periodo señal de reloj

  1. Ahora el CPI puede obtenerse:

  1. El cálculo de CPIi debe incluir fallos de caché y demás ineficiencias del sistema de memoria.
  2. Dilema:
  1. disminuir el nº de instrucciones: puede conducir a una organización con un T mayor.
  2. disminuir el CPI: puede conducir a un aumento del NI.
  3. aumentar fr: problemas de tecnología.
  4. hay que tener en cuenta la frecuencia de las Instrucciones.
  1. Ejemplo I:

CPU-A: Una instrucción de comparación

   Una instrucción de salto condicional

   CPIsalto = 2 ciclos

   CPIresto = 1 ciclo

CPU-B: Una comparación que incluye el salto (DBEQ).

               CPsalto = 2 ciclos

El ciclo de reloj de la CPU-A es un 25% más rápido que el de la CPU-B.

CPU-A        20%  de Salto => 20%  de comparación.

CPU-B        20 de 80 de Salto ⇒ 25%  de Salto ⇒ 80%  de instrucción respecto a CPU-A

La CPU-A es más rápida a pesar de tener la CPU-B menos instrucciones.

  1. Ejemplo II:
  1. El mismo caso pero con unas diferencias en las frecuencias de reloj de solo el 10%        
  1. En este caso la máquina B es más rápida.
  1. Ejemplo III:
  1. Máquina A de carga/almacenamiento cuya frecuencia y ciclos de las instrucciones se da en la figura:
  1. Fig. 2.2 pag. 42 Hannesy (blanco)
  1. Máquina B: el 25% de las operaciones en la ALU utiliza un dato cargado que no se utiliza de nuevo.
  2. Se añaden instrucciones a la ALU con un operando en memoria de duración 2 ciclos.
  3. La duración de un salto es de 1 ciclo de reloj más.
  4. No se afecta la frecuencia del reloj.

Añadir nuevas instrucciones empeora el rendimiento.

  1. Medidas del rendimiento.
  1. MIPS: Millones de Instrucciones por segundo.
  1. Una forma de intentar indicar el rendimiento de un computador.

  1. su relación con el tiempo de ejecución:

  1. Ventajas de la métrica de MIPS.
  1. Fáciles de entender.
  2. Mayor MIPS mayor rapidez de ejecución.
  1. Inconvenientes:
  1. Los MIPS dependen del repertorio de Instrucciones.
  1. difícil comparar máquinas con diferente conjunto de instrucciones.
  1. Los MIPS varían entre programas en un mismo computador.
  2. Los MIPS pueden variar inversamente al rendimiento.
  1. ejemplo de máquinas con hardware en punto flotante.
  1. Si dispone baja los MIPS
  2. Si no dispone suben los MIPS.
  1. Los MIPS no reflejan el tiempo de computación y pueden fallar al dar una visión del rendimiento del computador.
  2. Se puede dar como medida los MIPS relativos a una máquina patrón.

tiempo referencia: tiempo del programa en la maquina de referencia

tiempo no estimado: tiempo de ejecución del programa en la máquina a medir

MIPSreferencia: MIPS de la máquina de referencia

  1. Problema de encontrar una máquina de referencia (VAX-11/780 en los años ochenta)
  2. A medida que el software se desarrolla (modernos computadores) hay dificultades de acoplarlos a máquinas de referencia.
  3. Los MIPS relativos no aportan demasiadas ventajas ya que hay que conocer el tiempo de ejecución, el programa y la entrada.
  1. MFLOPS: Millones de operaciones en punto flotante por segundo.

  1. Son aplicables a problemas que impliquen cálculo en P.F. (p. ej. para un compilador no sirve).
  2. No todas las operaciones en P.F. tienen la misma importancia.

  1. Fig. 2.3 pag. 46 Hennesy
  1. Ejemplo:
  1. Programa Spice ejecutándose en ua DESStation 3100 en 94 segundos.
  2. El nº de instrucciones en P.F. se muestra en la figura.
  1. Fig. Pag. 47 Hennesy.
  1. La estimación de MFLOPS para un programa no puede generalizarse para todo programa por lo que no son una medida útil para todos los programas.
  1. Elección de programas para evaluar el Rendimiento.
  1. El usuario de un computador que ejecute día tras día un conjunto de programas es el ideal para evaluar.
  2. Hay diferentes niveles de programas usados para evaluar el rendimiento.
  1. Programas reales:
  1. Compiladores C.
  2. Software de tratamiento de textos.
  3. Herramientas CAD (Spice).
  1. Estos tienen entradas, salidas y opciones que actúan mientras se ejecute el programa.
  1. Núcleos (Kernels).
  1. Se extrae piezas claves de programas para evaluar el rendimieto.
  1. “Livermore Loops” y “Linpack”.
  1. Estos núcleos sólo se utilizan para evaluar rendimiento.
  1. Bechmarks reducidos.
  1. Programas reducidos, entre 10 y 100 líneas, con resultados conocidos antes de ejecutar.
  1. Criba de Eratóstenes.
  2. Puzzle.
  3. Clasificación rápida (Quick sort).
  1. Benchmarks Sintéticos.
  1. no son parte de programas reales y no los ejecutan los usuarios porque no dan nada.
  2. intentar determinar la frecuencia media de operaciones y operandos de un gran conjunto de programas.
  1. Whetstone.
  2. Dhrystone.
  1. Peligro de dirigir la optimización de los computadores a dar buenos valores de Benchmarks sintéticos.
  1. La utilización de “Benchmarks” y “Núcleos” puede ser atractiva cuando se empieza con un diseño.
  1. son pequeños y fácilmente simulables.
  2. se pueden hacer a mano.
  3. pueden ejecutarse aunque no exista todavía compilador.
  4. son fáciles de standarizar.
  1. No puede extenderse para evaluar el rendimiento de sistemas computadores en funcionamiento.
  1. Standarización de Sistemas Operativos: UNIX, DOS.
  2. Existencia de software de distribución libre.
  3. Poder ejecutar todo programa real en cualquier máquina.
  1. Información sobre los resultados del rendimiento.
  1. Reproductibilidad:
  1. Todos los datos necesarios para que todo usuario pueda repetir las medidas.
  1. Decir que el programa Spice emplea en ejecutarse 94 seg. en una DECStation 3100 no es suficiente:
  1. ¿Hay entradas?
  2. ¿Qué compilador se ha usado?
  3. ¿Cuanta memoria principal?
  4. ¿Cuantos discos y tipo usados?
  1. Comparación y resumen de rendimientos:
  1. Cuando se ejecutan programas se puede llegar a cierta confusión en comparación de un solo programa.
  1. cuadro de la fig. 2.6 pag. 53
  1. El tiempo total de ejecución:
  1. es la aproximación más sencilla:
  1. otra posible medida es la media aritmética:
  1. Tiempo de ejecución ponderado:
  1. ¿cuál es la mezcla adecuada de programa para la carga de trabajo?

Pi es la frecuencia del programa i-esimo de la carga de trabajo.

...

Descargar como (para miembros actualizados)  txt (9.4 Kb)   pdf (180.7 Kb)   docx (569.5 Kb)  
Leer 9 páginas más »
Disponible sólo en Clubensayos.com