ARQUITECTURA DE MÁQUINAS COMPUTADORAS III Introducción

Slides:



Advertisements
Presentaciones similares
Capítulo 2: Rendimiento de un computador
Advertisements

Complejidad Computacional
Complejidad Computacional
TEMA 11 EL ANÁLISIS DE ESTADOS FINANCIEROS
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Planificación de Monoprocesadores
ARQUITECTURA DE COMPUTADORES - PERFORMANCE
1 Circuitos Digitales II Circuitos Digitales II Fundamentos de Arquitectura de Computadores Información sobre el Curso Semana No.1 Semestre Prof.
Elaboración de Planes de trabajos para Proyectos Informáticos
INDICADORES DE GESTIÓN Y MEJORAMIENTO CONTINUO
Capítulo 4 Rendimiento.
Speedup, Ley de Amdahl y MIPS
Programación Paralela Dr. Mario Rossainz López FCC- BUAP
GESTIÓN DE LOS COSTOS DEL PROYECTO
UNIDAD III: CONTROL ESTADÍSTICO DE LOS PRODUCTOS
Métricas de Rendimiento de Sistemas Operativos
Sistema de Costos por Órdenes
Evaluando Competencias Profesionales a Través de Rúbricas
Evaluación de Performance mediante Benchmarks
Unidad académica: Ingenierías
I. Indicadores ¿qué son y para qué sirven?
Windows XP sp3.
Universidad Autónoma San Francisco
Universidad nacional de ingeniería Uni norte. Asignatura: Finanzas II
Técnicas de Capacitación
TEMA: ACUMULACIÓN DE COSTOS
Dirección de la Productividad
medio INterno de las empresas
Análisis comparativo de rendimiento
Medios de Control en las CPA. CORNELIO J. PORRAS C. Miembro 459 CCPN
Requerimientos /Metas:
Arquitectura de Computadores I II19
Arquitectura de Máquinas Computadoras II
¿Cómo asignar una calificación?
(Organización y Manejo de Archivos)
UNIVERSIDAD NACIONAL INTERCULTURAL DE LA AMAZONIA
Facultad de Marketing y Comunicación Asignatura: Administración de Recursos Humanos Titulo: Retorno de la inversión en la capacitación Profesora:
Medición y Métricas del Software
Análisis y selección de indicadores para el Cuadro de Mando Integral
Planificación de Procesos
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 04 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Construcción de Software
MODELOS DEL PROCESO DE DECISIÓN DE OBJETIVOS
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
El Microprocesador.
“Introducción a las Ciencias de la Informática”
Administración Estratégica para la Competitividad Calidad en el Servicio Dra. Icela Lozano Encinas Dra. Icela Lozano Encinas.
La Gestión y el Control de Procesos
AUDITORIA NIA 500 “EVIDENCIA DE AUDITORIA”
INGENIERÍA DEL SOFTWARE GESTIÓN DE PROYECTOS
RENDIMIENTO DEL COMPUTADOR
INTRODUCCIÓN El rendimiento, costo de compra y costo de operación forman la base para la toma de decisiones, sobre que PC es mejor que otra y así adquirir.
Rendimiento de la CPU y sus factores
Rendimiento y/o desempeño.. RENDIMIENTO “El computador A es más rápido que el computador B” Como se determina el rendimiento de un computador para: El.
Proyecto de Ingeniería preparado por Karen Kanzúa A.
ARQUICTECTURA DE SERVIDORES
TEMA II FUNDAMENTOS DEL DISENO DE COMPUTADORES
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
UNIDAD 1. ORGANIZACIÓN BÁSICA Y DISEÑO DEL COMPUTADOR
Métricas De Software OO
problemas de la calidad del software
Estimación de Puntos de Función
“PROYECTO REDES DE INVESTIGACIÓN DOCENTE” Aránzazu Calzada (Catedrática de Derecho Romano) (Facultad de Derecho/Universidad de Alicante) EL CRÉDITO EUROPEO.
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
FINANAZAS PARA NO FINANCISTAS. Cuanto ha crecido mi empresa, vemos que nos va bien, pero me interesa verlo planteado todo esto en cifras lógicas y reales,
Análisis e Interpretación de Estados Financieros
Las Variables Son elementos o atributos del objeto de investigación que puede ser clasificados en categorías y que además se pueden medir y cuantificar.
Transcripción de la presentación:

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

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

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: http://member.acm.org/~xdc2k E-mail: jdiazchow@acm.org Contacto: http://www.snip.gob.ni/xdc/amc3 E-mail: jdiaz@snip.gob.ni

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  

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

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

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

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.

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]

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

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

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

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.

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.

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.

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.

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

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

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?

¿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é?

Algunas características de Aviones Aeroplano Capacidad [Pasajeros] Alcance [Millas] Velocidad [M.p.h.] Productividad [Pasajeros X Mph] Boeing 737 - 100 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

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?

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

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

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.

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

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

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

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

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

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: 𝑹= 𝟏 𝒕

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

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

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

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 𝑛= 𝑅 𝑎 𝑅 𝑏 = 0.1 0.083 =1.2 n > 1  Ra > Rb

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: 𝒏 % = 𝑹 𝒙 − 𝑹 𝒚 𝑹 𝒚 ∗𝟏𝟎𝟎% 𝒏 % = 𝒕 𝒚 − 𝒕 𝒙 𝒕 𝒙 ∗𝟏𝟎𝟎%

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 = 0.1 0.083 −1=0.2 𝑛 % = 𝑅 𝑎 𝑅 𝑏 −1 ∗100%= 0.1 0.083 −1 ∗100%=20%

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.

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?

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∗ 10 6 6𝑠 =200 𝑀𝐻𝑧

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:

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.

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.

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.

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

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

Ley de Amdhal

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.4 + (0.6/2) = 1/ 0.7 = 1.43 Nota: g = 0.6 y n = 2

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

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

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.

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.

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.

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): 10-100 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.