390 likes | 602 Views
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
E N D
ARQUITECTURA DE MÁQUINAS COMPUTADORAS III UNI-FEC Unidad 1: PARALELISMO Y MEJORA DEL RENDIMIENTO Ing. José Díaz Chow U1.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)
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.
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.
¿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?
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.
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!
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!
Mejorandonuestraarquitectura X (R2) • Reducir modos para simplificar la UC: Arquitectura R3: • Transferencia de M R: LOAD, y RM: 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
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.
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
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.
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.
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
Jerarquía de Buses • Agrupa dispositivos con Vt similares. • Equilibrio de ancho de banda entre dispositivos.
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
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!
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.
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.
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.
Nivel de Paralelismo • GranoGrueso • Tarea • Programa • GranoFino • Instrucción • Aritmético o de Bits
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.
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
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
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.
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.
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.
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
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:
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
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).
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
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) >
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.
Recomendaciones U1: Paralelismo y mejora del rendimiento • Recordarconsultar el folleto de clase. • Recordarconsultar la bibliografía: • Hwang • Henesy - Patterson