SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
Medidas de Desempenho e a Lei
de Amdahl
Paulo André Castro IEC - ITACES-25
de Amdahl
CES-25 – Arquiteturas para Alto Desmpenho
Prof. Paulo André Castro
pauloac@ita.br
Sala 110 – Prédio da Computação
www.comp.ita.br/~pauloac
IEC - ITA
Evolução dos processadores
Paulo André Castro IEC - ITACES-25
Como medir desempenho?
• Como se mede o impacto de um melhoria no
desempenho de um computador?
• Clock? FLOPS?
• Desempenho (performance) deve ser medida através de
Paulo André Castro IEC - ITACES-25
• Desempenho (performance) deve ser medida através de
um conjunto de tarefas executadas por unidade de
tempo ?
– Quanto maior melhor
• Desempenho deve ser medida pelo tempo gasto para
realizar uma determinada tarefa ?
– Quanto menor melhor
Medidas de Desempenho
• Throughput: Número de tarefas concluídas por
unidade de tempo. Por exemplo,
instruções/segundo. MFLOPs , Mbps.
Paulo André Castro IEC - ITACES-25
• Tempo de resposta (latência): Tempo
consumido para executar uma determinada
tarefa ou conjunto de tarefas
Perguntas ?
• Aumentar o throughput sempre melhora o
tempo de resposta?
• Diminuir o tempo de resposta sempre
Paulo André Castro IEC - ITACES-25
• Diminuir o tempo de resposta sempre
melhora o throughput?
Modelo Simples
Produtor-Consumidor
Paulo André Castro IEC - ITACES-25
• Latência (Tempo de Resposta): tempo médio para a conclusão de uma
tarefa.
•Para minimizar:
•A fila deveria estar vazia
•O servidor deveria estar ocioso(idle)
Modelo Simples
Produtor-Consumidor
Paulo André Castro IEC - ITACES-25
• Throughput (“Taxa de Finalização”): Número de tarefas concluídas
por unidade de tempo
•Para maximizar:
•A fila nunca deveria estar vazia
•O servidor nunca deveria estar ocioso(idle)
Aumentando o Throughput
Paulo André Castro IEC - ITACES-25
• Em geral, throughput pode ser incrementado
•Colocando mais hardware (reduzindo latência relacionada a carga)
• Tempo de resposta é muito mais difícil de reduzir
•É preciso otimizar a arquitetura e/ou tecnologia de implementação
Gráfico qualitativo –
Aumento de Throughput X Latência
(Tempo de Resposta)
Paulo André Castro IEC - ITACES-25
Desempenho
• Estejamos preocupados com throughput ou latência, o
mais importante é o tempo total de conclusão das
tarefas de interesse do usuário.
– O computador mais rápido é aquele que atende a seu cliente
em menor tempo
Paulo André Castro IEC - ITACES-25
• Quando o número de tarefas é muito elevado e
resultados parciais relevantes para o cliente podem ser
produzidos, é possível “ocultar a latência”.
– Pense um pouco, o que isso significa ?
Definindo Desempenho de um
Sistema em uma “Tarefa”
• Considerando tempo de execução, temos:
– Desempenho(x)= 1/TempoExecução(X)
• Logo, dizer que X é n vezes mais rápido que Y, significa:
Paulo André Castro IEC - ITACES-25
ou,
n
yDesempenho
xDesempenho
=
)(
)(
n
XExecuçãoTempo
YExecuçãoTempo
=
)(_
)(_
Medindo o aumento de
desempenho
Aumento de desempenho ocorrido, devido a uma melhoria E.
Paulo André Castro IEC - ITACES-25
Existem várias técnicas, componentes e meios de comunicação
que podem ser alvo de aperfeiçoamentos. Por outro lado, existem também
vários “tipos” de instruções quais devem ser melhoradas preferencialmente.
O que deve ser priorizado para possível melhoria?
Caso comum e a Lei de Amdahl
Lei de Amdahl
• O ganho de desempenho possível de um dado melhoramento é
limitado pela fração de tempo que a característica melhorada é
usada.
• Suponha que um aperfeiçoamento ofereça um ganho de
desempenho S para uma fração do tempo F. Qual o ganho de
Paulo André Castro IEC - ITACES-25
desempenho S para uma fração do tempo F. Qual o ganho de
desempenho?
Exemplo
• Se um computador executa um programa P em 100 segundos, onde
30% das operações são acessos a memória com tempo médio de
acesso de 80ms e 60% são operações de ponto flutuante.
A)Qual o impacto no desempenho global do sistema, ao se diminuir o
tempo médio de acesso a memória pela metade ?
B)Qual o impacto no desempenho global, ao dobrar o desempenho das
op. de ponto flutuante ?
Paulo André Castro IEC - ITACES-25
Exemplo 2
• Se um computador executa um programa P em
100 segundos, onde 80% do tempo é gasto em
operações de memória. Quanto seria preciso
melhorar o desempenho da memória para que o
sistema tive um ganho de desempenho de cinco
Paulo André Castro IEC - ITACES-25
sistema tive um ganho de desempenho de cinco
vezes?
Desempenho
• Todos os componentes influem mas...
• O desempenho da CPU é crítico para o
desempenho do Computador.
– desempenhoCPU(X)= 1/TempoCPU(X)
Paulo André Castro IEC - ITACES-25
– desempenhoCPU(X)= 1/TempoCPU(X)
O que influi no desempenho de
CPU
Paulo André Castro IEC - ITACES-25
Como medir o desempenho de um
computador para as tarefas de
interesse do usuário?
• Desempenho é medido com base em tempos de
execução de programas/tarefas. Então, como
selecionar?
Paulo André Castro IEC - ITACES-25
• Situação ideal: usuário sabe exatamente quais
programas utiliza com quais dados de entrada e testa
nos computadores seus desempenhos. Factível?
Candidatos a programas de
avaliação (benchmark)
• Programas reais
– Dados de entrada
– portabilidade
• Aplicações modificadas
Paulo André Castro IEC - ITACES-25
• Aplicações modificadas
– Uso de scripts para fornecer a interatividade
• Kernels
– Implementam trechos de código comuns em vários
programas. Por exemplo: laços com operação de
vetores (Linpack)
Candidatos a programas de
avaliação (benchmark) 2
• Toy Benchmarks:
– Crivo de Eratóstenes, QuickSort, etc.
• Benchmarks Sintéticos
– Semelhante aos kernels, porém utilizam freqüência média de
instruções em grandes programas para selecionar as instruções.
Paulo André Castro IEC - ITACES-25
instruções em grandes programas para selecionar as instruções.
– Ex. Whetstone e Dhrystone.
• Pacotes de programas de benchmark
– Reunem vários outros benchmarks individuais para formar um
pacote
– Ex. SPEC(Standard Performance Evaluation Corporation)
Programas de benchmark
• Há muitos programas de benchmark
disponíveis.
– Não há melhores ou piores,
– há aqueles mais ou menos adequados ao seu
problema
Paulo André Castro IEC - ITACES-25
problema
• Embora se utilize freqüentemente dados de um
benchmark para avaliar de forma absoluta dois
computadores, lembre-se:
– Desempenho é relativo ao programa!!
Olhe de novo para o gráfico abaixo.
Paulo André Castro IEC - ITACES-25
• Esse gráfico foi construído com uso do SPECint benchmark. Entrentanto,
esse benchmark mudou ao longo dos anos. Por tal razão o desempenho
dos computadores mais novos é estimado para diferentes versões do
SPEC (SPEC92, SPEC95, SPEC2000)
Exemplos de
benchmarks
Família SPEC
www.spec.org
Paulo André Castro IEC - ITACES-25
Riscos do uso de Benchmarks
• Como muitas decisões de compra são feitas
com base em benchmark, os projetistas são
pressionados a otimizarem seus projetos para o
benchmark
Paulo André Castro IEC - ITACES-25
• Isso é realmente bom?

