La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ARQUITECTURA DE MÁQUINAS COMPUTADORAS III Introducción

Presentaciones similares


Presentación del tema: "ARQUITECTURA DE MÁQUINAS COMPUTADORAS III Introducción"— Transcripción de la presentación:

1 ARQUITECTURA DE MÁQUINAS COMPUTADORAS III Introducción
Ing. José Díaz Chow

2 Introducción a la Asignatura
Presentación Contacto Schedule Diagnóstico Syllabus

3 Docente José Leónidas Díaz Chow Ingeniero en computación
Profesor asistente Facultad de Electrotecnia y Computación. Director del Banco de Proyectos del Sistema Nacional de Inversión Pública (SNIP) Miembro profesional ACM: Contacto:

4 Introducción a la Asignatura
Horarios (5T1-Co) Hora Lunes Martes Miércoles Jueves Viernes 4:10-5:50 IA Aplicaciones Graficas 6:00-7:30 IS II Redes AMC III 7:30-9:00

5 Introducción a la Asignatura
Horarios (5T2-Co) Hora Lunes Martes Miércoles Jueves Viernes 4:10-5:50 IA Tendencias Tecnológicas Redes 6:00-7:30 IS II AMC III 7:30-9:00

6 Introducción a la Asignatura
Diagnóstico ¿Qué creen que estudiaremos en esta asignatura?

7 Introducción a la Asignatura
Diagnóstico ¿Qué creen ustedes que estudiaremos en esta asignatura? Lluvia de Ideas: Objetivos Contenidos Relación con AMC1 y AMC2 Mapa Conceptual

8 Introducción a la Asignatura
Syllabus [Objetivo general] Obtener conocimientos de las técnicas de evaluación del desempeño del sistema de cómputo y las tecnologías de diseño que se han desarrollado para mejorar las prestaciones de las computadoras modernas.

9 Introducción a la Asignatura
AMC3 Evaluación de Desempeño Mejora del Rendimiento Procesadores Segmentados Arquitecturas SIMD Arquitecturas MIMD Tendencias actuales Syllabus [Objetivos Específicos]

10 Introducción a la Asignatura
Syllabus [Contenidos] Unidad TEMA C CP LAB SEM Total I Paralelismo y mejora del rendimiento 16 4 24 II Segmentación 6 12 2 36 III Computación SIMD. 8 18 IV Computación MIMD TOTALES 48 14 28 96

11 Introducción a la Asignatura
Sistemáticos (20%) 1er Examen Parcial (30%) 2do Examen Parcial (30%) Laboratorios (20%) Syllabus [Evaluación]

12 Introducción a la Asignatura
Syllabus [Recursos] Todos disponibles en el portal web de la asignatura: Documentación Libros Folleto de la asignatura Artículos Presentaciones Guías de Clases prácticas Guías y herramientas de laboratorios

13 Bibliografía Arquitectura de Computadoras y procesamiento paralelo.
Kai Hwang Fayé A. Briggs Cubre todo el contenido de la asignatura. Abundantes ejemplos de implementación de arquitecturas reales.

14 Bibliografía Arquitectura de Computadoras – Un enfoque cuantitativo.
John Hennessy David Patterson Especialmente útil en unidades 1 y 2, aunque cubre todo el contenido de la clase. Enfoque evaluativo de la arquitectura.

15 Bibliografía Modern Computer Architecture.
Rafiquzzaman & Chandra Enfoque sintético de muchos temas. Arquitectura de Computadoras. Morris Mano Enfoque más bien organizacional, excelente abordaje de los multiprocesadores.

16 Bibliografía Organización y arquitectura de Computadores.
William Stallings Enfoque general. Ejemplos de arquitecturas modernas. Organización de Computadoras. Hamacher/ Vranesic/ Zaky Fundamentos anteriores.

17 Unidad 1: PARALELISMO Y MEJORA DEL RENDIMIENTO
Ing. José Leónidas Díaz Chow

18 1. Evaluación del Desempeño
¿De qué? ¿Cómo? Evaluación Evaluación de la Computadora

