TEMA 1: CONCEPTOS BSICOS DE PARALELISMO .procesadores a la vez obteniendo una aceleraci³n parcial

  • View
    213

  • Download
    0

Embed Size (px)

Text of TEMA 1: CONCEPTOS BSICOS DE PARALELISMO .procesadores a la vez obteniendo una aceleraci³n...

  • TEMA 1: CONCEPTOS BSICOS DE PARALELISMO Y ANLISIS DE PRESTACIONES

    SISTEMAS PARALELOS Y DISTRIBUIDOSwww.atc.us.es

    Dpto. de Arquitectura y Tecnologa de Computadores. Universidad de Sevilla

    1

  • Arquitectura: Visiones clsica y actual Visin clsica: Juegos de instrucciones

    (Instruction Set Architecture (ISA) Ej: decisiones sobre ISA: registros, direccionamiento,

    operandos, tipos de instr. , etc CISC (Computador de repertorio complejo de

    instrucciones) RISC (Computador de repertorio reducido de

    instrucciones, posteriormente, instrucciones sencillas)

    Visin Actual : Requisitos de la mquina de destino (target machine) Ej: maximizar rendimiento pero con restricciones de:

    coste, potencia, disponibilidad, herramientas software, etc.

    2

  • Ejercicio sobre arquitectura Cul de las 2 opciones es ms correcta?

    1. Interesa dominar todos los tipos de arquitectura

    2. Interesa concentrarse en la arquitectura actual de ms prestaciones o rendimiento

    Ej: Proc. Vectoriales en ediciones H&P

    SPD. Tema 1. 3

  • Leyes y principios de Arquitectura LEMA: analizar cdigo y sistemas

    puede haber comportamientos no intuitivos

    Ley de Moore (y similares) Ley de Amdahl Ley de localidad 10/90 Componentes del tiempo de ejecucin de

    un programa

    SPD. Tema 1. 4

  • Ley de Moore: progresin geomtrica NTransistores/chip : 40-55% por ao

    Se cuadriplica el nmero de transistores de un chip cada tres aos

    Extensin a toda tecnologa: consecuencias de comparar Uniprocesador frente a memoria cachs ms eficientes

    5

    7% per year

    25% per year before 1986

    52% per year since 1986

    22% per year since 2005

  • Tendencias tecnolgicas: coste y capacidad (2007-2012)

    SPD. Tema 1. 6

    Integrated circuit technology Transistor density: 35%/year Die size: 10-20%/year Integration overall: 40-55%/year

    DRAM capacity: 25-40%/year (slowing)

    Flash capacity: 50-60%/year 15-20X cheaper/bit than DRAM

    Magnetic disk technology: 40%/year 15-25X cheaper/bit then Flash 300-500X cheaper/bit than DRAM

  • DRAM coste y capacidad

    SPD. Tema 1. 7

  • Single Processor Performance

    SPD. Tema 1. 8

    Movetomultiprocessor

    RISC

    CISC

  • Ejercicio: Ley MooreEn la siguiente curva por tramos (negra discontinua) de evolucin para

    la densidad de los discos duros magnticos, el ritmo de progresin cambia segn las dcadas (no cumple exactamente la ley de Moore). Puede ser verdad?

    SPD. Tema 1. 9

    85%/year

    50%/year

    40%/year

  • Bandwidth and Latency

    SPD. Tema 1. 10

  • Ejercicio: Bandwidth and Latency Definir grosso modo:

    Bandwidth Latency

    SPD. Tema 1. 11

  • Ley de Amdahl

    12

    t ejec. inicial

    t ejec. final

    1-F

    1-F

    F

    LEMA: Optimizar (hacer rpido o simple) el caso comn.

  • Principio de localidad Temporal Espacial Regla emprica, 90% del tiempo de

    ejecucin en el 10% del cdigo y datos Importante orden accesos a memoria

    13

    EJERCICIO: Por qu casi todos los computadores actuales tienen varios niveles de cach (Jerarqua de memoria)?

  • EJERCICIO: ley de Amdahl y Ley 10/90 Teniendo en cuenta la ley de Amdahl y la

    10/90, si se quiere optimizar un programa que conviene ms: Optimizar todo el cdigo para ir ganando

    aceleracin en todos los sitios Concentrarse en los bucles Optimizar los accesos a memoria de datos (p.

    ej. reordenar accesos a cach)

    Justificar la respuesta.

    SPD. Tema 1. 14

  • Productividad (throughput): Cantidad de tareas que pueden realizar en un segundo Duplicar el nmero de mquinas duplicar la

    productividad (pero la tarea tarda lo mismo) Rendimiento (performance): Inversa del

    tiempo que se tarda en realizar una tarea

    El rendimiento no es fcil de aumentar

    Rendimiento y productividad

    15

  • 16

    Componentes del tiempo de ejecucin de un programa

  • EJERCICIO: Ley AmdahlSupongamos que consigo paralelizar el 50% de un

    programa, de forma que se pueden ejecutar en 10 procesadores a la vez obteniendo una aceleracin parcial de 10. Cul sera la aceleracin total?a) Cercana a 10 vecesb) 50%*10= 5 vecesc) En torno a 80%d) Ninguna de las anteriores

    SPD. Tema 1. 17

  • CPI: magnitud arquitectnica

    18

    Casi Data Flow Limit (lmite del flujo de datos) Slo se ven las dependencias reales

    Qu factores limitan ms el rendimiento? CPIcontrol: prediccin de saltos. CPImemoria: Accesos a memoria de datos (cachs)

    Aumentar Rendimiento : ms paralelismo

    EJERCICIO: Cmo obtener ms rendimiento? comprarse otra mquina o pensar en lo anterior?

  • Magnitudes de rendimiento Muy usadas pero no son exactas

    MIPS: Millones de instrucciones por segundo MFLOPs (GFLOPs): Millones (G) de

    operaciones en coma flotante por segundo Slo + - * / y transcendentes Para cdigo cientfico

    Mejor: Medias de Coleccin benchmarks Standard Performance Evaluation Corporation

    (SPEC) SPECint (programas enteros) SPECfp (programas F.P.)

    SPD. Tema 1. 19

  • Tipos de paralelismo PARALELISMO A NIVEL DE INSTRUCCIONES

    (ILP) PARALELISMO A NIVEL DE DATOS (DLP) PARALELISMO A NIVEL DE HILOS, TAREAS

    (TLP) PARALELISMO A NIVEL DEPETICIONES

    (RLP)

    LEMA: Actualmente el paralelismo es casi la nica forma de aumentar rendimiento y/o productividad

    SPD. Tema 0. 20

  • F1 F2 F3 F4

    Secuencial y Encadenamiento

    21

    Ejecucin secuencial

    Encadenamiento de instrucciones de cdigo mquina (segmentacin, pipelining)

    Instr. 1 Instr. 2 Instr. 3 Instr. 4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    Inst. 1

    Inst. 2

    Inst. 3

    Inst. 4

    4 Instrucciones en el aire

  • 22

    Paralelismo a nivel de instrucciones (ILP)

    Se combina con encadenamiento

    F1 F2 F3 F4Inst. 1Inst. 2Inst. 3Inst. 4

    F1 F2 F3 F4F1 F2 F3 F4

    F1 F2 F3 F4F1 F2 F3 F4F1 F2 F3 F4F1 F2 F3 F4

    Inst. 5

    Inst. 6Tendremos 3*4 instruccionesen el aire (P=4 = n de etapas)

  • 23

    Paralelismo a nivel de datos (DLP) procesamiento vectorial la misma operacin sobre muchos datos (p.e. sumar 2

    vectores). Tpico en programas multimedia, cientficos y de

    transacciones (bancos, comercios, comunicaciones, etc.)

    F1 F2 F3 F4F3Inst. 1

    Inst. 2

    Inst. 3

    Inst. 4

    Inst. 5

    Inst. 6

    F1 F2 F3 F4F3

    F1 F2 F3 F4F3

    F1 F2 F3 F4F3

    F1 F2 F3 F4F3

    F1 F2 F3 F4F3

  • EJERCICIO: COMENTARIO TEXTOFrom H&P 2012.The switch to multiple processors per chip around 2005 did

    not come from some breakthrough that dramatically simplified parallel programming or made it easy to build multicore computers.

    The change occurred because there was no other option due to the ILP walls and power walls.

    Performance is now a programmers burden. The programmer era of relying on hardware designers to make their programs go faster without lifting a finger is officially over. If programmers want their programs to go faster with each generation, they must make their programs more parallel.

    The popular version of Moores lawincreasing performance with each generation of technologyis now up to programmers. SPD. Tema 1. 24

  • Paralelismo a nivel de tareas o hilos (tasksor threads) (TLP)

    Multiprocesamiento Ejecucin paralela de distintos fragmentos de

    un mismo programa en distintos procesadores

    25

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    F1 F2 F3 F4

    Procesador 2Procesador 1 Procesador 3

    P

    V

  • Paralelismo a nivel de peticiones (RLP) Suele contener mucho Paralelismo de datos

    Cientos de peticiones independientes por segundo (grandes servidores)

    Una misma peticin externa suele dividirse en varias peticiones.

    Google Web requestGoogle Web request

  • EJERCICIO

    Hallar el nmero de instr. en vuelo (activas en cualquier fase en un ciclo) del diagrama de Multiprocesamiento.

    Hallar nmero de operaciones por ciclo si adems hay DLP con 2 operaciones a la vez en F3.

    SPD. Tema 1. 27

  • CONCEPTOS BSICOS Resumen de conceptos de cada tema

    ILP DLP TLP/RLP

    SPD. Tema 1. 28

  • Lmites del ILP ILP: Paralelismo a nivel de instrucciones Se han acercado al Data Flow Limit, lmite del

    flujo de datos Qu dos factores limitan ms el paralelismo

    ILP extrable en benchmarks reales? Fallos en la prediccin de saltos.

    BTB cada vez ms sofisticada, compleja y grande.

    Accesos a memoria de datos (cach): Aunque AB altsimo Latencia de acceso decrece poco Muchos accesos

    SPD. Tema 1. 29

  • Tcnicas Estticas vs. Dinmicas Esttica: compilador/programador Dinmica: procesador en t de ejecucin PLANIFICACIN (reordenacin de

    instrucciones o Scheduling) ESTTICA Compiladores avanzados: En teora se puede extraer

    Alto Rendimiento del Scheduling Dinmico Ej. Desenrollado de bucles y otros

    PLANIFICACIN DINMICA Algoritmo en hardware. Muy sofisticado. IDEA: Apuntar la informacin de dependencias en

    registros ocultos y esperar a que llegue el dato. Scheduling Dinmico muy eficiente

    SPD. Tema 1. 30

  • Ej. DESENROLLADO DE BUCLESfor (i=0 ; i

  • A