Microarquitectura y Paralelismo en este Mil Buscar paralelismo de mas de un thread o Hay mucho paralelismo

  • View
    0

  • Download
    0

Embed Size (px)

Text of Microarquitectura y Paralelismo en este Mil Buscar paralelismo de mas de un thread o Hay mucho...

  • Microarquitectura y q y Paralelismo en este

    Mil niMilenio

    Francisco Tirado Universidad Complutense de MadridUniversidad Complutense de Madrid

  • ÍndiceÍndice El motor: La Ley de Moore

    Límites, problemas tecnológicos

    P l l l d Th dParalelismo nivel de Thread

    MultithreadingMu g

    Multicores

    2F. Tirado julio 2008

  • El motor

    Eniac 1946

    LLNL 1978LLNL 1978 150 Mflops 7600 & Cray1

    IBM Roadrunner 122400 cores

    Itaniun Quad Tukvila +2000 Mtrans122400 cores

    Opteron+Cell 1,38Tflops

    +2000 Mtrans 8M 65nm,170w,2GHz 30MB cache, 24MB L3 4 cores 2 thread/core QuickPath ( 96GB/s)

    3

    QuickPath ( 96GB/s)

    F. Tirado julio 2008

  • El motor

    Top 500 Junio 2008

    4F. Tirado julio 2008

  • La ley de Moorey

    Electronic- Abril1965

    5F. Tirado julio 2008

  • La Ley de MooreLa Ley de Moore La Ley de Moore se ha cumplido

    Tr an

    si st

    or s

    6F. Tirado julio 2008

  • La Ley de Moore se ha cumplido

    7

    Fuente: Intel Corporation F. Tirado julio 2008

  • La Ley de Moorey

    HOYHOY

    8

    Fuente: Intel Corporation F. Tirado julio 2008

  • La Ley de Moorey

    9F. Tirado julio 2008

  • La Ley de Moore

    9

    Manufacturing process details from 1997 to 2011Manufacturing process details from 1997 to 2011

    10

    Fuente: Intel Corporation

    F. Tirado julio 2008

  • 1º problema consumo

    11

    Fuente: Intel Corporation F. Tirado julio 2008

  • 1º problema consumo

    12

    Fuente: Intel Corporation F. Tirado julio 2008

  • 1º problema consumo

    Té i P

    1 problema consumo

    Técnicas Power-aware

    o Clock gating,

    o Diferentes dominios de reloj,

    o Cores simples,

    o Voltage gating( UF, bloques de cache),

    o Resizing adaptivo,

    o Voltaje dinámico y escalado de frecuencia j y

    13F. Tirado julio 2008

  • 1º problema consumo

    ¿ Q h i j d l di i t d l

    p

    o ¿ Que hacer para seguir mejorado el rendimiento de los sistemas?

    Mejora a nivel de un core. Balance power-performance

    Integrar múltiples cores en un chip Balance complejidad del Integrar múltiples cores en un chip. Balance complejidad del core-numero de cores

    Chip heterogéneos y aceleradores “on chip”

    14F. Tirado julio 2008

  • 2º problema retardo interconexiones

    15F. Tirado julio 2008

  • 2º problema retardo interconexiones

    Ciclo

    16

    Multi - Many cores F. Tirado julio 2008

  • Retos de futuro 2015

    17F. Tirado julio 2008

  • El punto de inflexiónE p f

    M 17 2004 Int l th ld's l st chip m k publicl ckn l d d th t itMay 17, 2004 … Intel, the world s largest chip maker, publicly acknowledged that it had hit a ''thermal wall'' on its microprocessor line. As a result, the company is changing its product strategy and disbandingone of its most dvanced design groups. Intel also said that it would abandon two advanced chip development projects …p p p j Now, Intel is embarked on a course already adopted by some of its major rivals: obtaining more computing power by stamping multiple processors on a single chip rather than straining to increase the speed of a single processor … Intel's decision to change course and embrace a ''dual core'‘ processorIntel s decision to change course and embrace a ''dual core' processor structure shows the challenge of overcoming the effects of heat generated by the constant on-off movement of tiny switches in modern computers … some analysts and former Intel designers said that Intel was coming to terms with escalatingg g g heat problems so severe they threatened to cause its chips to fracture at extreme temperatures…

    New York Times, May 17, 2004

    18F. Tirado julio 2008

  • Microarquitectura en los 90sq

    F d di iFuentes de rendimiento Segmentación. Ciclo de reloj Ejecución superescalar “out of order”

    Especulación de datos y control C h bl kiCaches non-blocking Desambiguación de memoria Mas ancho superescalarMas ancho superescalar ……..

    19F. Tirado julio 2008

  • Microarquitectura en los 90sq

    Li iLimites Tecnológicos; consumo, ciclo-retardo ILP limitado Crecimiento muy rápido de la latencia de memoria

    20F. Tirado julio 2008

  • Microarquitectura en los 90s

    ¿ Cuanto ILP existe en las aplicaciones ?

    q

    21F. Tirado julio 2008

  • Microarquitectura en los 90s

    Acceso a Memoria

    Microarquitectura en los 90s

    100,000 µProc

    10,000

    ce

    µProc 60%/año

    100

    1,000

    er fo

    rm an Procesador Processor-Memory

    Performance Gap: (crece 50% / año)

    10

    Pe

    Memoria

    (crece 50% / año)

    DRAM 7%/año.

    1 1980 1985 1990 1995 2000 2005 2010

    Año

    7 /año.

    22

    Año

    F. Tirado julio 2008

  • Microarquitectura en los 90sq

    S l ió l li i l d Th dSolución; paralelismo a nivel de Thread

    Estrategias

    Múltiples threads por core; – “Simultaneous multithreading: maximizing on-chip parallelism”, Dean Tullsen, Susan Eggers, and Henry Levy, ISCA22, 1995.and Henry Levy, S , 995.

    Múltiples cores ; – “The case for a single-chip l i ” K l Ol k B N f h L multiprocessor”, Kunle Olukotun, Basem Nayfeh, Lance

    Hammond, Ken Wilson, and Kunyung Chang, ASPLOS-VII, 1996.

    23F. Tirado julio 2008

  • Usar mejor los recursos Para la mayoría de las aplicaciones, la mayoría de las unidades de ejecución

    desocupadas

    j

    8-way superscalar.

    From: Tullsen, Eggers, and Levy, “Simultaneous Multithreading: Maximizing On-chip Parallelism, ISCA 1995.

    24F. Tirado julio 2008

  • Usar mejor los transistoresj

    The case for a single- chip multiprocessor, Kunle Olukotun, BasemKunle Olukotun, Basem Nayfeh, Lance Hammond, Ken Wilson, and Kunyung Chang, ASPLOS-VII, 1996.

    Retardo interconexiones ciclo consumo

    25

    Retardo, interconexiones, ciclo, consumo Ej; Piranha (Isca2000), Hydra(Micro2000),..

    F. Tirado julio 2008

  • Buscar paralelismo de mas de un threadp

    o Hay mucho paralelismo en algunas aplicaciones (e.g., Database or i ifi d )Scientific codes)

    o Thread Level Parallelism o Data Level Parallelism o Thread: proceso con sus propias instrucciones y datos

    thread puede ser parte de un programa paralelo de múltiples i d di procesos, o un programa independiente.

    Cada thread tiene todo el estado (instrucciones, datos, PC, i t t t ) i iti j ió register state, …) necesario para permitir su ejecución

    MultiThreading y multi/many cores D t L l P ll li O i idé ti b d o Data Level Parallelism: Operaciones idénticas sobre grandes volúmenes de datos ( extensiones multimedia y arquitecturas vectoriales

    26

    vectoriales

    F. Tirado julio 2008

  • Multithreading Ejecución Mulithreaded Multithreading: múltiples threads comparten los recursos del

    g

    o Multithreading: múltiples threads comparten los recursos del procesador

    El procesados debe mantener el estado de cada thread e.g., una copia de bloque de registros, un Pc separado, tablas de paginas separadas. La memoria compartida ya soporta múltiples procesos La memoria compartida ya soporta múltiples procesos. HW para conmutación de thread muy rápido. Mucho mas rápido que entre procesos.

    o ¿Cuando conmutar? Cada ciclo conmutar de thread (grano fino) Cuando un thread debe parar ( por ejemplo fallo de cache ) Cuando un thread debe parar ( por ejemplo fallo de cache )

    o HEP ( 1978 ), Alewife , M-Machine , Tera-Computer

    27

    ( ), , , p

    F. Tirado julio 2008

  • Multithreading

    Multithreading de Grano Fino

    g

    o Conmuta entre threads en cada instrucción, entrelazando la ejecución de los diferentes thread.

    o Generalmente en modo “round-robin” los threads o Generalmente en modo round robin , los threads bloqueados se saltan

    o La CPU debe ser capaz de conmutar de thread cada ciclo ciclo.

    o Ventaja; puede ocultar stalls de alta y baja latencia, cuando un thread esta bloqueado los otros usan los recursos recursos.

    o Desventaja; retarda la ejecución de cada thread individual, ya que un thread sin stall es retrasado por reparto de recursos (ciclos) entre threadsreparto de recursos (ciclos) entre threads

    o Ejemplo Niagara de SUN (Niagara 2 )

    28F. Tirado julio 2008

  • Multithreading Multithreading Grano Grueso Conmuta entre threads solo en caso de largos stalls como o Conmuta entre threads solo en caso de largos stalls, como fallos de cache L2

    o Ventajas o Ventajas No necesita conmutación entre thread muy rápida. No retarda cada thread, la conmutación solo se produce cuando un thread no puede avanzar.

    o Desventajas; no elimina perdidas por stalls cortos. La conmutación es costosa en ciclos.

    Co