Rendimiento de computadores

Documentos relacionados
Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones

Rendimientos y costes

Arquitectura de Computadores II Clase #9

Tema 1. Aspectos fundamentales en el diseño de computadores: Rendimiento, consumo y coste. Organización de Computadores I Rendimiento y Coste

Rendimiento John Hennessy David Patterson,

Rendimiento John Hennessy David Patterson,

Práctica 1 - Rendimiento *

Medición del Rendimiento de Computadores

Medición del Rendimiento de Computadores

Organización del Computador I Verano. Rendimiento (2 de 3) Basado en el capítulo 1 del libro de Patterson y Hennessy

INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO MEDIDAS DE RENDIMIENTO

Soluciones a ejercicios de Fundamentos

Medición del rendimiento

Métricas de Rendimiento

Arquitectura de Computadores II Clase #9

Definición de prestaciones

Medición de Performance. Organización del Computador 1 Verano 2016

Arquitectura de computadoras y rendimiento de sistemas

Arquitectura de Computadores II Clase #11

Organización de Computadoras 66.20

INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO BENCHMARK

Arquitectura de Computadoras para Ingeniería

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción

Objetivos de la Planificación. Planificación Monoprocesador. Tipos de Planificación. Tiempo de respuesta Productividad Eficiencia del procesador

Definición. Alternativamente. Speedup = Universidad de Sonora Arquitectura de Computadoras 2

Medidas de rendimiento

Conceptos de Planificación

Procesamiento Paralelo

ANALISIS COMPARATIVO DEL RENDIMIENTO. PUA: Vergara Bruno Benjamín 2011

Pruebas aplicaciones base (application based) las ejecuta y las cronometra.

TEMA 4 PROCESAMIENTO PARALELO

Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010

Arquitectura de Computadores Problemas (hoja 2). Curso

Trabajo Práctico Número 1

3. SEGMENTACIÓN DEL CAUCE

Arquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012

Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento

Instrucciones de máquina y tipos de software

Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016

Evaluación del rendimiento de Algoritmos Paralelos y/o Concurrentes

Procesadores Superescalares

Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento

Sistemas Operativos Preguntas de Revisión

Clase práctica - Scheduling

Sistemas Operativos Scheduling de Procesos

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o

Programa de Arquitectura y Diseño de Computadoras Código:

Preguntas de autoevaluación tema 3

Manipulación de procesos

Ley de Amdahl Ley de Moore Prof. Gilberto Díaz

Clase Práctica - Scheduling

Ejercicios de Paralelismo a Nivel de Instrucción

HISTORIA DEL PIPELINE. Juan Antonio Romano Largo. Arquitectura de Computadores.

ALGORITMOS DE PROGRAMACIÓN NO EXPULSIVOS

Niveles de Planificación

Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento

Apellidos Nombre Grupo. Arquitectura e Ingeniería de Computadores. Examen Final (Teoría parte primer cuatrimestre). 18/06/2012

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

Memoria. Rendimiento del caché

Planificación de Procesos

Planificación de Monoprocesadores.

Transcripción:

+ Prof. José María Foces Morán Dept. IESA Universidad de León Rendimiento de computadores Tiempo de ejecución Tiempo de CPU Rendimiento comparativo Ley de Amdahl Ley de Gustaffson

+ Computador síncrono 2 El flanco activo de clock provoca que los resultados calculados se salven en registros Clock Frecuencia // Tcyc

+ Rapidez de un computador X 3 Cuánto tiempo tarda X en ejecutar un programa. Entre el inicio y el final de su ejecución Tiempo de respuesta Los usuarios están interesados en que el tiempo de respuesta se vea reducido. T ejecución X Su rapidez viene dada por su rendimiento

+ Rendimiento 4 El computador X tarda T x segundos en ejecutar un programa Su rendimiento viene dado por: R x = 1 T x

+ Rendimiento y tiempo de ejecución 5 Un aumento del tiempo de ejecución provoca una reducción del rendimiento y, a la inversa. R x = 1 T x

