Download - Slides Clase09 Rendimiento
-
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