Faculdade de Ciências Aplicadas
e Sociais de Petrolina – FACAPE
Medindo o Desempenho
Medida de desempenho corresponde, grosso
modo, à medida da velocidade com que um
determinado software vai rodar em uma
máquina.
Medir o desempenho não é algo trivial!
Não é possível determinar a velocidade com
que um dado software roda em uma máquina
apenas analisando seu conjunto de instr.
É necessário conhecer os fatores que
influenciam o desempenho.
É necessário conhecer as medidas de
desempenho e suas limitações!
Desempenho (Parte II):
Medindo o Desempenho
Prof. Sergio
Petrolina/PE
1
Medindo o Desempenho
2
Definição de Desempenho
Algumas características ligadas ao hardware,
que têm influência na execução de um
programa:
– Maneira como o compilador utiliza as instruções
da máquina, na hora de gerar o código executável
– Maneira como as instruções estão implementadas
no hardware (organização do processador)
– Maneira como a memória e os dispositivos de E/S
se comportam durante o processamento do
programa
Qual é a definição de desempenho?
Exemplo:
Capacidade
(passageiros)
Autonomia
(milhas)
Velocidade de cruzeiro
(milhas por hora)
Boeing 777
375
4630
610
228.750
Boeing 747
470
4150
610
286.700
Avião
Throughput de passageiros
(passageiros X milhas por hora)
BAC/Sud Concord
132
4000
1.350
178.200
Douglas D-C-8-50
146
8720
544
79.424
3
Avaliação de Desempenho
Avaliação de Desempenho
Throughput e Tempo de Resposta
Tempo de resposta ou tempo de execução:
Para aumentar o desempenho, deve-se
reduzir tempo de execução.
– Tempo transcorrido entre o início e o término da
execução de um programa
– Influenciado por acessos a disco, atividades de
I/O, overhead do sistema operacional, da rede, ...
Desempenhox =
Throughput (às vezes traduzido por “Vazão”):
– Quantidade total de trabalho executado em um
determinado intervalo de tempo
1
Tempo _ de _ Execucaox
Então, se Desempenhox > Desempenhoy,
tem-se que:
1
1
>
Tempo _ de _ Execucaox Tempo _ de _ Execucao y
Qual das duas medidas acima é mais
conveniente otimizar?
Tempo _ de _ Execucaox < Tempo _ de _ Execucaoy
5
Realce e Suavização de Imagens Digitais
4
6
1
Medidas de Desempenho
Medidas de Desempenho
distinção entre...
tempo total para a execução de um programa e
tempo gasto pelo processador (tempo de CPU ou tempo de
processador) em benefício deste programa (com tarefas
específicas do programa)
– não inclui tempo de execução de outros programas, nem o tempo
de espera por I/O, ...
O tempo de CPU está dividido em:
– tempo de CPU do usuário (user CPU time) ⇒ tempo gasto
executando instruções do programa do usuário
– tempo de CPU do sistema (system CPU time) ⇒ tempo gasto com
tarefas do S.O. necessárias para a execução do programa do
usuário
Obs: Tendo em vista os objetivos desta disciplina, desempenho
de CPU será medido apenas em função do tempo de CPU do
usuário.
7
1 – Medindo o Desempenho
No UNIX, o comando “time” pode retornar:
90.7s 12.9s 2:39 65%
Tempo de CPU do usuário (user CPU time) = 90,7
segundos
Tempo de CPU do sistema (system CPU time) =
12,9 segundos
Tempo total transcorrido (elapsed time) = 2 minutos
e 39 segundos (= 159 segundos)
Precentual do tempo total transcorrido que foi gasto
pela CPU no programa é:
90.7 + 12.9
= 0.65
159
8
1 – Medindo o Desempenho
Clock
Período de clock
– Relógio que trabalha em uma velocidade
constante e determina quando os eventos
ocorrem no hardware.
– É a duração de cada ciclo de clock. Ex.: 2ns.
– O intervalo de tempo entre duas transições
consecutivas dos pulsos do clock.
9
10
1 – Medindo o Desempenho
Usuários e projetistas enxergam
performance sob diferentes métricas:
a
– Usuários: tempo medido em segundos
– Projetistas: tempo medido em períodos do
clock.
Para os projetistas o tamanho de um
período do clock pode ser:
– Tempo necessário para completar um ciclo de
clock (Ex.: 2ns).
– Frequência do clock, que é o inverso do ciclo
do clock (Ex.: 500MHz).
11
Realce e Suavização de Imagens Digitais
Medidas de Desempenho
ciclos de clock = intervalos básicos de tempo nos
quais são executadas as operações elementares de
uma instrução.
– transferências de valores entre registradores
– operações aritméticas na ALU
período do clock T = tempo de duração de um ciclo
de clock
Ex: 4 ns
freqüência de operação f = número de ciclos de clock
por unidade de tempo
f=1/T
se T = 4 ns
então f = 1 / 4 x 10-9 = 2.5 x 108 = 250 MHz
12
2
Avaliação de Desempenho
tempo de CPU
de um programa
=
nº de ciclos de clock
do programa
por exemplo:
– programa gasta 10x106 ciclos
– período do clock é 4 ns
x
Medidas de Desempenho
período do
clock
tempo de CPU do programa =
10.106 x 4.10-9 = 40.10-3 = 40 ms
Alternativamente:
tempo de CPU
de um programa
=
n o de _ ciclos _ de _ clock _ do _ programa
frequencia _ do _ clock
formas de aumento do desempenho:
– diminuir o período do clock
– diminuir nº de ciclos necessários para execução do programa
Exercício
programa roda em 10s na máquina A, que tem clock
de 400 MHz.
queremos rodá-lo em 6s numa máquina B com nova
tecnologia.
a máquina B pode ter um aumento substancial de
freqüência de clock.
no entanto, máquina B exigirá 1,2 vezes mais ciclos
de clock para executar instruções do que a máquina
A.
qual é a freqüência de clock necessária para a
máquina B?
Estes objetivos são muitas vezes conflitantes.
13
Realce e Suavização de Imagens Digitais
14
3
Download

Desempenho (Parte II): Medindo o Desempenho