+ Cómo se comparan rendimientos 6 Convenio: Calcular cociente del rendimiento del más rápido vs. el menos rápido: R x = n R y Decimos que X es n veces más rápida que Y para el programa de prueba empleado Coherente con nuestra intuición

+ Instrumentos de medida 7 Los microprocesadores y los sistemas operativos tienen recursos especiales para medir tiempos, contar instrucciones ejecutadas, etc Tiempo: Tiempo de respuesta = tiempo de reloj = tiempo transcurrido = tiempo total Tiempo de CPU: Tiempo imputable a la ejecución de instrucciones de un proceso (programa en ejecución) De sistema De usuario

+ Sistemas operativos multitarea 8 El microprocesador se multiplexa en el tiempo: El planificador del sistema operativo asigna un lapso de tiempo a cada El micro pasa de un proceso a otro dando a todos una oportunidad de ejecutarse El algoritmo empleado, en su forma más básica se llama round-robin

+ Sistemas operativos multitarea 9 Cuánto tiempo de Cpu consume P n+2? La suma de los tiempos de todas las instrucciones de P n+2 ejecutadas Cuánto tiempo total tarda P n+2? T cpu n+2 + T switch + T cpu resto

+ Tiempo de CPU de una instrucción 10 CPI Clocks-per-instruction En este caso es 7 Cuánto tiempo de Cpu le corresponde? Supongamos T cyc = 1ns T cpu = N instr CPI T cyc =1instr 7 ciclos instrucción seg =1 7 1ns = 7ns ciclo

+ Tiempo de CPU de un proceso 11 Suma de tiempos en los que el proceso P ha estado ejecutándose Suma de tiempos de ejecución de cada instrucción del programa considerado En general, no coincide con el tiempo de respuesta Por qué?

+ Tiempo de CPU de un proceso 12 Un proceso puede encontrarse en estos estados Running: El micro está ejecutándolo Ready: Se encuentra listo para continuar su ejecución Sleeping: Se encuentra esperando a que termine una operación de i/o

+ Tiempo de CPU de un proceso 13

+ Ecuación del rendimiento 14 T cpu = N inst CPI T cyc! N inst instrucciones por programa! CPI promedio de ciclos de reloj por instrucción! T cyc segundos por ciclo de reloj!

+ Frecuencias de aparición de instrucciones en programas 15 Frecuencia estática Contar cuántas veces aparece la instrucción en el texto fuente del programa. Frecuencia dinámica Contar cuántas veces se ejecuta la instrucción en tiempo de ejecución del programa

+ Frecuencia estática, ejemplo. 16 addi $t1, $zero, 100! add $t0, $zero, $zero! inicio: beq $t0, $t1, fin!!!!add $s3, $s1, $s2!!!!addi $t0, $t0, 1!!!!j inicio! or $s7, $s7, $s6! and $s7, $s7, $s5! 5 4 3 2 1 0 add beq j or and

+ Frecuencias dinámicas, ejemplo. 17 addi $t1, $zero, 100! add $t0, $zero, $zero! inicio: beq $t0, $t1, fin!!!!add $s3, $s1, $s2!!!!addi $t0, $t0, 1!!!!j inicio! or $s7, $s7, $s6! and $s7, $s7, $s5! 250 200 150 100 50 0 add beq j or and

+ Ley de Amdahl 18 La mejora global obtenida al introducir una mejora en una parte de un sistema depende de la proporción de tiempo que se use esa mejora Ley de los retornos menores Ejemplo: Mejoramos la FPU un 20% Cómo afecta al rendimiento global? No afecta en nada si no se usa la FPU Afecta poco, si se usa poco.

+ Ley de Amdahl 19 Fórmula 1 (libro): Tiempo de ejecución final obtenido: T execafter = T execaffected Amount of improvement + T exec not affected

+ Ley de Amdahl 20 Fórmula 2: Aceleración final obtenida: mejora del rendimiento final S overall = 1 (1 f ) + f k k = S enh (Hennessy & Patterson)

