Buscar

Medindo o Desempenho de Computadores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Desempenho
Organização de Computadores
Marcelo Lobosco
Universidade Federal de Juiz de Fora
Aula 03 - Abstrações e Tecnologias Computacionais
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Desempenho
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Introdução
I Avaliar o desempenho dos computadores é desafiador
I Devido à escala e complexidade dos sistemas modernos de
software, em conjunto com uma grande variedade de técnicas
de melhoria de desempenho empregadas pelos projetistas de
hardware
I Desempenho é atributo importante
I Na escolha de um novo equipamento a ser comprado
I Vendedores sabem disso, e anunciam desempenho de seus
equipamentos sob as melhores condições
I Não necessariamente refletem as necessidades dos
compradores
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Definindo desempenho
I A questão do desempenho pode ser sutil
I Que avião tem melhor desempenho?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Definindo desempenho
I Para saber qual avião tem melhor desempenho, temos antes
de definir desempenho
I Capacidade de transporte de passageiros?
I Autonomia de vôo?
I Velocidade?
I Mesmo velocidade pode ser definida de duas formas...
I ...suponha, por exemplo, transporte de 450 passageiros...
I ... neste caso, Boeing 747 é a melhor opção
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Definindo desempenho
I Semelhante para sistemas computacionais: latência × vazão
I Tempo de resposta ou execução (latência)
I Quanto tempo leva para meu trabalho ser realizado?
I Quanto tempo preciso esperar para a consulta ao banco de
dados?
I Tempo necessário para o computador completar uma tarefa
I Importante para usuário de computador individual
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Definindo desempenho
I Semelhante para sistemas computacionais: latência × vazão
(cont.)
I Vazão (throughput)
I Quantos trabalhos a máquina pode realizar ao mesmo tempo?
I Qual é a velocidade de execução média?
I Quanto trabalho está sendo feito?
I Quantidade total de trabalho feito em um determinado tempo
I Importante para gerentes de CPDs
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Definindo desempenho
I Exercício: As seguintes mudanças em um sistema
computacional aumentam a vazão, diminuem o tempo de
resposta ou as duas coisas?
I Se atualizarmos uma máquina com um novo processador?
I Se incluirmos processadores adicionais em um sistema
multiprocessado usado para tarefas distintas?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Definindo desempenho
I Curso com foco em tempo de resposta
I Para maximizar o desempenho, devemos minimizar o tempo
de execução de uma tarefa:
Desempenhox =
1
Tempo de Execuçãox
(1)
I Desempenho de X é n vezes superior a Y:
Desempenhox
Desempenhoy
= n (2)
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Definindo desempenho
I Se X é n vezes mais rápido que Y, então o tempo de execução
de Y é n vezes maior do que em X:
Desempenhox
Desempenhoy
=
Tempo de Execuçãoy
Tempo de Execuçãox
= n (3)
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Exercício
I Se computador A executa um programa em 10s e B o executa
em 15s, o quanto A é mais rápido do que B?
DesempenhoA
DesempenhoB
= Tempo de ExecuçãoBTempo de ExecuçãoA
= n
15
10 = 1, 5 (4)
I A é 1,5 vezes mais rápido do que B
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Medindo o desempenho
I Tempo de relógio, decorrido ou de resposta
I Conta tudo (acessos a disco e a memória, E/S etc.)
I Número útil, mas normalmente não é ideal para fins de
comparação
I Tempo de CPU
I Tempo real que a CPU gasta computando uma tarefa
específica
I Não conta E/S ou tempo gasto executando outros programas
I Pode ser dividido em tempo de sistema e tempo de usuário
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Medindo o desempenho
I Ciclos de clock
I Tempo para cada período de clock
I Velocidade de clock (frequência) dada em ciclos por segundo
(1Hz = 1 ciclo/segundo)
I Velocidade de clock e tempo de ciclos são inversos!
I Exemplo: um clock de 4Ghz possui um tempo de ciclo de
1
4× 109 = 0, 25× 10
−9 = 250× 10−12 = 250ps
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Medindo o desempenho
I Diferentes aplicações são sensíveis a diferentes aspectos do
desempenho de um sistema
I Servidores → desempenho de E/S
I Tempo decorrido
I Para melhorar o desempenho
I Que métrica é importante
I Procurar gargalos medindo execução
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Medindo o desempenho
I Exercício: O desempenho do computador C é 4 vezes melhor
do que o computador B, que leva 28s para executar uma
determinada aplicação. Quanto tempo C levará para executar
essa aplicação?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Desempenho da CPU e seus Fatores
I Desempenho examinado usando diferentes métricas
I Se métricas pudessem ser relacionadas, poderíamos determinar
os efeitos de uma mudança de projeto no desempenho
I Fórmula que relaciona métricas de CPU:
Tempo de execução da CPU para um programa =
Ciclos de clock da CPU para um programa×
Tempo do ciclo de clock (5)
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Desempenho da CPU e seus Fatores
I De modo alternativo (velocidade de clock e tempo de ciclo
são inversos)
Tempo de execução da CPU para um programa =
Ciclos de clock da CPU para um programa
Velocidade do clock (6)
I Como melhorar o desempenho?
I Reduzindo a duração do ciclo de clock
I Reduzindo o número de ciclos de clock necessário para um
programa
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Exercício
I Um programa é executado em 10s no computador A, com
clock de 4GHz. Um computador B está sendo construído para
executar este programa em 6s. Entretanto, B exigirá 1,2 vezes
mais ciclos de clock do que A. Qual a velocidade de clock
necessária para B?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Exercício
I Primeiro passo: quantos ciclos de CPU são necessários em A?
Tempo de CPUA =
Ciclos de clock da CPUA
Velocidade do clockA
10 segundos = Ciclos de clock da CPUA
4× 109 ciclossegundo
Ciclos de clock da CPUA = 4× 109
ciclos
segundo × 10 segundos
Ciclos de clock da CPUA = 4× 1010 ciclos (7)
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Exercício
I Por fim, calculamos o tempo de CPU para B
Tempo de CPUB =
1, 2× Ciclos de clock da CPUA
Velocidade do clockB
6 segundos = 1, 2× 4× 10
10ciclos
Velocidade de clockB
Velocidade de clockB =
4, 8× 1010ciclos
6 segundos
Velocidade de clockB =
8× 109ciclos
segundos
Velocidade de clockB = 8 GHz
(8)
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Desempenho da CPU e seus Fatores
I Compilador gera instruções que serão executadas por
processador
I Mas equação de desempenho não inclui referências para
número de instruções
I Execução deve depender de algum modo do total de instruções
do programa
I Mas quantidade de ciclos necessários para executar instrução
pode variar, conforme a sua complexidade
I Para facilitar, podemos pensar em quantidade média de ciclos
por instrução
Ciclos de clock da CPU = Total de instruções×
Média de ciclos de clock por instrução (9)
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Desempenho da CPU e seus Fatores
I Média dos ciclosde clock por instrução → CPI
I CPI permite comparar duas implementações diferentes do
mesmo conjunto de instruções
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Exercício
I Suponha que tenhamos duas implementações da mesma
arquitetura do conjunto de instruções (ISA). Para um
determinado programa, a máquina A tem um tempo de ciclo
de clock de 250 ps e uma CPI de 2,0 e a máquina B tem um
tempo de ciclo de clock de 500 ps e uma CPI de 1,2. Que
máquina é mais rápida para esse programa e o quanto?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Exercício
I Mesmo número de instruções
I Número de ciclos de clock para cada computador
I Ciclos de clock da CPUA = I× 2,0
I Ciclos de clock da CPUB = I× 1,2
I Tempo de CPU para cada computador:
I Tempo de CPUA = Ciclos de Clock da CPUA × Tempo de
Ciclo de ClockA → I × 2, 0× 250 ps = (500 ×I) ps
I Tempo de CPUB = Ciclos de Clock da CPUB × Tempo de
Ciclo de ClockB → I × 1, 2× 500 ps = (600 ×I) ps
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Exercício
I A é mais rápido, mas o quão mais?
DesempenhoA
DesempenhoB
= Tempo de ExecuçãoBTempo de ExecuçãoA
= n
(600× I)ps
(500× I)ps = 1, 2
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Equação Clássica do Desempenho da CPU
I Fórmula de desempenho em função do número de instruções,
CPI e tempo de ciclo de clock:
Tempo de CPU = Contagem de instruções× CPI×
Tempo de ciclo de clock (10)
I ou
Tempo de CPU = Contagem de instruções× CPIVelocidade de clock (11)
I Três fatores chaves para desempenho
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Equação Clássica do Desempenho da CPU
I Como determinar esses valores?
I Tempo de CPU → execução do programa
I Tempo de ciclo de clock → manuais
I Contagem de instruções → ferramentas de trace de execução,
simulador de arquitetura, contadores de hardware
I CPI → contadores de hardware
I Varia por aplicação e entre implementações do mesmo
conjunto de instruções
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Equação Clássica do Desempenho da CPU
I É possível calcular ciclos de clock da CPU usando contagem
de ciclos individuais:
Ciclos de clock da CPU =
n∑
i=1
(CPIi × Ci) (12)
I onde Ci é a contagem do número de instruções da classe i
executadas,
I CPIi é a média dos ciclos por instrução para a classe i e
I n é o número de classes de instrução
I CPI geral depende do número de ciclos para cada tipo de
instrução e de suas frequências de execução.
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Exercício
I Um projetista de compilador está tentando decidir entre duas
sequências de código para um determinada máquina. Baseado
na implementação de hardware, existem três classes diferentes
de instruções: Classe A, Classe B e Classe C, e elas exigem
um, dois e três ciclos, respectivamente. A primeira sequência
de código possui 5 instruções: 2 de A, 1 de B e 2 de C. A
segunda sequência possui 6 instruções: 4 de A, 1 de B e 1 de
C.
I Que sequência executa mais instruções?
I Qual será mais rápida?
I Qual é o CPI para cada sequência?
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
Desempenho
Próxima aula...
I Abstrações e Tecnologias Computacionais
I Desempenho (cont.)
I A barreira da potência
I Mudança de mares: passando de processadores para
multiprocessadores
I Vida real: fabricando chips do AMD Opteron X4
I Falácias e Armadilhas
Departamento de Ciência da Computação Universidade Federal de Juiz de Fora
	Desempenho

Continue navegando