Introduccion a Las Arquitecturas Paralelas

download Introduccion a Las Arquitecturas Paralelas

of 52

  • date post

    18-Oct-2015
  • Category

    Documents

  • view

    17
  • download

    0

Embed Size (px)

description

Introduccion a Las Arquitecturas Paralelas - Arquitectura de Sistemas Digital

Transcript of Introduccion a Las Arquitecturas Paralelas

  • Introduccin a las Arquitecturas Paralelas

    Arquitectura de Computadoras IIFac. Cs. Exactas

    UNCPBAProf. Marcelo Tosini

    2011

  • 2Procesamiento Paralelo

    Uso de muchas unidades de proceso independientes para ejecutar distintas partes de una tarea en simultneo

    Principal objetivo: Aumento del RENDIMIENTO. Aumento de la capacidad para resolver problemas computacionales grandes

    Cmo? Divisin del trabajo en tareas mas pequeas e independientes Asignacin de las tareas a distintas unidades de proceso Resolucin de las tareas en simultaneo.

    Problemas: Sincronizacin de las tareas. control de ejecucin simultanea conflictos debidos a dependencias

  • 3Procesamiento Paralelo

    Limitaciones:

    En algunos problemas el incremento del nmero de procesadores nomejora el rendimiento global, incluso empeora la eficiencia del sistema.

    La eficiencia se mejora cuando:

    se logra un balance de carga entre procesadores: igual numero de tareas de igual tamao

    Se minimiza la interaccin entre tareas: se minimiza la comunicacin o, al menos, se mejoran los canales de comunicacin

    elementos de proceso

    e

    f

    i

    c

    i

    e

    n

    c

    i

    a

  • 4Sistema paralelo

    Conjunto de elementos de proceso que, operando juntos, permiten resolver problemas computacionales complejos de forma eficiente

    Caractersticas de un sistema paralelo:

    Cantidad y potencia de los elementos de proceso

    Tipo y Tamao de la memoria

    Forma de comunicacin entre los elementos de proceso

    Rendimiento

    Escalabilidad del sistema

    Recursos de potencia requeridos

  • 5Niveles de paralelismoEl paralelismo puede estudiarse a varios niveles:

    Trabajo: Dos programas distintos pueden ejecutarse en paralelo Tarea: En este nivel se consideran varias tareas independientes

    entre si formando parte de un programa determinado. Esposible la interaccin de las tareas

    Proceso: Varios procesos componen una tarea. Son bloques confuncionalidad bien definida.

    Variable: El paralelismo puede darse a nivel de variables ya quevarias instrucciones pueden ser ejecutadas en paralelosiendo el punto de conflicto las variables en comn

    Bit: Todos los computadores usan paralelismo a nivel de bit

  • 6Arquitecturas de procesadores

    Complejidad del procesador:Complejidad del procesador:

    Arquitectura caracterstica y estructura de cada procesador del sistema.

    ntimamente ligado con la funcionalidad (variedad de operaciones y cantidad de instrucciones)

    Arreglos sistlicos homogneos complejidad bajaMIMD Heterogneos complejidad alta

  • 7Arquitecturas de procesadores

    Modo de operaciModo de operacin:n:Forma de controlar la secuencia de operaciones a realizar parallevar adelante la ejecucin de una tarea

    Control flowLas instrucciones se ejecutan en el orden dispuesto porel algoritmo

    Data flowLas operaciones se realizan segn la disponibilidad dedatos

    Demand flowLos resultados parciales se calculan por demanda, o seacuando se los necesita

  • 8Arquitecturas de procesadores

    OrganizaciOrganizacin de la memoria:n de la memoria:Tipo de memoria utilizada en el sistema

    DireccionableAccedida por referencias a los datos

    AsociativaAccedida por contenido

    InterconectadaAccedida por cualidades de los datos (redes neuronales)

  • 9Arquitecturas de procesadores

    Red de interconexiRed de interconexin:n:Conexionado de hardware entre procesadores y entre procesadores y memorias

    La arquitectura de conexionado debe ajustarse lo mejorposible a la topologa de un algoritmo para mejorar laperformance

  • 10

    Arquitecturas de procesadores

    NNmero de procesadores y tamamero de procesadores y tamao de la memoria:o de la memoria:Potencia de clculo del sistema y capacidad de almacenamientode datos del mismo

    Clasificacin:Sistemas grandes: ms de 1000 procesadores

    Sistemas medios: de 100 a 1000 procesadores

    Sistemas chicos: hasta 100 procesadores

  • 11

    Organizacin de las arquitecturas

    Nivel de trabajo Distribuido Redes de computadoras

    Nivel de tarea Multicomputadoras Pasaje de mensajesNivel de procesoNivel de instruccin paralelo Memoria compartidaNivel de variable multiprocesadoresNivel de bit

    HARDWARE

    GRANULARIDADDEL ALGORITMO

    GRADO DEACOPLAMIENTO

    MODO DECOMUNICACION

  • 12

    mbitos de uso de la computacin paralela

    Simulacin de modelos complejos

    Diseo y automatizacin de proyectos de ingeniera

    Exploracin petrolera y minera

    Medicina

    rea militar

    Cine: efectos visuales, animacin 3D

    Realidad Virtual

    Comercio electrnico

    Mega bases de datos (google, youtube, rapidshare)

  • 13

    Evolucin del rendimiento

    1950 1960 1970 1980 1990 2000

    1 Kflop/s

    1 Mflop/s

    1 Gflop/s

    1 Tflop/s

    EDSAC 1

    UNIVAC 1

    IBM 7090

    CDC 6600CDC 7600 IBM 360

    Cray i

    Cray X-MPCray 2

    TMC CM-2

    TMC CM-5Cray T3D

    ASCI Red

  • 14

    Incremento de velocidad

    89 90 91 92 93 94 95 96 97 98 99 00 01 02 03

    100 MHz

    500 MHz

    1000 MHz

    2000 MHz

    3000 MHz

    486 DX33

    486 DX100

    P II 400

    ATHLON 600

    PIII 1 GHz

    ATHLON GHz

    PIII 1,3 GHz

    XEON 3 GHz

    Bus CPU: 6 veces mas rpido

    reloj CPU: 100 veces mas rpido

  • 15

    Lmites tecnolgicos

    El feature size (d) determina el tamao de las compuertas en latecnologa CMOS de manera que:

    Un aumento de la velocidad de reloj es proporcional a =1/d Un aumento del nmero de transistores es proporcional a 2

    Hasta cuanto puede disminuir d??

    1400

    1500

    385

    1.7G

    40M

    1.2-1.5

    0.15

    2001

    1600

    2100

    430

    4.29G

    76M

    1.2-1.5

    0.13

    2003

    2000

    3500

    520

    17.2G

    200M

    0.9-1.2

    0.10

    2006

    0.5-0.60.6-0.91.5-1.81.8-2.5Voltaje

    1000060001250750Frecuencia local de reloj (MHz)750620340300Tamao Die (mm2)

    2012200919991997caracterstica / ao

    275G68.7G1.07G167MDRAM bits/chip

    300025001200750Frecuencia global de reloj (MHz)

    1.4B520M21M11MN transistores

    0.050.070.180.25Feature Size (mm)

  • 16

    Evolucin de las arquitecturas

    Procesadores escalares

    Procesadores vectoriales

    Multiprocesadores

    1 Mflop/s

    1 Gflop/s

    1 Tflop/s

    1975 1990

    Ct

    IPCPNT *1*=

    tc IPC P

    tc IPC>1 P

    tc IPC1 P=1

  • 17

    Medidas de performance

    Tiempo promedio de ejecuciTiempo promedio de ejecucinn Instrucciones por segundo

    til en SISD y en MIMD, pero no en SIMD Operaciones por segundo

    No considera tamao de palabra Punto flotante por segundo

    No es til en compiladores y en AI Inferencias por segundo

    til en inteligencia artificial

  • 18

    Medidas de performance

    SpeedupSpeedup ((SSpp -- para P procesadores)para P procesadores)

    Sp = T1Tp

    Promedio entre el tiempo deproceso secuencial y paralelo enP procesadores

    T1 : tiempo en 1 procesador

    Tp : tiempo en P procesadoresSp < P

  • 19

    Medidas de performance

    Eficiencia (Eficiencia (EEpp -- para P procesadores)para P procesadores)

    Ep = SpP

    Cociente entre Sp y P.Medida de la relacin costo/efectividadde la computacin

    P : nmero de procesadores

    Sp : Speedup con P procesadores0 < Ep < 1

  • 20

    Medidas de performance

    Redundancia (Redundancia (RRpp -- para P procesadores)para P procesadores)

    Rp = OpO1

    Promedio entre el nmero total deoperaciones ejecutadas con P proc.y el nmero de operacionesnecesarias en 1 procesador

    Op : nmero de operaciones enP procesadores

    O1 : Nmero de operaciones enun procesador

    Rp > 1

  • 21

    Medidas de performance

    UtilizaciUtilizacin (Un (Upp -- para P procesadores)para P procesadores)

    Up = Op

    P.TP

    Nmero de operaciones totalesejecutadas con P procesadoresponderada por la eficiencia detrabajo en esos P procesadores

    Op : nmero de operaciones enP procesadores

    Up < 1

    Rp * Ep=

  • 22

    Medidas de performance

    Calidad del paralelismo (Calidad del paralelismo (QQpp -- para P procesadores)para P procesadores)

    Qp = RP

    La calidad de paralelismo esproporcional al Spedup y a laEficiencia.

    La calidad de paralelismo decreceal aumentar la Redundancia

    Qp < 1

    Sp * Ep

  • 23

    Espacio Publicitario

    Optativa para el rea de Hardware y Control

    "Diseo con Lgica Programable: FPGAs, Herramientas EDA y VHDL"

    Comienza la ltima semana de abril.

    Ver afiches o consultar por email a:

    Elias Todorovich : etodorov@uam.es

    Lucas Leiva : lleiva@exa.unicen.edu.ar

  • 24

    Lmites de la computacin paralela

    La idea es modelar lo mLa idea es modelar lo ms aproximadamente la operacis aproximadamente la operacin en unn en unentorno multiprocesadorentorno multiprocesador

    Premisas:Un programa paralelo es una serie de instancias de tareasde sincronizacin seguidas de clculos reales (programa)distribuidos entre los procesadores.

    Debido al overhead el tiempo total de ejecucin de lastareas distribuidas en los procesadores es mayor que si sehubiese ejecutado en un nico procesador

  • 25

    Lmites de la computacin paralelaVariables de