Contenu connexe

Similaire à Cap.1.3 medidas desempenho

Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Adriano Bertucci
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introduçãoFelipe Lyra
 
Palestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasPalestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasClaudio Martins
 
Aula 04 qs - sistemas embarcados
Aula 04   qs - sistemas embarcadosAula 04   qs - sistemas embarcados
Aula 04 qs - sistemas embarcadosJunior Gomes
 
performance para qualidade de desenvolvimento de software
performance para qualidade de desenvolvimento de softwareperformance para qualidade de desenvolvimento de software
performance para qualidade de desenvolvimento de softwareAntonio Lobato
 
plano_de_projeto_controlart_final
plano_de_projeto_controlart_finalplano_de_projeto_controlart_final
plano_de_projeto_controlart_finaluserrx
 
Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoClaudio Arkan
 
Projeto de otimização de Performance e Redução de Custos Sistema On-Line
Projeto de otimização de Performance e Redução de Custos Sistema On-LineProjeto de otimização de Performance e Redução de Custos Sistema On-Line
Projeto de otimização de Performance e Redução de Custos Sistema On-LineJoao Galdino Mello de Souza
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masieroMaitsudá Matos
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxDell Technologies
 
Apostila de adm da informacao
Apostila de adm da informacaoApostila de adm da informacao
Apostila de adm da informacaoAdenide Rodrigues
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioAdriano Bertucci
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Pacc UAB
 

Similaire à Cap.1.3 medidas desempenho (20)

Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introdução
 
Palestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasPalestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com Métricas
 
