1 / 37

Ing. José Díaz Chow

ARQUITECTURA DE MÁQUINAS COMPUTADORAS III. UNI-FEC. Unidad 1 : PARALELISMO Y MEJORA DEL RENDIMIENTO. Ing. José Díaz Chow. U1.2. ¿ Qué hemos abordado ?. Evaluación de la computadora : ¿Para qué ? ¿ Qué ? ¿ Cómo ? Métricas de evaluación Técnicas de Evaluación Rendimiento

Download Presentation

Ing. José Díaz Chow

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARQUITECTURA DE MÁQUINAS COMPUTADORAS III UNI-FEC Unidad 1: PARALELISMO Y MEJORA DEL RENDIMIENTO Ing. José Díaz Chow U1.2

  2. ¿Quéhemosabordado? • Evaluación de la computadora: ¿Para qué? • ¿Qué? • ¿Cómo? • Métricas de evaluación • Técnicas de Evaluación • Rendimiento • Tiempo de ejecución • Ley de Amdahl • Benchmarks (medición)

  3. Tipos de programas de prueba o benchmarks Programas reales: Usar la aplicación real para la que se requiere el computador. Núcleos (Kernels): Usa partes “clave” de programas demandantes. Orientados a cálculos intensivos. Benchmarks reducidos (Toys): 10-100 líneas de códigoquerealizanpequeños algoritmos habituales. Fáciles pero muy limitados. Benchmarks sintéticos: Elaboradosexpresamente para evaluarrendimiento imitando el comportamiento de programas de verdad, perosin tareasespecíficas.

  4. 1.2. Reducción del Tiempo de Ejecución ¡ Queremosmejorar el Rendimiento de la Computadora ! • Rendimientoes el inverso del tiempo de ejecución: • Asíque, sireduzco el tiempo de ejecución, incremento el rendimiento.

  5. ¿Cómoreducir el tiempo de ejecución? • Factores quedeterminan t: • Reduciruno o másfactores sin queincrementenotrospermitiríareducir t: • ¿ De quédepende ? ¿Cómoreducirlo? • ¿ De quédepende el? ¿Cómoreducirlo? • ¿ De quédepende ? ¿Cómoreducirlo?

  6. Reducción del período (t) • El t de reloj debe ser lo suficientemente ancho para que se completen todas las microoperaciones de control del paso de control más tardado. • Para reducir t es requerido, por tanto, que las operaciones de control sean más rápidas (para que no se tenga que incrementar el CPI). • Depende del avance de la tecnología en los procesos de fabricación de sistemas digitales.

  7. Reducción del número de Instrucciones (N) • Depende de la arquitectura. • Arquitecturas con instrucciones complejas permiten realizar operaciones con menos instrucciones que otras con instrucciones más simples: • Operaciones integradas: CMP + Jx (2 inst.) vs BRx (1 inst.: Salta si se cumple la condición x) • Múltiples modos: LOAD Rf, Rs(d) + ADD Rd, Rf, Rg (2 inst.Arq R3) vs ADD Rs(d), Rf (1 inst.Arq R2) • Dependencia de instrucciones complejas con mProgramación tiende a t mayor. • ¡No rinde buenos frutos!

  8. Reducción de ciclos por instrucción (CPI) • Depende de la arquitectura: ¡Cantidad de operaciones que se pueden realizar en un ciclo de reloj! • Arquitecturas con instrucciones complejas obligan a altos CPIs • Arquitecturas con instrucciones simples pueden reducir CPI. Meta a aspirar: CPI =1 • Proyecto RISC lo demostró. • ¡Mejor apuesta para el arquitecto!

  9. Mejorandonuestraarquitectura X (R2) • Reducir modos para simplificar la UC: Arquitectura R3: • Transferencia de M R: LOAD, y RM: STORE. • Usan modo Índice. • Operaciones OP: Solo registros o inmediatos. • Move R1, R2  Add R2, R1, R0; ¡R0 siempre vale 0! • Bus común  Conexiones directas: más rápido. • Uso de más registros en un Banco de Registros: 2 puertos de lectura y 1 de escritura simultáneos

  10. 1.3. Mejoras al sistema de memoria Sistema de Memoria • Despues del CPU, el sistema de memoriaes el másusado. • ¡Eliminar los WMFC! • Mejorar el desempeño del sistema de Memoria.

  11. Mejorando el desempeño de M • ¿Cuáles son los factores de desempeño de la Memoria? • Latencia: Tiempo de acceso, tiempo de ciclo. • Depende de la tecnología de fabricación. • Productividad: Velocidad de transferencia. • Ancho del Bus • Solapamiento: memorias entrelazadas. • Disponibilidad: • Detección y corrección de errores • Capacidad: Memoria Virtual

  12. Jerarquía de Memoria • Diferentes tipos de memorias: Vt y C. • Memorias más rápidas tienen limitado tamaño y alto precio. • Uso de memorias intermedias. • Principio de localidad de referencia.

  13. 1.4. Mejoras al sistema de E/S Sistema de Entrada - Salida • Comunicación con el exterior • Leer Programas y Datos • Entregarresultados de procesamiento. • Diferentesdispositivos de E/S • Entrada • Salida • Memoria de largo plazo • Diferentestecnologías y velocidades • Mejorar el desempeño del sistema de Entrada / Salida.

  14. Mejorando el desempeño de E/S • Diferentes dispositivos con diferentes métodos de transferencia de datos y velocidades • ¿Cuáles son los factores de desempeño del sistema de E/S? • Latencia: Tiempo de respuesta. • Depende de la tecnología de fabricación. • Productividad: Velocidad de transferencia. • Frecuencia • Ancho del Bus

  15. Jerarquía de Buses • Agrupa dispositivos con Vt similares. • Equilibrio de ancho de banda entre dispositivos.

  16. ADM y Procesadores de E/S • Agiliza las transferencias de dispositivos de E/S a M y viceversa. • Emplea un procesador auxiliar dedicado. • Solapa la ejecución de instrucciones con las operaciones de E/S • Diversos esquemas de acuerdo a las velocidades de los dispositivos

  17. ADM y Procesadores de E/S

  18. 1.5. Introducción al Paralelismo Paralelismo • ¿Y siaún con todasestasmejoras, no logramos el rendimientodeseado? • Por Amdahl: CPU es el másapropiado de mejorar • ¿Se puede? • Si solo hagounatarea, con un amigo, ¡puedohacer dos!

  19. Requerimientos de mayor desempeño • Concurrencia (datos compartidos). • Capacidad de atención a múltiples usuarios y tareas. • Procesamiento de datos de información de conocimiento  Inteligencia. • Tecnología de producción de hardware  más poder a menor costo • Ejecutor más rápido vs más ejecutores.

  20. ProcesamientoParalelo • Forma de procesamiento que explota ejecución de sucesos concurrentes. • Simultaneidad • Multiplicidad • Solapamiento de ejecución de múltiples tareas. • Multiplicidad de ejecutores en una o varias tareas.

  21. Tipos de Paralelismo • Temporal: El paralelismo que involucra solapamiento se denomina temporal porque permite la ejecución concurrente de sucesos sobre los mismos recursos en intervalos intercalados de tiempo. • Espacial: El paralelismo que permite simultaneidad real sobre múltiples recursos al mismo tiempo se denomina paralelismo espacial.

  22. Nivel de Paralelismo • GranoGrueso • Tarea • Programa • GranoFino • Instrucción • Aritmético o de Bits

  23. Técnicas de mejora y paralelismo • Multiprogramación y Tiempo compartido: técnica software (temporal): Sistema Operativo. • Solapamiento de las operaciones CPU y E/S: DMA e IOPs. Espacial. • Jerarquización y equilibrio de ancho de banda: Jerarquía de Memoria y de Buses: agilización y redundancia de datos. Espacial.

  24. Técnicas de mejora y paralelismo • Solapamiento de la ejecución: Ciclo de instrucción solapado. Adelanta etapas del ciclo. Pre-Fetch y Pipelining. Temporal. • Multiplicidad de unidades ejecutoras: Sistemas superescalares. Espacial. • Sistemas paralelos: Paralelismo de datos y de código: SIMD y MIMD. Espacial

  25. 1.6. Clasificación de arquitecturasparalelas Taxonomías • Diferentessistemas de clasificación. • Máscomunes: • Flynn: Basado en cardinalidad (s,m) de flujo de instrucciones y datos. • Feng: Basado en tipo de transferencia o procesamiento (s,p) y cantidad de bits involucrados (b,w). • Händler: Modelomatemáticobasado en métricas. Categoríaestupla de valores

  26. Taxonomía de Flynn • Flynn (1966) propone un sistema de clasificación por flujos de instrucciones y datos: • SISD >> SIMD >> MISD >> MIMD • SISD (Simple flujo de instrucciones-simple flujo de datos): Arquitecturas secuenciales estándares • Arquitectura Von Neumann.

  27. Taxonomía de Flynn • SIMD(Simple flujo de instrucciones-múltiples flujos de datos): Sistemas que ejecutan instrucciones sobre colecciones de datos a la vez: • Cálculo vectorial y matricial.

  28. Taxonomía de Flynn • MISD ( Múltiples flujos de instrucciones-simple flujo de datos): Arquitecturas no viables en el paradigma actual. • Arquitecturas de flujo de datos. • No aplicación real.

  29. Taxonomía de Flynn • MIMD (Múltiples flujos de instrucciones-multiplesflujos de datos): Sistemas con múltiples ejecutores con una o múltiples tareas: • Multiprocesadores • Multicomputadores

  30. Extensión a la Taxonomía de Flynn • Johnson (1988) propone extender o detallar la taxonomía de Flynn en el caso de los MIMD:

  31. Taxonomía de Feng • Tse-yun-Feng, sugiere el grado de paralelismo como criterio de clasificación: Máximo grado de paralelismo ( P ) = número máximo de dígitos binarios que pueden ser procesados en una unidad de tiempo • Grado medio de paralelismo ( Pm ) y tasa de utilización ( g) de un sistema en T ciclos: Donde Pi es el No. de bits que puede ser procesados en el i-esimo ciclo del procesador, para T ciclos. Tasa de utilización en T ciclos

  32. Taxonomía de Feng • Se puede clasificar a la computadoras de acuerdo a este criterio como: • Palabra-serie y bit-serie (PSBS). m=n=1. Procesamiento totalmente serial. • Palabra-paralelo y bit-serie (PPBS). m>1, n=1, procesamiento por sección de bits (procesa m palabras 1 bit cada vez). • Palabra-serie y bit-paralelo (PSBP). n>1, m=1, procesamiento por sección de palabra (procesa una palabra de n bits a la vez), computadoras actuales. • Palabra-paralelo y bit-paralelo (PPBP). n>1, m>1, procesamiento totalmente paralelo (se procesa una matriz de n*m bits a la vez), multiprocesadores y multicomputadoras (cluster´s).

  33. Taxonomía de Feng

  34. Taxonomía de Händler • Wolfgang Händler: Esquema basado en encauzamiento del procesamiento en tres niveles “top-down”: • UCP (Unidad Central de procesamiento) • UAL (Unidad Aritmética Lógica) • El circuito a nivel Bit (CNB) • Un sistema computador (C )puede caracterizarse por una triada: C = < K x K’, D x D’, W x W’ > donde: K = Es el número procesadores K’ = Número de procesadores que puede encauzarse (pipelined) D = Es el número de ALU bajo el control de un CPU D’ = Número de ALU´s que pueden ser encauzadas (pipelined) W = Longitud de palabra de una UAL o un Elemento de Proceso (EP) W’ = El número de segmentos en pipeline en todas las ALU´s o EP´s

  35. Taxonomía de Händler • Por ejemplo para la Cray-1: • Es un procesador de 64-bit no segmentado, superescalar • Cuenta con12 unidades de proceso o ALUs, 8 de las cuales pueden trabajar en pipeline. • Diferentes unidades funcionales tienen de 1 a 14 segmentos los cuales pueden trabajas en pipeline. • Por tanto: CRAY-1= < 1, 12 x 8, 64 x ( 1~14) >

  36. OtrasTaxonomías • Otras clasificaciones que se pueden encontrar en la literatura son: • Taxonomía de Shore´s (1973): Basada en la estructura y el número de unidades funcionales en la computadora. Se divide en 6 categorías o tipos de máquina: Máquina 1 … Máquina 6. • Taxonomía estructural de Hockney y Jesshope´s. Se basa en la notación llamada “Estilo de Notación Estructural Algebraica (ASN)”, es muy compleja. C(Cray-1) = Iv12 [ 12Ep12 - 16M50 ] r; 12Ep = {3Fp64,9B} • Existen otras nomenclatura que pretende ser más descriptiva y se basa en: multiplicidad del procesador, tamaño de grano, topología y control de multiplicidad.

  37. Recomendaciones U1: Paralelismo y mejora del rendimiento • Recordarconsultar el folleto de clase. • Recordarconsultar la bibliografía: • Hwang • Henesy - Patterson

More Related