19 Las computadoras son cada vez más poderosas
¿Verdad o falsedad? ¿Cómo puedo saberlo? EVALUAR (Dar valor, valorar) Medible ¿Como ingeniero, dispongo de la técnica apropiada?

20 ¿Qué quiero yo de una Computadora?
Ofertas de PC : ¿ Qué características presentan? ¿Cuál o cuáles me interesan más a mí? ¿Por qué?

21 Algunas características de Aviones
Aeroplano Capacidad [Pasajeros] Alcance [Millas] Velocidad [M.p.h.] Productividad [Pasajeros X Mph] Boeing 101 630 598 60,398 Boeing 747 470 4,150 610 286,700 BAC/Sub Concord 132 4,000 1,350 178,200 Douglas DC-8-50 146 8,720 544 79,424

22 Evaluación del Desempeño
¿Por qué es importante saber qué tan bueno es el desempeño de cada avión? ¿Por qué es importante saber qué tan bueno es el desempeño de una Computadora? ¿Para qué me sirve?

23 Evaluación del Desempeño
Determinar rendimiento Medir  Categorizar Comparar Toma de decisiones Aplicación Mejorar Reemplazar

24 Evaluación del Desempeño
Determinar rendimiento Diferentes Momentos Diseño Construcción Explotación

25 Conceptos de Evaluación
Entidad: Objeto en evaluación [Computador] Concepto cuantificable: Lo que deseamos evaluar de la entidad: rendimiento, calidad, etc. Factores: atributos o características de la entidad que determinan el concepto cuantificable. Deben ser medibles directa o indirectamente (magnitudes). Medida: valor de una magnitud obtenido mediante un instrumento de medición confiable. Métrica.

26 Métrica El método de medición definido y la escala de medición [ISO :1999]. Medidas estándarizadas Permiten comparar arquitecturas disímiles Base para el establecimiento de indicadores de desempeño

27 Métricas de desempeño Externas: Interna
Latencia o tiempo de respuesta. Productividad Disponibilidad Interna Utilización

28 Métricas de desempeño Externas: Interna
Latencia o tiempo de respuesta. t Productividad. w Disponibilidad. d Interna Utilización. g

29 Consideraciones de Costo
¡Desempeño a Cualquier Costo! Evaluación Costo-Beneficio Consideraciones económicas: ROI y TCO Avances tecnológicos  Eficiencia Menor consumo de material Menor consumo de energía Efectos comerciales Masificación y economías de escala

30 Técnicas de Evaluación
Medida del rendimiento de la ejecución Sistema real Modelado analítico Sistema real o proyectado Modelado por simulación Sistema real o proyectado. Modelado Híbrido

31 Rendimiento El tiempo de ejecución (t) es la medida que mejor caracteriza el rendimiento de la computadora. Rendimiento está en proporción inversa al tiempo de ejecución: 𝑹= 𝟏 𝒕

32 Rendimiento Una computadora A ejecuta un programa de prueba p en 10 segundos. ¿Cuánto es su rendimiento? 𝑅= 1 𝑡 = 1 10 =0.1 ¿ Qué utilidad ?  Comparar 2 computadoras

33 Rendimiento A ejecuta un programa p en 10 segundos y B ejecuta p en 12. ¿Cuánto es el rendimiento de cada una? ¿Cuál rinde más? 𝑅 𝑎 = 1 𝑡 𝑎 = 1 10 =0.1 𝑅 𝑏 = 1 𝑡 𝑏 = 1 12 =0.083 A rinde más

34 Rendimiento: La relación del rendimiento de dos Computadoras X e Y: n = Rx/Ry. n representa cómo es el rendimiento de X respecto al rendimiento de Y. n se conoce como ganancia “G” (si X es un reemplazo de Y) o como aceleración (A) o mejora de rendimiento (si X es una evolución de la misma arquitectura de Y).

35 Rendimiento A ejecuta un programa p en 10 segundos y B ejecuta p en 12. ¿Cuánto es el rendimiento de cada una? ¿Cuál rinde más? 𝑅 𝑎 = 1 𝑡 𝑎 = 1 10 =0.1 𝑅 𝑏 = 1 𝑡 𝑏 = 1 12 =0.083 𝑛= 𝑅 𝑎 𝑅 𝑏 = =1.2 n > 1  Ra > Rb