Aula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xpAula03 04 agile_scrum_xp
Aula03 04 agile_scrum_xp
 
Aula 04 qs - sistemas embarcados
Aula 04   qs - sistemas embarcadosAula 04   qs - sistemas embarcados
Aula 04 qs - sistemas embarcados
 
performance para qualidade de desenvolvimento de software
performance para qualidade de desenvolvimento de softwareperformance para qualidade de desenvolvimento de software
performance para qualidade de desenvolvimento de software
 
Webshow - Automação Laboratorial I
Webshow - Automação Laboratorial IWebshow - Automação Laboratorial I
Webshow - Automação Laboratorial I
 
plano_de_projeto_controlart_final
plano_de_projeto_controlart_finalplano_de_projeto_controlart_final
plano_de_projeto_controlart_final
 
Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançado
 
Projeto de otimização de Performance e Redução de Custos Sistema On-Line
Projeto de otimização de Performance e Redução de Custos Sistema On-LineProjeto de otimização de Performance e Redução de Custos Sistema On-Line
Projeto de otimização de Performance e Redução de Custos Sistema On-Line
 
Planejamento projeto masiero
Planejamento projeto masieroPlanejamento projeto masiero
Planejamento projeto masiero
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - Linux
 
Apostila de adm da informacao
Apostila de adm da informacaoApostila de adm da informacao
Apostila de adm da informacao
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual Studio
 
Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1Aula 7 - Repetição enquanto - parte 1
Aula 7 - Repetição enquanto - parte 1
 
Apresentação RUP
Apresentação RUPApresentação RUP
Apresentação RUP
 
Aula1 eng software
Aula1 eng softwareAula1 eng software
Aula1 eng software
 
Mainframe Performance Review
Mainframe Performance ReviewMainframe Performance Review
Mainframe Performance Review
 

