Académique Documents
Professionnel Documents
Culture Documents
DE COMPUTADORES B
TURMA B
Aula 2a
Reviso sobre desempenho
Performance
Um computador tem melhor desempenho que outro.
O que isto significa?
funo da perspectiva:
Usurio: quer o trabalho feito ASAP
SO: o maior nmero de jobs possvel em um certo intervalo de
tempo
Organizao de Computadores B 2
Definindo Performance
Qual avio o melhor?
0 200 400 600
Douglas
DC-8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Passenger Capacity
0 5000 10000
Douglas
DC-8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Cruising Range (miles)
0 500 1000 1500
Douglas
DC-8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Cruising Speed (mph)
0 100000 200000 300000 400000
Douglas
DC-8-50
BAC/Sud
Concorde
Boeing 747
Boeing 777
Passengers x mph
Organizao de Computadores B 3
Duas noes de performance
Avio NY => Paris Velocidade Mx Passageiros Vazo (p-mph)
Boing 747 6,5 Horas 610 mph 470 286,700
Bac/Sud
Concorde
3,0 Horas 1350 mph 132 178,200
Organizao de Computadores B 4
Qual tem a maior performance?
Tempo de transportar 1 passageiro?
Tempo de transportar 400 passageiros?
Performance de Computadores
Tempo de Resposta
= Tempo de Execuo
= Latncia no computador:
Tempo de 1 job (usurio)
Throughput
= Bandwidth
= Vazo:
Jobs por unidade de tempo (administrador do sistema)
Organizao de Computadores B 5
Tempo de resposta vs. Throughput
Tempo entre Boeing vs. Concorde?
6,5 ()
3,0 ()
= 2,2
Throughput entre Boeing vs. Concorde?
286,700 / ()
178,200 / ()
= 1,6
Organizao de Computadores B 6
Tempo de resposta vs. Throughput
Tempo entre Boeing vs. Concorde?
6,5 ()
3,0 ()
= 2,2
Throughput entre Boeing vs. Concorde?
286,700 / ()
178,200 / ()
= 1,6
Organizao de Computadores B 7
Concorde 2,2 vezes mais rpido no tempo da viagem
(tempo de resposta)
Boeing carrega 1,6 vezes mais passageiros
(vazo)
Questes (pt.1)
Um processador P1@100MHz mais rpido que outro a
50MHz?
Organizao de Computadores B 8
Questes (pt.2)
Um processador @100MHz mais rpido que outro a
50MHz?
Um processador @50MHz pode ser mais rpido que
outro a 100MHz?
Organizao de Computadores B 9
Questes (pt.3)
Um processador P1@100MHz mais rpido que outro a
50MHz?
Um processador @50MHz pode ser mais rpido que
outro a 100MHz?
Um programa que executa 20% mais instrues que
outro, na mesma CPU, pode ser mais rpido?
Organizao de Computadores B 10
Questes (pt.4)
Um processador P1@100MHz mais rpido que outro a
50MHz?
Um processador @50MHz pode ser mais rpido que
outro a 100MHz?
Um programa que executa 20% mais instrues que
outro, na mesma CPU, pode ser mais rpido?
Dois programas, cada um com N instrues, executando
em mquinas que suportam a mesma ISA, mesma
frequncia, podem ter tempos diferentes?
Organizao de Computadores B 11
Questes (pt.5)
Um processador P1@100MHz mais rpido que outro a
50MHz?
Um processador @50MHz pode ser mais rpido que
outro a 100MHz?
Um programa que executa 20% mais instrues que
outro, na mesma CPU, pode ser mais rpido?
Dois programas, cada um com N instrues, executando
em mquinas que suportam a mesma ISA, mesma
frequncia, podem ter tempos diferentes?
Qual a varivel que sempre nos interessou?
Organizao de Computadores B 12
Definies (pt.1)
Quando discutimos desempenho de um computador,
estamos primeiramente preocupados com tempo de
resposta
Organizao de Computadores B 13
Definies (pt.2)
Quando discutimos desempenho de um computador,
estamos primeiramente preocupados com tempo de
resposta
Para maximizar o desempenho, minimize o tempo de
resposta para uma dada tarefa:
>
_ < _
Organizao de Computadores B 14
Definies (pt.3)
Quando discutimos desempenho de um computador,
estamos primeiramente preocupados com tempo de
resposta
Para maximizar o desempenho, minimize o tempo de
resposta para dada tarefa:
>
_ < _
"X N vezes mais rpido que Y" significa:
_
_
=
Organizao de Computadores B 15
O que tempo de execuo? (pt.1)
Definio: Tempo total para completar uma tarefa
wall-clock time, response time, elapsed time ou real time
Incluindo:
Tempo de acesso ao disco
Acessos memria
Outras atividades de E/S
Overhead do Sistema Operacional
Organizao de Computadores B 16
O que tempo de execuo? (pt.2)
Definio: Tempo total para completar uma tarefa
wall-clock time, response time, elapsed time ou real time
Incluindo:
Tempo de acesso ao disco
Acessos memria
Outras atividades de E/S
Overhead do Sistema Operacional
Alternativa: Medir o tempo que o processador trabalhou
no seu programa. (Processador compartilhado por
mltiplos processos)
CPU execution time ou CPU time
Geralmente dividido em:
Tempo de CPU para o Sis.Op. (system time)
Tempo de CPU para o usurio (user time)
No Linux:
$time updatedb
real 0m49.173s
user 0m1.200s
sys 0m1.940s
Organizao de Computadores B 17
MEDINDO O TEMPO
Organizao de Computadores B 18
Medindo o tempo da CPU
A grande maioria dos computadores so construidos
utilizando um relgio (clock) como base.
O clock constante e determina quando os eventos
ocorrem no hardware.
So chamados: ciclos de relgio (ou ticks, clock ticks,
clock, relgio, perodo de relgio/clock ou s ciclos)
Organizao de Computadores B 19
Clock (ciclos)
Transferncia de Dados
ou Computao
Estado de Atualizao
Perodo
Medindo o tempo da CPU
Comprimento do perodo de relgio = tempo para 1 ciclo
de relgio
=
1