ARQII_07-Paralelo

Embed Size (px)

Citation preview

  • 8/17/2019 ARQII_07-Paralelo

    1/41

     

    Arquitecturas Paralelas

    Introducción

    William Stallings, Organización y Arquitectura deComputadores, 5ta. ed., Capítulo 16: Procesamiento Paralelo.

     Andrew S. Tanenbaum, Organización de Computadoras ta.ed., Capítulo !: Arquitecturas de computadoras paralelas.

    Hesham El-Rewini & Mostafa Abd-El-Barr, Ad"ancedComputer Arc#itecture and Parallel Processing. $illey.

  • 8/17/2019 ARQII_07-Paralelo

    2/41

     

    Contexto

    El paralelismo, en todas sus formas, esel tema central de la asignatura.

    En la primer mitad del curso sepresentaron varios aspectos de losdiseños de procesadores que involucran

    el concepto de paralelismo, entendidocomo ejecución simultánea:

     %egmentación y supersegmentación del ciclode instrucción y de las unidades &uncionales. Arquitecturas superescalares y duplicación

    de recursos. Arquitecturas de pala'ra anc#a. Arquitecturas "ectoriales.

    (O)A:Otra &orma de simultaneidad: *ultitareas.+arios procesos comparten una CP -O% )ime/

    s#aring "s. real/time.

  • 8/17/2019 ARQII_07-Paralelo

    3/41

     

    Paralelismo a nivel de instrucciones (ILP)

    Existe ILP cuando las instrucciones que componen un programa sonindependientes. En ese caso el código puede ser reordenado sinalterar el resultado. Por lo tanto existe la posiilidad de ejecutar lasinstrucciones en paralelo. Las dependencias de datos son cr!ticas eneste contexto.

    0emplo operaciones independientes:  for(i=0;i

  • 8/17/2019 ARQII_07-Paralelo

    4/41

     

    Contexto

    +e presentaron los limites para la construcción de procesadores:

     2a disipación de potencia limita el tama3o de los transistores 2a "elocidad de la luz limita la "elocidad de relo

    *tili2ando diseños -I+ profundamente segmentados con

    caracter!sticas superescalares, puede conseguirse 3asta un factor 45de aceleración respecto de los diseños tradicionales, pero no más queeso.Pero qu6 sucede si una aplicación necesita 4547  instrucciones porsegundo8 Puede especularse sore la futura existencia de un per!odode reloj de 5.554 ns8 asi imposile %la lu2 recorre 5.9 mm en 4 ps&.

    Puede pensarse en 4555 computadoras de 4 ns traajandosimultáneamente8 Puede ser...+i se desea un factor 4555 no alcan2a con extender el conceptosuperescalar, agregando unidades funcionales, o pensar en aumentar4555 veces la frecuencia de traajo. La #nica solución es repetir P*senteras $ lograr una colaoración eficiente entre ellas.

  • 8/17/2019 ARQII_07-Paralelo

    5/41

     

    Contexto

    Avances importantes en microprocesadores desde voneumann (*+,)

    *nidad de control microprogramada $ el concepto de familia%40)& ompatiilidad I+ con diferentes implementaciones ;I.

    =emoria cac3e %40?& ;I. rquitecturas -I+ %4?7& Involucra la ma$or!a de los asuntos

    importantes de arquitectura $ organi2ación: +egmentación decauce %pipeline& $ diseño superescalar.

    @o existe en la actualidad una tecnolog!a que 3aga prever unimpacto semejante.

    =#ltiples procesadores8

  • 8/17/2019 ARQII_07-Paralelo

    6/41

     

    MotivaciónLas computadoras con una #nica P* no son suficientes para

    satisfacer los requerimientos de algunas áreas de aplicación, a pesarde los avances tecnológicos $ arquitectónicos de los procesadoresmodernos.

    %imulaciones y modelado de sistemas complicados.

    Pro'lemas que dependan de la manipulación4cómputo de grandes

    cantidades de datos 2os grandes pro'lemas &ísicos, económicos, 'iológicos, climatológicos.

    Estas aplicaciones se caracteri2an por manejar cantidades enormes dedatos $Ao reali2ar grandes cantidades de cálculos num6ricos.

    -rand Challenge Pro.lems (los grandes desa/0os)

    Prolemas que tienen solución, pero que no pueden resolverse enuna cantidad de tiempo ra2onale utili2ando las computadorasactuales. inmica de &luídos, modelado am'iental, 'iologíamolecular. 0emplo: pronostico meteorológico.

    !na posi.le solución para las necesidades de alta per/ormance es utili1ar

    sistemas con varias CP!s para resolver una determinada aplicación&

  • 8/17/2019 ARQII_07-Paralelo

    7/41

     

    Procesamiento paralelo

    Arquitectura paralela

    +istema con dos o mas procesadores conectados de tal manera que

    les sea posile compartir la ejecución de una determinada tarea%reali2ar procesamiento paralelo&.

    Existen diversas organi2aciones, seg#n:

    @#mero $ complejidad de las P*s utili2adas. "isponiilidad de memoria compartida.

     1opolog!a de interconexión. "ispositivos de EA+.

  • 8/17/2019 ARQII_07-Paralelo

    8/41

     

    Paraleli1ación de programas

    La estrategia para la construcción de un programa paralelo%paraleli1ación& consiste en descomponer el prolema en tareas demenor complejidad que puedan ejecutarse simultáneamente.

    El paralelismo se consigue:

    "escomponiendo el prolema en tareas menores.

    signando las tareas a procesadores que puedan ejecutar en

    paralelo.

    oordinando las tareas simultáneas.

    nalog!a con la industria automotri1 $ otros prolemas complejos.

  • 8/17/2019 ARQII_07-Paralelo

    9/41

     

    Programas paralelos 2 Condiciones+e necesitan dos condiciones en los programas de aplicación para

    3acer un uso eficiente de los procesadores:17 Poca comunicación entre los procesadores mientras eecutan la

    tarea compartida.

    87 n cierto grado de paralelismo in#erente en la tarea a realizar. 

    Beneralmente, la resolución de un prolema puede ser dividida en

    tareas de menor complejidad, las cuales pueden ser ejecutadassimultáneamente con una cierta coordinación. Pero puede sucederque el esfuer2o de coordinación supere los eneficios delprocesamiento simultáneo.

    o todas las aplicaciones se .ene/ician

    Pro.lemas Embarrassingl! "arallel# Prolemas en los cuales no 3a$ que 3acer ning#n esfuer2o paraparaleli2ar, pues no existe comunicación entre procesadores.

    9ractales cada punto puede calcularse en &orma independiente7  Animación cada cuadro se renderiza en &orma independiente de los

    dems7

    %imulaciones y reconstrucciones en &ísica de partículas.

  • 8/17/2019 ARQII_07-Paralelo

    10/41

     

    Programas paralelos 2 "3emplos

    for(i=0;i

  • 8/17/2019 ARQII_07-Paralelo

    11/41

     

    6ipos de paralelismo

    PA#AL"LISM7 " L7S A67S"iferentes datos, misma tarea%+I="&

    'rora%*

    $$$

    if ,=.a. "n  o_i%i"=1

      3''r_i%i"=40

    if ,=.5. "n

      o_i%i"=41

      3''r_i%i"=100

    nd if

    do i = o_i%i" 6 3''r_i%i"  7a8 on d(i)

    nd do

    $$$

    nd 'rora%

    PA#AL"LISM7 " LAS 6A#"AS"iferentes datos, diferentes tareas%=I="&

    'rora%*

    $$$

    if ,=.a. "n

      do "a8 .A.

    if ,=.5. "n

      do "a8 .9.

    nd if

    $$$

    nd 'rora%

  • 8/17/2019 ARQII_07-Paralelo

    12/41

     

    7rgani1aciónClasi/icación de 8l'nn (*9:)

    Clasi&icación #istórica, 'asada en la naturaleza ortogonal del &luo deinstrucciones eecutado por la computadora ;7 y el &luo de datosso're los cuales operan las instrucciones 7.

    Massively Parallel

    Processor(MPP)

  • 8/17/2019 ARQII_07-Paralelo

    13/41

     

  • 8/17/2019 ARQII_07-Paralelo

    14/41

     

    (Tanenbaum)

  • 8/17/2019 ARQII_07-Paralelo

    15/41

     

    Arquitecturas SISSingle $nstru%tion stream, Single ata stream.

    rquitectura tradicional escalar de von @eumann, estudiada 3astaeste momento. ada instrucción opera sore un #nico dato.Puede existir paralelismo: segmentación,  superescalares  $unidades vectoriales.

  • 8/17/2019 ARQII_07-Paralelo

    16/41

     

    Arquitecturas SIMSingle $nstru%tion stream, Multi"le ata stream

    onstan de una #nica unidad de control $ m#ltiples unidadesid6nticas de procesamiento que reali2an la misma instrucción alun!sono. Llamados tami6n Arra' Processors %no confundir convectoriales&.

    Especiali2ados en prolemas num6ricos que puedan expresarsecomo matrices o vectores. ada unidad de procesamiento consta deuna L* $ registros, $ se utili2a para computar un elemento delresultado %front/end von @eumann, más un arra$ de procesadores

    id6nticos que reali2an la misma instrucción&.

  • 8/17/2019 ARQII_07-Paralelo

    17/41

     

    Pueden utili2ar memoria compartida o distriuida.

    0emplo: ;22;AC ;+ 1s7, 6 procesadoresconectados en una grilla de !?!. C*/8 1

  • 8/17/2019 ARQII_07-Paralelo

    18/41

     

    Arquitecturas MIMMulti"le $nstru%tion stream, Multi"le ata stream

    +on las arquitecturas paralelas propiamente dic3as. Pueden ser conmemoria compartida %multiprocesadores& o memoria distriuida%multicomputadoras&. ada unidad de procesamiento tiene su propioflujo de instrucciones.

  • 8/17/2019 ARQII_07-Paralelo

    19/41

     

    MIM5 MultiprocesadoresProcesadores fuertemente acoplados

    Existe un #nico espacio de direccionamiento. La comunicación entreprocesadores se reali2a a trav6s de la memoria compartida. "esde elpunto de vista del programador se trata de "aria'les glo'ales. Losprogramas son fáciles de escriir,La performance de la memoria limita el n#mero de procesadores%cr!tico&.

    ;B* %ystem4=>, 8 CPs 17;B* %ystem4, mltiple 1

  • 8/17/2019 ARQII_07-Paralelo

    20/41

     

    MIM5 MulticomputadorasProcesadores d6ilmente acoplados

    ada P* tiene su propia memoria, invisile para la demás. Lacomunicación entre procesadores se reali2a a trav6s de unmecanismo de  pasae de mensaes. "esde el punto de vista delprogramador no existen las "aria'les glo'ales, sino canales decomunicación $ operaciones de env!o $ recepción, que deenprogramarse en forma expl!cita.

    La performance de la red de interconexión limita el n#mero deprocesadores. "epende muc3o del tipo de aplicación.

    − ;ntel iP%C48 1!6, #ipercu'o− ;ntel Paragon 1> proc i!6>, mes#− Cray )0 *C518 1

  • 8/17/2019 ARQII_07-Paralelo

    21/41

     

    #edes de interconexión paraarquitecturas paralelas

    Pueden clasificarse seg#n diferentes criterios:

     Modo de operación5 sincrónico vs. asincrónico.

     "strategia de control5 centrali2ado vs. descentrali2ado.

     64cnica de conmutación5 circuitos vs. conmutación depaquetes.

     6opolog0a5 cómo se conectan procesadores $ memorias entre s!.

    Balance entre per&ormance anc#o de 'anda7 y costo.

  • 8/17/2019 ARQII_07-Paralelo

    22/41

     

    -edes de interconexión

    6opolog0as para memoria compartida

    a&

  • 8/17/2019 ARQII_07-Paralelo

    23/41

     

    El routing dinámico se consigue utili2ando redes de conmutacióncompuestas por crossar sFitc3es o 7x7 sFitc3es. Las redescrossar son no loqueantes %permiten varias conexionessimultáneas& pero necesitan gran cantidad de sFitc3es %@7  para @nodos&.

    -edes de interconexión

    6opolog0as para memoria compartidaC#7SS;A#

    -edes de interconexión

  • 8/17/2019 ARQII_07-Paralelo

    24/41

     

    Las redes de interconexión multietapa son las más avan2adas entrelas redes actuales de conmutación. En el caso de la red omega, paraconectar @ nodos se necesitan log7@ etapas con @A7 sFitc3es 7x7

    cada una.

    -edes de interconexión

    6opolog0as para memoria compartida7M"-A

    -edes de interconexión

  • 8/17/2019 ARQII_07-Paralelo

    25/41

     

    Gentajas $ desventajas de las diferentes topolog!as:

    Las redes tipo us son económicas pero pueden transformarse enel cuello de otella del sistema.

    Los uses paralelos mejoran la performance, pero son costosos.

    Las redes crossar son no loqueantes, pero requieren un grann#mero de sFitc3es.

    Las redes omega son loqueantes en menor grado. Presentanmejor performance que los uses $ son más económicas que las

    crossar.

    -edes de interconexión

    6opolog0as para memoria compartidaSumario

  • 8/17/2019 ARQII_07-Paralelo

    26/41

     

    I) "státicas (pi1arrón) II) inámicas

     )

    -edes de interconexión

    6opolog0as para pasa3e de mensa3es

  • 8/17/2019 ARQII_07-Paralelo

    27/41

     

    -edes de interconexión

    6opolog0as para pasa3e de mensa3es

    45/cue )/cue

    A áli i d /

  • 8/17/2019 ARQII_07-Paralelo

    28/41

     

    Análisis de per/ormance enArquitecturas Paralelas

     Hesham El-Rewini & Mostafa Abd-El-Barr,

     Advanced Computer Architecture and Parallel Processing. Willey.

    Capítulo 3 completo.

     PeaH rate %no mu$ #til, marHeting& =ejora $ Eficiencia ;+1sA1p, J+An>

    Equal duration model: caso ideal [S=n, J=1]

    +erial section model: le$ de mda3l ;+nA%f%n/4&K4&>

     mda3l vs. Bustafson/

     Efecto del tiempo de comunicación ;+1sA%1pK1c&, fcn1cA1s>

     Escalailidad

  • 8/17/2019 ARQII_07-Paralelo

    29/41

     

    ξ=1

    ξ= S 

    nS=

    t  s

    t m

      qual duration model

    ractional communication over3ead

    Definición de mejora y eficiencia

  • 8/17/2019 ARQII_07-Paralelo

    30/41

     

    Serial section model

  • 8/17/2019 ARQII_07-Paralelo

    31/41

     

  • 8/17/2019 ARQII_07-Paralelo

    32/41

     

    Serial section model

    with communication overhead

  • 8/17/2019 ARQII_07-Paralelo

    33/41

     

    Métrica de Karp-Flatt

    Despejando f de Amdhal y midiendo la aceleración S que se obtiene para un

    dado problema (utilizando n procesadores), resulta que f es una medida

    experimental de cuán paralelizable es el problema !uede utilizarse para

    predecir cómo se comportará el sistema al "ariar el n#mero de

    procesadores)

     f=

    1

    S +

    1

    n

    1−1

    n

    mdhal vs! "ustafson-#arsis

     Al$unos problemas no se comportan en forma tan pesimista como

    predice Amdhal A "eces el tama%o del problema escala con el n#mero

    de procesadores SS(f) es una recta y no presenta el l&mite en 'f s

    como si f se fuera achicando, en proporción, al aumentar el orden del

    problema (en la práctica sucede)

    ++

    4

    n

    4f 

    SS ( n )=  f+(1− f  )×n

     f+ (1

    − f  )n   ×n

    lim SS (n )n→∞=∞

  • 8/17/2019 ARQII_07-Paralelo

    34/41

     

    % "s. & 

    gnuplotM plot ;x5:4> ;5:45> NA%xO)K4& title mda3l nN, 45A%xOK4& title mda3ln45, 455A%xOK4& title mda3l n455,4Ax title mda3l noo, N/%xO)& titleBustafson nN, 45/%xO& title Bustafson n45, 455/%xO& title Bustafson n455

  • 8/17/2019 ARQII_07-Paralelo

    35/41

     

    "scala.ilidad

    0emplo: Fipercu'o de dimensiones nJ8, dist ma?Jlog8n77, utilizado para realizar la suma de m nmeros.

    S=  m

    m

    n+2log2 n

    *ejora (hacia +) escalable

    s escalable si habiendo a$re$ado nodos la

    eficiencia se mantiene cte al aumentar m

  • 8/17/2019 ARQII_07-Paralelo

    36/41

     

    for m=1:8,

      for n=1:8,

      N=2^n;

      M=2^(m+5);

      S(m,n)=M/(M/N+log2(N));

    E(m,n)=S(m,n)/N;

      end

    end

    surf(S); % ver que en la diagonal se vaya duplicando

    ylabel('m: orden 2^(m+5)');

    xlabel('n: nodos 2^n');

    zlabel('Mejora');

  • 8/17/2019 ARQII_07-Paralelo

    37/41

     

    for m=1:8,

      for n=1:8,

      N=2^n;

      M=2^(m+5);

      S(m,n)=M/(M/N+log2(N));

    E(m,n)=S(m,n)/N;

      end

    end

    surf(E); % ver que la diagonal se mantenga constante

    ylabel('m: orden 2^(m+5)');

    xlabel('n: nodos 2^n');

    zlabel('Eficiencia');

  • 8/17/2019 ARQII_07-Paralelo

    38/41

     

    "scala.ilidad

     l grado de escala!ilidad de un sistema paralelo se determina por la

    relaci"n en #ue el pro!lema de!e incrementarse respecto del n$mero de

     procesadores % n &' para mantener una eficiencia constante cuando el

    n$mero de procesadores aumenta.

     Por e(emplo' en un sistema paralelo altamente escala!le el tama)o del

     pro!lema de!er* crecer linealmente con respecto de n a fin de mantener

    la eficiencia constante.

     n un sistema poco escala!le el tama)o del pro!lema necesitar* crecer

    e+ponencialmente con respecto de n para mantener la eficiencia

    constante.

    i 0 d l

  • 8/17/2019 ARQII_07-Paralelo

    39/41

     

    Sumario 6axonom0a de 8l'nn

    SIS5 +ingle Processor, von @eumann

    SIM5 rra$ Processors

    MIS5  8888

    MIM5 

    =emoria compartida: =ultiprocesadores %+=P $ @*=&

    =emoria distriuida: =ulticomputadoras %=PP $ lusters&

    S i 6 0 d 8l

  • 8/17/2019 ARQII_07-Paralelo

    40/41

     

    Sumario 6axonom0a de 8l'nn

    Sumario

  • 8/17/2019 ARQII_07-Paralelo

    41/41

     

    Sumario

    Las arquitecturas para procesamiento paralelo, en sus diversas variantes, son eltema central de la materia.

    Las t6cnicas superescalares $ de segmentación utili2an conceptos de paralelismo con elojetivo de incrementar el desempeño de los diseños clásicos. Estas encuentranrápidamente limitaciones prácticas en el momento de la implementación.

    Existen prolemas que no pueden solucionarse utili2ando un #nico procesador, dado elactual estado de la tecnolog!a, por lo que se presenta la necesidad de utili2ar varios deellos traajando en forma coordinada. Pero no todos los prolemas pueden sacarpartido de esta estrategia. Los programas deen cumplir con algunas condiciones.

    Existen dos tipos de organi2aciones con diferentes ojetivos: los diseños +I=" explotanel paralelismo en los datos, $ los =I=" el paralelismo en las instrucciones.

    Estos #ltimos se dividen en multiprocesadores $ multicomputadoras, seg#n dispongan ono de memoria compartida. Estas son las dos grandes categor!as actuales de

    arquitectutas paralelas. mas utili2an modelos de programación diferentes.Los grandes sistemas de cómputo utili2an 3o$ una cominación de amasarquitecturas.