Cap.1.3 medidas desempenho

  • 1. Medidas de Desempenho e a Lei de Amdahl Paulo André Castro IEC - ITACES-25 de Amdahl CES-25 – Arquiteturas para Alto Desmpenho Prof. Paulo André Castro pauloac@ita.br Sala 110 – Prédio da Computação www.comp.ita.br/~pauloac IEC - ITA
  • 2. Evolução dos processadores Paulo André Castro IEC - ITACES-25
  • 3. Como medir desempenho? • Como se mede o impacto de um melhoria no desempenho de um computador? • Clock? FLOPS? • Desempenho (performance) deve ser medida através de Paulo André Castro IEC - ITACES-25 • Desempenho (performance) deve ser medida através de um conjunto de tarefas executadas por unidade de tempo ? – Quanto maior melhor • Desempenho deve ser medida pelo tempo gasto para realizar uma determinada tarefa ? – Quanto menor melhor
  • 4. Medidas de Desempenho • Throughput: Número de tarefas concluídas por unidade de tempo. Por exemplo, instruções/segundo. MFLOPs , Mbps. Paulo André Castro IEC - ITACES-25 • Tempo de resposta (latência): Tempo consumido para executar uma determinada tarefa ou conjunto de tarefas
  • 5. Perguntas ? • Aumentar o throughput sempre melhora o tempo de resposta? • Diminuir o tempo de resposta sempre Paulo André Castro IEC - ITACES-25 • Diminuir o tempo de resposta sempre melhora o throughput?
  • 6. Modelo Simples Produtor-Consumidor Paulo André Castro IEC - ITACES-25 • Latência (Tempo de Resposta): tempo médio para a conclusão de uma tarefa. •Para minimizar: •A fila deveria estar vazia •O servidor deveria estar ocioso(idle)
  • 7. Modelo Simples Produtor-Consumidor Paulo André Castro IEC - ITACES-25 • Throughput (“Taxa de Finalização”): Número de tarefas concluídas por unidade de tempo •Para maximizar: •A fila nunca deveria estar vazia •O servidor nunca deveria estar ocioso(idle)
  • 8. Aumentando o Throughput Paulo André Castro IEC - ITACES-25 • Em geral, throughput pode ser incrementado •Colocando mais hardware (reduzindo latência relacionada a carga) • Tempo de resposta é muito mais difícil de reduzir •É preciso otimizar a arquitetura e/ou tecnologia de implementação
  • 9. Gráfico qualitativo – Aumento de Throughput X Latência (Tempo de Resposta) Paulo André Castro IEC - ITACES-25
  • 10. Desempenho • Estejamos preocupados com throughput ou latência, o mais importante é o tempo total de conclusão das tarefas de interesse do usuário. – O computador mais rápido é aquele que atende a seu cliente em menor tempo Paulo André Castro IEC - ITACES-25 • Quando o número de tarefas é muito elevado e resultados parciais relevantes para o cliente podem ser produzidos, é possível “ocultar a latência”. – Pense um pouco, o que isso significa ?
  • 11. Definindo Desempenho de um Sistema em uma “Tarefa” • Considerando tempo de execução, temos: – Desempenho(x)= 1/TempoExecução(X) • Logo, dizer que X é n vezes mais rápido que Y, significa: Paulo André Castro IEC - ITACES-25 ou, n yDesempenho xDesempenho = )( )( n XExecuçãoTempo YExecuçãoTempo = )(_ )(_
  • 12. Medindo o aumento de desempenho Aumento de desempenho ocorrido, devido a uma melhoria E. Paulo André Castro IEC - ITACES-25 Existem várias técnicas, componentes e meios de comunicação que podem ser alvo de aperfeiçoamentos. Por outro lado, existem também vários “tipos” de instruções quais devem ser melhoradas preferencialmente. O que deve ser priorizado para possível melhoria? Caso comum e a Lei de Amdahl
  • 13. Lei de Amdahl • O ganho de desempenho possível de um dado melhoramento é limitado pela fração de tempo que a característica melhorada é usada. • Suponha que um aperfeiçoamento ofereça um ganho de desempenho S para uma fração do tempo F. Qual o ganho de Paulo André Castro IEC - ITACES-25 desempenho S para uma fração do tempo F. Qual o ganho de desempenho?
  • 14. Exemplo • Se um computador executa um programa P em 100 segundos, onde 30% das operações são acessos a memória com tempo médio de acesso de 80ms e 60% são operações de ponto flutuante. A)Qual o impacto no desempenho global do sistema, ao se diminuir o tempo médio de acesso a memória pela metade ? B)Qual o impacto no desempenho global, ao dobrar o desempenho das op. de ponto flutuante ? Paulo André Castro IEC - ITACES-25
  • 15. Exemplo 2 • Se um computador executa um programa P em 100 segundos, onde 80% do tempo é gasto em operações de memória. Quanto seria preciso melhorar o desempenho da memória para que o sistema tive um ganho de desempenho de cinco Paulo André Castro IEC - ITACES-25 sistema tive um ganho de desempenho de cinco vezes?
  • 16. Desempenho • Todos os componentes influem mas... • O desempenho da CPU é crítico para o desempenho do Computador. – desempenhoCPU(X)= 1/TempoCPU(X) Paulo André Castro IEC - ITACES-25 – desempenhoCPU(X)= 1/TempoCPU(X)
  • 17. O que influi no desempenho de CPU Paulo André Castro IEC - ITACES-25
  • 18. Como medir o desempenho de um computador para as tarefas de interesse do usuário? • Desempenho é medido com base em tempos de execução de programas/tarefas. Então, como selecionar? Paulo André Castro IEC - ITACES-25 • Situação ideal: usuário sabe exatamente quais programas utiliza com quais dados de entrada e testa nos computadores seus desempenhos. Factível?
  • 19. Candidatos a programas de avaliação (benchmark) • Programas reais – Dados de entrada – portabilidade • Aplicações modificadas Paulo André Castro IEC - ITACES-25 • Aplicações modificadas – Uso de scripts para fornecer a interatividade • Kernels – Implementam trechos de código comuns em vários programas. Por exemplo: laços com operação de vetores (Linpack)
  • 20. Candidatos a programas de avaliação (benchmark) 2 • Toy Benchmarks: – Crivo de Eratóstenes, QuickSort, etc. • Benchmarks Sintéticos – Semelhante aos kernels, porém utilizam freqüência média de instruções em grandes programas para selecionar as instruções. Paulo André Castro IEC - ITACES-25 instruções em grandes programas para selecionar as instruções. – Ex. Whetstone e Dhrystone. • Pacotes de programas de benchmark – Reunem vários outros benchmarks individuais para formar um pacote – Ex. SPEC(Standard Performance Evaluation Corporation)
  • 21. Programas de benchmark • Há muitos programas de benchmark disponíveis. – Não há melhores ou piores, – há aqueles mais ou menos adequados ao seu problema Paulo André Castro IEC - ITACES-25 problema • Embora se utilize freqüentemente dados de um benchmark para avaliar de forma absoluta dois computadores, lembre-se: – Desempenho é relativo ao programa!!
  • 22. Olhe de novo para o gráfico abaixo. Paulo André Castro IEC - ITACES-25 • Esse gráfico foi construído com uso do SPECint benchmark. Entrentanto, esse benchmark mudou ao longo dos anos. Por tal razão o desempenho dos computadores mais novos é estimado para diferentes versões do SPEC (SPEC92, SPEC95, SPEC2000)
  • 24. Riscos do uso de Benchmarks • Como muitas decisões de compra são feitas com base em benchmark, os projetistas são pressionados a otimizarem seus projetos para o benchmark Paulo André Castro IEC - ITACES-25 • Isso é realmente bom?