36 Rendimiento n’ = n – 1 Incremento neto de rendimiento:
Porcentaje de superación en rendimiento de dos PC: n% = ( n – 1) * 100% También esto se puede expresar como: 𝒏 % = 𝑹 𝒙 − 𝑹 𝒚 𝑹 𝒚 ∗𝟏𝟎𝟎% 𝒏 % = 𝒕 𝒚 − 𝒕 𝒙 𝒕 𝒙 ∗𝟏𝟎𝟎%

37 Rendimiento A ejecuta un programa p en 10 segundos y B ejecuta p en 12. Determine incremento de rendimiento neto y el incremento neto porcentual. 𝑅 𝑎 = 1 𝑡 𝑎 = 1 10 =0.1 𝑅 𝑏 = 1 𝑡 𝑏 = 1 12 =0.083 𝑛´ = 𝑅 𝑎 𝑅 𝑏 −1 = −1=0.2 𝑛 % = 𝑅 𝑎 𝑅 𝑏 −1 ∗100%= −1 ∗100%=20%

38 Factores que determinan el tiempo de ejecución
Período del pulso de reloj base del procesador: Pulso más ancho, mayor latencia. Y por ende la Frecuencia de reloj, ya que 𝑓= 1 𝝉 Podemos decir que: 𝑡 ∝ 𝝉  𝑡=𝑐 ∗ 𝝉 ∴ 𝑡= 𝑐 𝑓 La constante c acá corresponde al número total de ciclos de reloj que consumió el programa.

39 Factores que determinan el tiempo de ejecución
Ejemplo : Suponga que la máquina A ejecuta un programa p en 10s y su CPU tiene una frecuencia de reloj de 100MHz. Usted está diseñando una máquina B y quiere que ésta ejecute p en solamente 6 segundos aunque sabe que para ello requiere una mayor frecuencia de reloj y como consecuencia, serán requeridos 20% más de ciclos para completar p. ¿Qué frecuencia debe tener B para lograr el objetivo?

40 Factores que determinan el tiempo de ejecución
Datos : 𝑡 𝑎 =10𝑠 𝑓 𝑎 =100 𝑀𝐻𝑧 𝑡 𝑏 =6𝑠 𝑓 𝑏 = ? 𝑐 𝑏 =1.2 ∗ 𝑐 𝑎 (20% más) Modelo: 𝑡= 𝑐 𝑓  𝑓 𝑏 = 𝑐 𝑏 𝑡 𝑏 𝑡= 𝑐 𝑓  𝑐 𝑎 = 𝑡 𝑎 ∗ 𝑓 𝑎 𝑐 𝑏 = 1.2 ∗𝑐 𝑎 Solución: 𝐶 𝑎 = 𝑡 𝑎 ∗ 𝑓 𝑎 =10𝑠 ∗100𝑀𝐻𝑧=1000∗ 10 6 𝑓 𝑏 = 𝑐 𝑏 𝑡 𝑏 = (1.2 ∗ 𝑐 𝑎 ) 𝑡 𝑏 = 1.2∗1000∗ 𝑠 =200 𝑀𝐻𝑧

41 Cálculo del tiempo de Ejecución
El tiempo de ejecución depende netamente del total de ciclos requeridos para ejecutar el programa y del período o duración del ciclo. Un programa es una serie de instrucciones (N) a ejecutar. Cada instrucción consume una cantidad de ciclos. La cantidad total de ciclos que emplea una máquina para ejecutar un programa corresponde a la suma de los ciclos que consumen cada una de sus instrucciones. Por tanto:

42 Cálculo del tiempo de Ejecución
Es posible determinar grupos de instrucciones que tienen la misma cantidad de ciclos de ejecución. Siendo CPI la cantidad de ciclos por instrucción que utilizan las instrucciones del grupo i-ésimo y Ni la cantidad total de instrucciones del grupo i-ésimo ejecutadas.