+ Ley de Amdahl 21 Aceleración global, casos interesantes: S overall = 1 (1 f ) + f k f = 0 A =1 f =1 A = k lim k S overall = 1 1 f

+ Ley de Amdahl y paralelismo 22 La ley de Amdahl aplicada a procesadores paralelos toma una forma particular Ejemplo: Necesitamos reducir el tiempo de ejecución de un programa P, pero, no podemos mejorar más el algoritmo Podemos emplear un sistema con 1024 procesadores Qué ganancia de velocidad obtendremos? (Aceleración) Dependerá de qué proporción de tiempo se usen los 1024 procesadores en paralelo Habrá operaciones de nuestro programa que no serán paralelizables, habrán de ejecutarse en serie.

+ Ley de Amdahl y paralelismo 23 Formulación de la ley de Amdahl para procesadores paralelos: 1-f: Es la fracción no mejorada, esto es, la porción serie de nuestro programa, la llamaremos s. f: Es la fracción mejorada, la llamaremos p. N: Es el número de procesadores (K en nuestra formulación original), o sea, el grado de mejora. Speedup = 1 = 1 (1 f ) + f N s + p N

+ Ley de Amdahl y paralelismo 1200 1000 24 Para lograr una aceleración igual a N, s ha de ser practicamente 0. Speedup 800 N=1024 Parece que no hay muchas oportunidades de maximizar el aprovechamiento de N Speedup = 1 600 400 200 Serie2 s + p N 0 1 13 25 37 49 61 73 85 97 109 121 133 145 157 169 181 193 205 217 229 241 253 s

+ Ley de Gustafson 25 Estamos asumiendo que p es independiente de N, pero, este no es el caso. Es decir, el tamaño del problema, normalmente se escala al número de procesadores Entonces, surgen mayores oportunidades de aprovechar el paralelismo inherente al problema Las perspectivas son mejores que con la ley de Amdahl La cantidad de trabajo que puede realizarse en paralelo depende linealmente de N Conclusión: La aceleración derivada de uso de un computador masivamente paralelo, si el problema puede escalarse a N, es ostensiblemente superior al cálculo de Amdahl

+ Ley de Gustafson 26 En este contexto, distinguimos dos tipos de escalabilidad Fuerte. Basada en la ley de Amdahl, tiene lugar en aquellos algoritmos que contienen una gran cantidad de paralelismo inherente. Débil. Basada en la ley de Gustafson: Conforme el número de procesadores y el tamaño del problema crecen de tal forma que el trabajo por procesador permanezca constante, la velocidad de cada procesador en operaciones por segundo también permanece constante. Esta es la dependencia N//p de la que hablamos anteriormente Si esta relación es lineal, podemos afirmar que la cantidad de trabajo por procesador es lineal y que, por tanto, el tiempo de ejecución paralelo es constante a medida que crece N.

+ Medidas de productividad 27 (Throughput) MIPS Millones de Instrucciones por Segundo Sólamente computación entera Se trata de un ratio Mejor cuanto más grande intuición Problema: No explica el trabajo realizado en cada instrucción MFLOPS Millones de Operaciones de Punto Flotante por Segundo Mide el número de operaciones de FP realizadas, no instrucciones Sí nos da una idea de la cantidad de trabajo realizado

+ Benchmarks 28 Qué es mejor medir para establecer la potencia de un sistema? MIPS MFLOPS Transacciones/segundo Depende del uso del sistema Un benchmark es un conjunto de pruebas de rendimiento representativas de un dominio Así, las conclusiones podrán ser aplicables en ese dominio

+ Benchmarks 29 Programas para medir rendimientos MIPS, MFLOPS, etc Dhrystone, Whetstone, Sieve, etc Benchmarks sintéticos Estándares de facto SPEC: System Performance Evaluation Cooperative benchmark Int Float Basados en programas de uso muy frecuente http://www.spec.org/

+ Ejercicios 30 Pizarra Libro de texto, cap.2 Ejercicios resueltos interactivos: http://paloalto.unileon.es/wee/index.html paloalto.unileon.es/mel Exámenes antiguos Ejercicios resueltos Blog mel