Arquitectura de
Computadores II
2004/2005
2. Aspectos sobre
Desempenho
Paulo Marques
Departamento de Eng. Informática
Universidade de Coimbra
[email protected]
Qual dos seguintes aviões é o mais rápido?
Avião
Autonomia Velocidade
Lotação
(Passageiros)
(Km/h)
(Km)
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!
2
As Medidas Fundamentais

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
Produtividade vs. Tempo de Resposta
4
Performance

A máquina X é n vezes mais rápida do que a máquina Y
Tem poY
n
Tem poX

A máquina X é p% mais rápida do que a máquina Y
Tem poY
(1  100 ) 
Tem poX
p

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
Tarefas Y
Tempo Y
5
Avaliação de Performance
A única forma fidedigna
de avaliar a performance
de um sistema é medindo
o tempo que o sistema
demora a executar
aplicações reais
6
Benchmarks





Aplicações Reais
Aplicações Reais modificadas (scripted)
Kernels
Toy Benchmarks
Benchmark sintéticos
Os resultados têm de ser
reproduzíveis!
7
Desktop PC Benchmarks

Business Winstone



CC Winstone



Multimedia Content Creation
Photoshop, Premiere, Navigator, Audio-Editing
Workload
Winbench



Home/Business User
Netscape, Office, Corel, Wordperfect
Kernel-based
CPU Performance + Video Performance + Disk Performance
SPEC (SPEC92, SPEC95, SPEC2000)


CPU-oriented
Integer (CINT2000) / Floating Point (CFP2000)
8
Server Benchmarks

SPECRate

SPECWeb / SPECNFS

TPC-C

TPC-H

...
9
Top processors on SPEC2000 (July/04)
CPU INTEGER PERFORMANCE
1800
1600
1400
CPUINT2000
1200
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)***
10
Top processors on SPEC2000 (July/04)
CPU FLOATING POINT PERFORMANCE
2500
CFP2000
2000
1500
1000
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
Deve-se poder modificar o código dos benchmarks?

No source code modifications

Source code modifications are allowed but almost
impossible to do...

Source code modifications are allowed
Deve Reflectir a Prática
Corrente do Ambiente Alvo
12
E tendo a workload correcta?
Máquina A
Máquina B
Programa P1
(segundos)
1
10
Programa P2
(segundos)
1000
100
Tempo Total
(segundos)
1001
110


Problema de quantificar a
utilização de P1 e P2
Problema da normalização
relativamente a uma máquina
13
O caso do MIPS

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”
14
Lei de Amdahl
Um computador passa 3/4 do tempo a fazer cálculos e 1/4
do tempo a ler e a escrever do disco.
Qual o upgrade a fazer?


Um CPU 2x mais rápido
Um disco 1000x mais rápido
E se for um CPU 1000x mais rápido?
15
Speedup & Lei Amdahl
TOLD
Speedup
TNEW
TOLD
Speedup
TNÃO _ OPT  TOPT
Caso óptimo: 0
SpeedupMáximo 
TOLD
TNÃO _ OPT
Gravíssimo
16
Problema com a Lei de Amdahl

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.
17
Problema com a Lei de Amdahl (2)

O speedup depende intrinsecamente da parte que não
pode ser optimizada!!!
T
1
speedup(n, p) 

T (1 p )
(1 p )
T p n
p n
n: número de processadores
p: percentagem que não pode ser optimizada (paralelizada)
T: tempo que demora correr o código num processador
18
Bad News!!!
Speedup vs. Percentage of Non-Parallel Code
30
0%
25
Linear Speedup
Speedup
20
15
5%
10
10%
20%
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
Speedup Máximo
SpeedupMáximo 
TOLD
TNÃO _ OPT
TOLD
1


 0 TOLD  p p
p: percentagem do sistema que não é optimizável
Fracção Não
Optimizável
Speedup
Máximo
0%

5%
20
10%
10
20%
5
25%
4
20
Lei de Gustafson-Barsis

Por vezes, podemos não conseguir executar uma tarefa
em particular mais rapidamente, mas podemos conseguir
executar muitas delas ao mesmo tempo...

“9 women cannot have a baby in 1 month, but they can have 9
babies in 9 months”
e.g. “Problemas Grande Desafios”, “web serving”, etc.
21
Material para ler
Computer Architecture: A Quantitative Approach
 Secções 1.5 e 1.6, Excepto:



Normalized Execution Time/Geometric Means
CPU Performance Equation (já data anteriormente)
Recomendado: 1.9 (Fallacies and Pitfalls)

Ver a discussão sobre MIPS
22
Download

Medição e Desempenho - Universidade de Coimbra