slides clase09 rendimiento

Upload: hermano-en-cristo

Post on 07-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Slides Clase09 Rendimiento

    1/30

    Arquitectura de Computadores II

    Clase #9

    Facultad de IngenieríaUniversidad de la República

    Instituto de ComputaciónCurso 2!

  • 8/18/2019 Slides Clase09 Rendimiento

    2/30

    Rendimiento

    "eremos

  • 8/18/2019 Slides Clase09 Rendimiento

    3/30

    "er a trav$s de la %niebla& del mar'eting (omar opciones inteligentes )ntender el problema*motivación

    +,or qu$ algunos programas se comportan me-or endeterminado .ard/are 0 no en otro1

    +u$ 3actores del rendimiento de un sistema dependen del.ard/are1

    4 5e-emplo6 se necesita una nueva m7quina8 o un nuevo sistemaoperativo1

    +Cómo a3ecta el set de instrucciones al rendimiento1 +: laorgani;ación1

    Rendimiento 5,er3ormance

  • 8/18/2019 Slides Clase09 Rendimiento

    4/30

    +Cu7l es me-or1

    (iempo de e-ecución de una tarea (iempo de )-ecución8 tiempo de respuesta8 latencia

    (areas por día8 .ora8 semana8 seg8 ns (.roug.put

    Plane

    Boeing 747

    Concorde

    Speed

    610 mph

    1350 mph

    DC toParis

    6.5 hours

    3 hours

    Passengers

    470

    132

    Throughput(pmph)

    286,700

    178,200

  • 8/18/2019 Slides Clase09 Rendimiento

    5/30

    (iempo de e-ecución o respuesta 5latencia

    +Cu7nto tiempo lleva e-ecutar un traba-o1

    +Cu7nto .a0 que esperar por el resultado de una consulta a la

    base de datos1

    (.roug.put

    +Cu7ntos traba-os pueden e-ecutarse a la ve;1

    +Cu7l es el tiempo de e-ecución total de varias tareas1

    +Cu7ntos traba-os terminan por unidad de tiempo1

    ,reguntas típicas

    +Cu7nto se me-ora si agregamos un procesador al servidor1

    +u$ me-ora se obtiene agregando una nueva m7quina1

    Rendimiento del Computador6

    (I)

  • 8/18/2019 Slides Clase09 Rendimiento

    6/30

    5millones de instrucciones por segundo ?Recuento de Instrucciones*5(iempo@)-ec !B

    )-emplo

    Dos di3erentes compiladores se prueban en una m7quina de !

  • 8/18/2019 Slides Clase09 Rendimiento

    7/30

    (iempo transcurrido 8 etc

    Una medida útil8 pero di3ícil de usar para comparar sistemas

    (iempo de C,U o cuenta )*>8 o el tiempo que se emplea en e-ecutar otros

    programas 5en sistemas multitarea

    >e puede dividir en tiempo del sistema 0 tiempo de usuario

    (iempo de )-ecución 

  • 8/18/2019 Slides Clase09 Rendimiento

    8/30

    De3inición de ,er3ormance

    ,er3ormance6 unidades de e-ecución por unidad de tiempo

  • 8/18/2019 Slides Clase09 Rendimiento

    9/30

    (iempo discreto en %tic's& de relo-6

    (iempo de ciclo ? tiempo entre tic's ? período 5seg*ciclo

    Frecuencia del relo- 5ciclos * seg 5! E; ? ! ciclo*seg Un relo- de 2

  • 8/18/2019 Slides Clase09 Rendimiento

    10/30

    )cuación de per3ormance de C,U

    Identi3icamos tres 3actores que a3ectan la per3ormance CPI6 # ciclos * # instrucciones

    Recuento de instrucciones6 # de instrucciones del programa

    Frecuencia 5o período6 # de ciclos por segundo

    Un error .abitual es considerar que uno o dos de estos3actores son determinantes de la per3ormance Caso típico6 3recuencia de relo-

    ? Frecuencia del Relo- * 5C,I !B

    Tiempo CPU = Segundos = Instrucciones x Ciclos x Segundos

      Programa Programa Instrucciones Ciclo

    Tiempo CPU = Segundos = Instrucciones x Ciclos x Segundos

      Programa Programa Instrucciones Ciclo

    Tiempo de CPU=#ciclos× período

    Tiempo de CPU=#instrucciones×#ciclos#instrucciones

    × período

  • 8/18/2019 Slides Clase09 Rendimiento

    11/30

    Aspectos de la ,er3ormance dela C,U

    Recuento Inst C,I Ciclo de Relo-

    ,rograma KCompilador K 5K

    >et de InstG K K

    =rgani;ación K K

    (ecnología K

  • 8/18/2019 Slides Clase09 Rendimiento

    12/30

    Ciclos por Instrucción

     %Frecuencia de Instrucciones& 

    )n un set de n 5categorías de instrucciones

    CPI =∑ j=1

    n

    CPI j× F

     j , siendo CPI

     j=

    #ciclos j

    #ocurrencias  j , F 

     j=

    #ocurrencias j

    #instrucciones

    #ciclos=∑ j=1

    n

    #ciclos  j=∑ j=1

    n #ciclos  j

    #ocurrencias  j

    ×#ocurrencias  j

    CPI =#ciclos

    #instrucciones=∑

     j=1

    n #ciclos  j

    #ocurrencias  j×

    #ocurrencias  j

    #instrucciones

    C,I - debe medirse8 0a que la re3erencia t$cnica no tiene en cuenta8

    por e-emplo8 misses de cac.e o retardos en pipelineG

  • 8/18/2019 Slides Clase09 Rendimiento

    13/30

    )-emplo6 C7lculo de C,I 5!*2

    Mezcla Típica

    =p Freq C,I F -MC,I - 5N (iempo

    AOU HN ! GH 5PPN

    Ooad 2N 2 GQ 52N

    >tore !N 2 G2 5!PN

    ranc. 2N 2 GQ 52N

      !GH

  • 8/18/2019 Slides Clase09 Rendimiento

    14/30

    )-emplo6 C7lculo de C,I 52*2

    C P I d e la

    m á q u i n a

    C P I d e la

    m á q u i n a

    5 x 30 + 1 x 20 + 2 x 20 + 2 x 10 + 2 x 20

    100

    = 2.7 ciclos/instrucción

    5 x 30 + 1 x 20 + 2 x 20 + 2 x 10 + 2 x 20

    100

    = 2.7 ciclos/instrucción

    M e z c l a d e

    I n s t r u c c i o n e s

    M e z c l a d e

    I n s t r u c c i o n e s

    Donde se

    gasta el

    tiempo?

    Donde se

    gasta el

    tiempo?

  • 8/18/2019 Slides Clase09 Rendimiento

    15/30

    )-emplo6

    Impacto del ranc. >tall >e asume C,I ? !G ignorando bi3urcaciones 5ideal

    )n realidad se produce un %stall& de P ciclos porbi3urcación

    >i PN bi3urcaciones8 %stall& P ciclos en PN

    Op Freq Cycles F j x CPI j (% Tiempo)

    Otras 70% 1 7 (!7%)

    "i#$rc !0% 1& ('!%)

    C,I real? !G9

    Oa m7quina real es !*!G9 ? GH2 veces %m7s r7pida& 5osea el doble de lentaS

  • 8/18/2019 Slides Clase09 Rendimiento

    16/30

    Oe0 de Amda.l 5!*P Aceleración 5>peedup debida a me-ora )6

      ExTime sin E Performance con E

    Speedup(E) = ------------- = -------------------

      ExTime con E Performance sin E

    Oa aceleración global depende no sólo del 3actor de aceleración de la me-ora8 sinotambi$n del tiempo que se aprovec.a esa me-ora

    )-emplo6 Consideramos un programa que se e-ecuta en ! segsT la multiplicaciónes responsable de segsG del totalG +Cu7nto debemos me-orar lamultiplicación para que el programa se e-ecute Q veces m7s r7pido1

    ,rincipio6 me-orar el caso m7s común

  • 8/18/2019 Slides Clase09 Rendimiento

    17/30

    Oe0 de Amda.l 52*P

    T old=T no afectadoT afectado oldT 

    ne=T 

    no afectadoT 

    afectado ne

    T ne=T 

    no afectado

    T afectado old

    speed!pafectado

     ,  donde speed!pafectado

    =T 

    afectado old

    T afectado ne

    T ne=1−F"acci#nafectada T oldF"acci#nafectadaT old

    speed!pafectado

    speed!ptotal=

    T old

    T ne=

    1

    1−F"acci#nafectadaF"acci#n

    afectada

    speed!pafectado

    =bservación6 Fraccióna3ectada es con respecto a (old

  • 8/18/2019 Slides Clase09 Rendimiento

    18/30

    Oe0 de Amda.l 5P*P

    )-emplo6 Instrucciones de ,unto Flotante me-orada para correr a 2KT pero únicamente !N

    del tiempo se consume en instrucciones de ,unto Flotante

    Speeduptotal =1

    0.9 + 0.1 / 2= 1.0!

    speed!ptotal=

    T old

    T ne

    =1

    1−F"acci#n afectada F"acci#n

    afectada

    speed!pafectado

  • 8/18/2019 Slides Clase09 Rendimiento

    19/30

    Oe0 de Amda.l6 e-emplo 5!*2

    Queremosejecutarunprogramaen N CPUs

    Se emplea el 30%

    del tiempo ejecutandocódigo que no se puedeparalelizar

    CPs & ! *

    +celeraci,-

    Calcularemos aceleración

    paraN = 2, 3, 4, 5, ∞

  • 8/18/2019 Slides Clase09 Rendimiento

    20/30

    Oe0 de Amda.l6 e-emplo 52*2

    S =

    1

    (30 % + (70% / N) ) / 100 %

    CPs & ! *

    +celeraci,- 1 1. &1 &! !!

    S( )∞

    2 3 # CPUs

  • 8/18/2019 Slides Clase09 Rendimiento

    21/30

    Vernels )tractos %clave& de programas reales

    >0nt.etic benc.mar's Filoso3ía similar a 'ernels8 intentan promediar 3recuencia de

    operaciones de un gran con-unto de programas típicos4 W.etstone 5num$rico8 D.r0stone 5)*> datos

    F7cil de estandari;ar8 pero4 ,ueden ser %violados& 

    ,rogramas reales >e usan programas que representan una carga de traba-o

    típica8 para determinada clase de aplicaciones4 Compiladores de C8 procesadores de teto8 .erramientas CAD

  • 8/18/2019 Slides Clase09 Rendimiento

    22/30

    enc.mar' >uites Combinaciones de benc.mar's8 en3ocados en algún aspecto

    relevante6 >,)CC,U28 >,)Cint!998 >,)C3p!9928 >,)CWeb8>,)C>F>8 (,CXC8 etcG

    >,)C 5>0stem ,er3ormance )valuation Cooperative Oas compaYías se ponen de acuerdo en un con-unto de programas 0

    entradas reales

    Aún pueden ser %violados&

    uen indicador de per3ormance 50 tecnología de compiladores

    >,)C98 928 9H8 28 2

    Oos programas varían entre generaciones de >,)C

  • 8/18/2019 Slides Clase09 Rendimiento

    23/30

    >,)C C,U26benc.mar's de enteros

  • 8/18/2019 Slides Clase09 Rendimiento

    24/30

    >,)C C,U26benc.mar's de punto 3lotante

  • 8/18/2019 Slides Clase09 Rendimiento

    25/30

    Oa C,U no es todootros benc.mar's >,)C

    >,)Cint 0 >,)C3p miden tareas de computación intensiva8en3ati;ando los siguientes elementos de la arquitectura6 C,U Arquitectura de memoria

    Compiladores = atacan otros elementos tales como el sistema operativo8

    la red8 los gr73icos o el subsistema de )*>G )isten otrosbenc.mar's8 por e-emplo para6 Zrap.ics and Wor'station ,er3ormance Eig. ,er3ormance Computing8 =pen

  • 8/18/2019 Slides Clase09 Rendimiento

    26/30

    Reportes de per3ormance

    Oos reportes deben permitirreproducir  las mediciones deper3ormance

  • 8/18/2019 Slides Clase09 Rendimiento

    27/30

    Resumen de per3ormance 5!*P Interesa tener U número que resuma la per3ormance de un

    sistema

  • 8/18/2019 Slides Clase09 Rendimiento

    28/30

    Resumen de per3ormance 52*P ,)C benc.mar's6 >pecRatio ? (iempo de )-ecución ormali;adocon respecto a una %m7quina canónica&8 5: corre n veces m7sr7pido que K )n cociente de ratios de dos sistemas = in3lu0e la re3erenciaS 

    ,ara promediar ra;ones 5como >pecRatio se usa la

  • 8/18/2019 Slides Clase09 Rendimiento

    29/30

    Resumen de per3ormance 5P*P

    W5! pesa igual ,! 0 ,2

    W52 peso inversamente proporcional a (iempo de )-ecución en

    W5P peso inversamente proporcional a (iempo de )-ecución en A

    Comparar resultados de di3erentes medias6

    /istema + /istema " /istema C 0(1) 0(&)Prorama P1 (ses) ! ! 2 GH G99Prorama P& (ses) ! ! 2 GH G9!Tiempo total (ses) !! !! QMe2ia aritm3tica4 0(1) HGH HH 2Me2ia aritm3tica4 0(&) 9!G99 !UG!9 2

    Me2ia aritm3tica4 0(!) !G999 !G9 2

    5ormaliza2o a + 5ormaliza2o a " 5ormaliza2o a+ " C + " C + "

    Prorama P1 ! ! 2 G! ! 2 GH GH

    Prorama P& ! G! G2 ! ! G2 H HMe2ia aritm3tica ! HGH !G! HGH ! !G! 2HG2H 2GRH

    Me2ia eom3trica ! ! GCP2 ! ! GCP2 !GHU!!Q !GHU!

    Tiempo total ! G!! GQ 9G! ! GPCQ 2HG2H 2GRH

  • 8/18/2019 Slides Clase09 Rendimiento

    30/30

    )valuación de ,er3ormance ,ara bien o para mal8 los benc.mar's son tomados en cuentaGGGGG

    )l diseYo se debe orientar a me-orar la per3ormance de las cargas detraba-o 5programas reales8 0 no solamente los programas que

    a0udan a venderS

    ,ara una arquitectura dada la me-ora de la per3ormance viene de6 Incremento de la 3recuencia de relo- 5sin a3ectar los C,IS