2. Medição de Desempenho - Universidade de Coimbra

Transcrição

2. Medição de Desempenho - Universidade de Coimbra
Qual dos seguintes aviões é o mais rápido?
Arquitectura de
Computadores II
Avião
2004/2005
2. Aspectos sobre
Desempenho
Throughput
(Passageiros x
Km/h)
Boeing 777
375
7,408
976
366,000
Boeing 747
470
6,640
976
458,720
Concorde
132
6,400
2,160
285,120
Douglas DC8
146
13,952
870
127,020
O conceito de “performance” depende directamente
da métrica que estamos interessados em medir!
Paulo Marques
Departamento de Eng. Informática
Universidade de Coimbra
[email protected]
2
As Medidas Fundamentais
„
Autonomia Velocidade
Lotação
(Passageiros)
(Km/h)
(Km)
Produtividade vs. Tempo de Resposta
Throughput:
Número de trabalhos completados por unidade de tempo
„
Tempo de Execução:
Tempo que cada trabalho demora a executar
„
...Tempo de Resposta/Latência
3
4
Performance
„
Avaliação de Performance
A máquina X é n vezes mais rápida do que a máquina Y
n=
„
TempoY
Tempo X
A máquina X é p% mais rápida do que a máquina Y
(1 + p 100) =
„
A única forma fidedigna
de avaliar a performance
de um sistema é medindo
o tempo que o sistema
demora a executar
aplicações reais
TempoY
Tempo X
O throughtput da máquina X é k vezes superior ao da
máquina Y
„
No mesmo intervalo de tempo, X executa k vezes mais tarefas
mais do que Y
Tarefas X
k=
Tempo X
TarefasY
TempoY
5
Benchmarks
„
„
„
„
„
6
Desktop PC Benchmarks
Aplicações Reais
Aplicações Reais modificadas (scripted)
Kernels
Toy Benchmarks
Benchmark sintéticos
„
Business Winstone
„
„
„
CC Winstone
„
„
„
„
„
Workload
Kernel-based
CPU Performance + Video Performance + Disk Performance
SPEC (SPEC92, SPEC95, SPEC2000)
„
„
7
Multimedia Content Creation
Photoshop, Premiere, Navigator, Audio-Editing
Winbench
„
Os resultados têm de ser
reproduzíveis!
Home/Business User
Netscape, Office, Corel, Wordperfect
CPU-oriented
Integer (CINT2000) / Floating Point (CFP2000)
8
Server Benchmarks
„
Top processors on SPEC2000 (July/04)
SPECRate
CPU INTEGER PERFORMANCE
„
SPECWeb / SPECNFS
1800
1600
„
TPC-C
1400
„
„
CPUINT2000
1200
TPC-H
...
1000
800
600
400
200
0
Intel Pentium4 HT
3.4GHz
ExtremeEdition
(Mar/04)
AMD Opteron150
2.4GHz (May/04)
Intel Xeon 3.2GHz Fujitsu SPARC64V
(Feb/04)
1.9GHz (Jun/04)
Itanium2 1.5GHz
(Dec/03)
IBM POWER4+
1.9GHz (May/04)
Alpha 21264C
1.2GHz (Nov/02)
PowerMac G5
2.0GHz (Dec/03)***
9
Top processors on SPEC2000 (July/04)
10
Deve-se poder modificar o código dos benchmarks?
CPU FLOATING POINT PERFORMANCE
2500
„
No source code modifications
„
Source code modifications are allowed but almost
impossible to do...
„
Source code modifications are allowed
CFP2000
2000
1500
1000
Deve Reflectir a Prática
Corrente do Ambiente Alvo
500
0
HP / Itanium2
1.5GHz (Feb/04)
Fujitsu
SPARC64V
1.9GHz (Jun/04)
IBM POWER4+ AMD Opteron248
1.7GHz (May/04) 2.2GHz (May/04)
Pentium4 HT
3.4GHz
ExtremeEdition
(Mar/04)
Alpha21364
AMD AthlonFX-51
1.2GHz (May/03) 2.2GHz (Sep/03)
Xeon 3.2GHz
(Apr/04)
11
12
E tendo a workload correcta?
O caso do MIPS
„
Máquina A
Máquina B
Programa P1
(segundos)
1
10
Programa P2
(segundos)
1000
100
Tempo Total
(segundos)
1001
110
MIPS = Millions of Instructions Per Second
„
„
„
„
„
„
Dependente da arquitectura da máquina
Dependente do próprio programa que é utilizado
Que tipo de instruções?
Podem ocorrer “inversões de performance”
Problema de quantificar a
utilização de P1 e P2
Problema da normalização
relativamente a uma máquina
13
Lei de Amdahl
14
Speedup & Lei Amdahl
Um computador passa 3/4 do tempo a fazer cálculos e 1/4
do tempo a ler e a escrever do disco.
Speedup =
Qual o upgrade a fazer?
„
„
Um CPU 2x mais rápido
Um disco 1000x mais rápido
Speedup =
TOLD
TNEW
TOLD
TNÃO _ OPT + TOPT
E se for um CPU 1000x mais rápido?
Caso óptimo: 0
Speedup Máximo =
15
TOLD
TNÃO _ OPT
Gravíssimo
16
Problema com a Lei de Amdahl
„
Problema com a Lei de Amdahl (2)
Temos uma tarefa que demora T segundos a executar. A
fim de melhorar o sistema, N processadores são colocados
a executar a tarefa em paralelo.
„
O speedup depende intrinsecamente da parte que não
pode ser optimizada!!!
speedup(n, p ) =
T
1
=
T ⋅ p + T ⋅(1n− p ) p + (1−np )
n: número de processadores
p: percentagem que não pode ser optimizada (paralelizada)
T: tempo que demora correr o código num processador
17
Bad News!!!
18
Speedup Máximo
Speedup vs. Percentage of Non-Parallel Code
30
Speedup Máximo =
0%
TOLD
TNÃO _ OPT + 0
=
TOLD
1
=
TOLD × p p
p: percentagem do sistema que não é optimizável
25
Linear Speedup
Speedup
20
Fracção Não
Optimizável
Speedup
Máximo
0%
∞
10%
5%
20
20%
10%
10
20%
5
25%
4
15
5%
10
5
0
1
2 3
4 5
6 7
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Number of Processors
19
20
Lei de Gustafson-Barsis
„
Material para ler
Por vezes, podemos não conseguir executar uma tarefa
em particular mais rapidamente, mas podemos conseguir
executar muitas delas ao mesmo tempo...
„
Computer Architecture: A Quantitative Approach
„ Secções 1.5 e 1.6, Excepto:
„
“9 women cannot have a baby in 1 month, but they can have 9
babies in 9 months”
„
„
Normalized Execution Time/Geometric Means
CPU Performance Equation (já data anteriormente)
Recomendado: 1.9 (Fallacies and Pitfalls)
„
Ver a discussão sobre MIPS
e.g. “Problemas Grande Desafios”, “web serving”, etc.
21
22