Monografias.com > Computación > General
Descargar Imprimir Comentar Ver trabajos relacionados

Paralelismo y mejora del rendimiento




Enviado por Pablo Turmero



    Monografias.com

    ¿Qué hemos abordado?
    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)

    Monografias.com

    1.2. Reducción del Tiempo de Ejecución
    ¡ Queremos mejorar el Rendimiento de la Computadora !
     

    Monografias.com

    ¿Cómo reducir el tiempo de ejecución?
     

    Monografias.com

    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.

    Monografias.com

    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!

    Monografias.com

    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!

    Monografias.com

    Mejorando nuestra arquitectura 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

    Monografias.com

    1.3. Mejoras al sistema de memoria
    Sistema de Memoria
    Despues del CPU, el sistema de memoria es el más usado.

    ¡Eliminar los WMFC!

    Mejorar el desempeño del sistema de Memoria.

    Monografias.com

    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

    Monografias.com

    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.

    Monografias.com

    1.4. Mejoras al sistema de E/S
    Sistema de Entrada – Salida
    Comunicación con el exterior
    Leer Programas y Datos
    Entregar resultados de procesamiento.
    Diferentes dispositivos de E/S
    Entrada
    Salida
    Memoria de largo plazo
    Diferentes tecnologías y velocidades
    Mejorar el desempeño del sistema de Entrada / Salida.

    Monografias.com

    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

    Monografias.com

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

    Monografias.com

    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

    Monografias.com

    ADM y Procesadores de E/S

    Monografias.com

    1.5. Introducción al Paralelismo
    Paralelismo
    ¿Y si aún con todas estas mejoras, no logramos el rendimiento deseado?
    Por Amdahl: CPU es el más apropiado de mejorar
    ¿Se puede?
    Si solo hago una tarea, con un amigo, ¡puedo hacer dos!

    Monografias.com

    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.

    Monografias.com

    Procesamiento Paralelo
    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.

    Monografias.com

    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.

    Monografias.com

    Nivel de Paralelismo
    Grano Grueso
    Tarea
    Programa

    Grano Fino
    Instrucción
    Aritmético o de Bits

    Monografias.com

    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.

    Monografias.com

    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

    Monografias.com

    1.6. Clasificación de arquitecturas paralelas
    Taxonomías
    Diferentes sistemas de clasificación.
    Más comunes:
    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: Modelo matemático basado en métricas. Categoría es tupla de valores

    Monografias.com

    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.

    Monografias.com

    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.

    Monografias.com

    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.

    Monografias.com

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

    Monografias.com

    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:

    Monografias.com

    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

    Monografias.com

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

    Monografias.com

    Taxonomía de Feng

    Monografias.com

    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

    Monografias.com

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

    Monografias.com

    Otras Taxonomí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.

    Monografias.com

    Recomendaciones
    Recordar consultar el folleto de clase.
    Recordar consultar la bibliografía:
    Hwang
    Henesy – Patterson

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter