Académique Documents
Professionnel Documents
Culture Documents
=
=
= =
=
= =
Semestre Otoo 2014
Cantidad de Instrucciones y CPI
Cantidad de Instrucciones para un programa
Determinado por programa, ISA y compilador
Ciclos promedio por instruccin
Determinado por hardware de la CPU
Instrucciones diferentes tienen diferente CPI
CPI promedio afectado por mezcla de instrucciones
ICEE-1012 Sistemas Digitales II
Reloj Frecuencia
CPI nes Instruccio Cantidad
Reloj Ciclo Tiempo CPI nes Instruccio Cantidad CPU Tiempo
n Instruccio por Ciclos nes Instruccio Cantidad Reloj de Ciclos
=
=
=
Semestre Otoo 2014
Ejemplo CPI
Computador A: Tiempo Ciclo = 250ps, CPI = 2.0
Computador B: Tiempo Ciclo = 500ps, CPI = 1.2
El mismo ISA
Cul es ms rpido, y por cuanto?
ICEE-1012 Sistemas Digitales II
1.2
500ps I
600ps I
A
CPU Tiempo
B
CPU Tiempo
600ps I 500ps 1.2 I
B
Ciclo Tiempo
B
CPI nes Instruccio Cantidad
B
CPU Tiempo
500ps I 250ps 2.0 I
A
Ciclo Tiempo
A
CPI nes Instruccio Cantidad
A
CPU Tiempo
=
=
= =
=
= =
=
A es ms rpido
por esto
Semestre Otoo 2014
CPI en Ms Detalle
Diferentes clases de instrucciones toman
diferentes cantidades de ciclos
ICEE-1012 Sistemas Digitales II
=
=
n
1 i
i i
) nes Instruccio de Cantidad (CPI Reloj de Ciclos
CPI promedio ponderado
=
|
.
|
\
|
= =
n
1 i
i
i
nes Instruccio Cantidad
nes Instruccio Cantidad
CPI
nes Instruccio de Cantidad
Reloj de Ciclos
CPI
Frecuencia Relativa
Semestre Otoo 2014
Ejemplo CPI
Secuencias alternativas de cdigos compilados
utilizando instrucciones en clases A, B, C
ICEE-1012 Sistemas Digitales II
Clase A B C
CPI para clase 1 2 3
CI en secuencia 1 2 1 2
CI en secuencia 2 4 1 1
Secuencia 1: CI = 5
Ciclos de Reloj
= 21 + 12 + 23
= 10
CPI Prom. = 10/5 = 2.0
Secuencia 2: CI = 6
Ciclos de Reloj
= 41 + 12 + 13
= 9
CPI Prom. = 9/6 = 1.5
Semestre Otoo 2014
Resumen Performance
La Performance depende de:
Algoritmo: afecta al CI, posiblemente al CPI
Lenguaje Programacin: afecta al CI, CPI
Compilador: afecta al CI, CPI
ISA (Instruction Set Architecture): afecta al IC, CPI, T
c
ICEE-1012 Sistemas Digitales II
El cuadro global
Reloj Ciclos
Segundos
n Instruccio
Reloj Ciclos
Programa
nes Instruccio
CPU Tiempo =
Semestre Otoo 2014
Tendencias en el Consumo Energa (Power)
En tecnologa de CI CMOS
ICEE-1012 Sistemas Digitales II
Frecuencia Voltaje Capacitiva Carga Power
2
=
1000 30 5V 1V
Semestre Otoo 2014
Reduccin del Power
Supongamos que una nueva CPU tiene:
85% de la carga capacitiva de la anterior CPU
15% reduccin en voltaje y 15% menor frecuencia
ICEE-1012 Sistemas Digitales II
0.52 0.85
F V C
0.85 F 0.85) (V 0.85 C
P
P
4
old
2
old old
old
2
old old
old
new
= =
=
La muralla del consumo de energa
No se puede reducir ms el voltaje
No se puede disipar ms calor
Que otra cosa puede mejorar la performance?
Semestre Otoo 2014
Performance de los Uniprocesadores
ICEE-1012 Sistemas Digitales II
RISC
Cambio a multi-procesadores
Limitado por el consumo de energa, el paralelismo a
nivel de instruccin y la latencia de memoria
Semestre Otoo 2014
Las Tecnologas y el Consumo de Energa
Semestre Otoo 2014 ICEE-1012 Sistemas Digitales II
Multiprocesadores
Microprocesadores Multicore
Ms de un procesador por chip
Requiere explcitamente parallel programming
Comparar con paralelismo a nivel de instruccin
Hardware ejecuta mltiple instrucciones a la vez
Escondido para el programador
Difcil de implementar
Programacin para la performance
Balance de carga
Optimizacin de las comunicaciones y sincronizacin
ICEE-1012 Sistemas Digitales II Semestre Otoo 2014
SPEC: Benchmark de CPU
Programas utilizados para medir performance
Supuestamente tpico para cargas reales de trabajo
Standard Performance Evaluation Corp (SPEC)
Desarrolla benchmarks para CPU, E/S, Web,
SPEC CPU2006
Tiempo transcurrido para ejecutar una seleccin de
programas
Insignificante para E/S, slo enfocado a performance de CPU
Normalizacin relativa a una mquina de referencia
Suma como media geomtrica de ndices de performance
CINT2006 (enteros) and CFP2006 (punto flotante)
ICEE-1012 Sistemas Digitales II
n
n
1 i
i
ejecucion de tiempo Indice
[
=
Semestre Otoo 2014
CINT2006 para Opteron X4 2356
ICEE-1012 Sistemas Digitales II
Nombre Descripcin CI10
9
CPI Tc (ns)
Tiempo
Ejecucin
Tiempo
Referencia
ndice
SPEC
perl Interpreted string processing 2,118 0.75 0.40 637 9,777 15.3
bzip2 Block-sorting compression 2,389 0.85 0.40 817 9,650 11.8
gcc GNU C Compiler 1,050 1.72 0.47 24 8,050 11.1
mcf Combinatorial optimization 336 10.00 0.40 1,345 9,120 6.8
go Go game (AI) 1,658 1.09 0.40 721 10,490 14.6
hmmer Search gene sequence 2,783 0.80 0.40 890 9,330 10.5
sjeng Chess game (AI) 2,176 0.96 0.48 37 12,100 14.5
libquantum Quantum computer simulation 1,623 1.61 0.40 1,047 20,720 19.8
h264avc Video compression 3,102 0.80 0.40 993 22,130 22.3
omnetpp Discrete event simulation 587 2.94 0.40 690 6,250 9.1
astar Games/path finding 1,082 1.79 0.40 773 7,020 9.1
xalancbmk XML parsing 1,058 2.70 0.40 1,143 6,900 6.0
Media Geomtrica 11.7
Altos ndices de prdidas de cache
(cache miss)
Semestre Otoo 2014
CINT2006 for Intel Core i7 920
Semestre Otoo 2014 ICEE-1012 Sistemas Digitales II
Benchmark SPEC de Consumo Energa
Consumo de energa de un servidor a diferentes
niveles de carga de trabajo
Performance: ssj_ops/sec
Power: Watts (Joules/sec)
ICEE-1012 Sistemas Digitales II
|
.
|
\
|
|
.
|
\
|
=
= =
10
0 i
i
10
0 i
i
power ssj_ops Watt por ssj_ops Global
Semestre Otoo 2014
SPECpower_ssj2008 para X4
ICEE-1012 Sistemas Digitales II
Carga Objetivo % Performance (ssj_ops/sec) Consumo Promedio (Watts)
100% 231.867 295
90% 211.282 286
80% 185.803 275
70% 163.427 265
60% 140.160 256
50% 118.324 246
40% 92.035 233
30% 70.500 222
20% 47.126 206
10% 23.066 180
0% 0 141
Suma global 1.283.590 2.605
ssj_ops/ power 493
Semestre Otoo 2014
SPECpower_ssj2008 para Xeon X5650
Semestre Otoo 2014 ICEE-1012 Sistemas Digitales II
Errores de Concepto: Ley de Amdahl
Mejorar un aspecto de un computador y esperar
una mejora proporcional en el rendimiento global
ICEE-1012 Sistemas Digitales II
20
80
20 + =
n
No se puede!
afectado no
afectado
mejorado
TE
mejora de factor
TE
TE + =
Ejemplo: multiplicaciones cuentan 80s/100s
Cunto se debe mejorar la velocidad de la multiplicacin
para que el programa corra 5 veces mas rpido?
Corolario: hacer ms rpido el caso mas frecuente
Semestre Otoo 2014
Ley de Amdahl: Otra Forma
Enfoque en el caso ms frecuente
Ejemplo: Supongamos que se quiere mejorar el
procesador del servicio Web. El nuevo procesador es 10
veces ms rpido. Suponiendo que el original est
ocupado con clculos un 40% del tiempo y el 60%
restante, esperando por E/S. Cul es la mejora global?
Fraction
enhanced
= 0,4; Speedup
enhanced
= 10
Speedup
overall
= 1/(0,6+0,4/10) = 1/0,64 = 1,56
Semestre Otoo 2014 ICEE-1012 Sistemas Digitales II
Falacia: Bajo consumo en reposo
Mirar benchmark de consumo del chip X4 / i7
A 100% de carga: 295W / 258W
A 50% de carga: 246W (83%) / 170W (66%)
A 10% de carga: 180W (61%) / 121W (47%)
Data Center de Google
La mayora de las veces opera a 10% 50% de carga
A 100% de carga, menos del 1% del tiempo
Considerar disear procesadores donde el
consumo de energa sea proporcional a la carga
de trabajo
ICEE-1012 Sistemas Digitales II Semestre Otoo 2014
Error: MIPS como una mtrica de Performance
MIPS: Millions of Instructions Per Second
No considera:
Diferencias en los ISAs entre computadores
Diferencias en complejidad entre instrucciones
ICEE-1012 Sistemas Digitales II
6
6
6
10 CPI
Reloj Frecuencia
10
Reloj Frecuencia
CPI nes Instruccio Cantidad
nes Instruccio Cantidad
10 Ejecucion Tiempo
nes Instruccio Cantidad
MIPS
=
CPI vara entre programas en una CPU dada
Semestre Otoo 2014
Conclusiones a Destacar
Costo/performance est mejorando
Debido al desarrollo tecnolgico de base
Capas jerrquicas de abstraccin
En hardware y software
ISA: Instruction Set Architecture
La interface hardware/software
Tiempo de Ejecucin: la mejor medida de
performance
Consumo de Energa es un factor limitante
Usar paralelismo para mejorar performance
ICEE-1012 Sistemas Digitales II Semestre Otoo 2014