43 Cálculo del tiempo de Ejecución
En algunas arquitecturas incluso, el CPI es constante o se puede aproximar con bastante precisión como la cantidad media de ciclos por instrucción, con lo cual, t se podría definir como: 𝑡=𝝉 ∗𝐶𝑃𝐼 ∗𝑁= 𝐶𝑃𝐼 ∗𝑁 𝑓 Donde CPI es la cantidad constante de ciclos por instrucción y N es el total de instrucciones ejecutadas.

44 Ley de Amdahl Uno para Todos y Todos para Uno
¿Qué pasa si Uno no es para Todos? Cuando el rendimiento de una PC es mayor como efecto de introducir una mejora, decimos que tenemos una aceleración de rendimiento.

45 Ley de Amdahl La aceleración global del sistema, sin embargo, estará limitada por la fracción de tiempo en que dicha mejora es efectiva. Papel de la Utilización Ag = Rmejorado/Roriginal Rmejorado = Rnuevo * % tiempo usada mejora + Roriginal * % tiempo sin usar mejora

46 Ley de Amdhal Siendo tg el nuevo tiempo de ejecución global del sistema al incorporar la mejora, t el tiempo de ejecución original sin mejora, n la ganancia o aceleración parcial que la mejora proporciona, y g, la fracción mejorada (utilización) o el porcentaje de tiempo real que la mejora es efectiva, entonces: tg = t tramo en que la mejora es efectiva + t tramo sin mejora

47 Ley de Amdhal

48 Ley de Amdhal Ejemplo: Si una máquina se mejora duplicando la frecuencia del CPU, pero la mejora solo es efectiva durante el 60% del ciclo de instrucción por el acceso a memoria, la aceleración global del sistema sería: Ag = 1 / (0.6/2) = 1/ 0.7 = 1.43 Nota: g = 0.6 y n = 2

49 Ley de Amdhal Conclusiones: Agilizar el caso común.
Evitar las excepciones en el mainstream de procesamiento (penalizar a todos por unos pocos).

50 Métricas populares de rendimiento MIPS
MIPS Millones de Instrucciones (ejecutadas) por Segundo. Velocidad o frecuencia de ejecución de instrucciones. Métrica del tipo productividad. Es una frecuencia, expresa el rendimiento en proporción inversa al tiempo lo cual es adecuado porque mayores MIPS indican máquinas más rápidas. El problema: “si se emplea como método comparativo, debe tenerse cuidado que las máquinas tengan características similares”.

51 Métricas populares de rendimiento “MIPS relativos”
Surgen para resolver el problema de dos máquinas con repertorios o arquitecturas diferentes. Contrasta los MIPS de una máquina en comparación con una máquina de referencia. Técnica: Los MIPS relativos se obtienen del producto de la razón de los tiempos de ejecución de una máquina de referencia y la evaluada con los MIPS de la máquina de referencia.

52 Métricas populares de rendimiento MFLOPS
Millones de Instrucciones en Coma Flotante por Segundo. Solo contabiliza las operaciones en punto flotante. Son más consistentes que los MIPS por cuanto la cantidad de operaciones no cambia de máquina a máquina. Problema: los conjuntos de operaciones en punto flotante disponibles de máquina a máquina no son estándares y por tanto algunas operaciones se deben implementar en función de otras.

53 Métricas populares: MFLOPS Normalizados
Este método concede pesos relativos a cada tipo de operación en punto flotante y permite además considerar las operaciones enteras. Al asignar pesos mayores a las operaciones complejas se puede “normalizar” la diferencia de velocidades permitiendo comparar de manera más equitativa de dos máquinas. Problema: evalúa el rendimiento para ese programa tipo de prueba (benchmark) específico y que aunque representa una opción para comparar dos computadoras, no representa el rendimiento de la máquina.

54 Tipos de programas de prueba o benchmarks
Programas reales: Medidas basadas en el uso real del computador. Núcleos (Kernels): Partes “clave” de programas Benchmarks reducidos (Toys): líneas de código que realizan pequeños algoritmos habituales. Fáciles pero muy insuficientes. Benchmarks sintéticos: elaborados expresamente para evaluar rendimiento imitando el comportamiento de programas de verdad, pero lo consiguen a medias.


Descargar ppt "ARQUITECTURA DE MÁQUINAS COMPUTADORAS III Introducción"

Presentaciones similares


Anuncios Google