Avaliação de Desempenho - Instituto...

24
Avaliação de Desempenho

Transcript of Avaliação de Desempenho - Instituto...

Page 1: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Avaliação de Desempenho

Page 2: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Clock do Sistema

• Cristal de Quartzo envia onda de sinais constantes que são convertidas em sinais digitais

• 1GHz = 1 bilhão de pulsos• Taxa de pulsos = taxa de clock• Incremento de clock = ciclo de clocks• Tempo entre pulsos = tempo de ciclos

Page 3: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Taxa de Execução de Instrução

• Processador é controlado por um clock comfreqüência constante f ou, de modo equivalente,um tempo de ciclo constante , onde = 1/f.

• Contagem de instruções Ic é o número deinstruções de máquinas, executadas, até que umdeterminado programa rode até o fim ou poralgum intervalo de tempo específico. (Obs.:nº deexecuções de instrução e não nº de instruções nocódigo)

Page 4: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Taxa de Execução de Instrução

• CPIMédia de ciclos por instrução• Se todas as instruções exigiessem o mesmonúmero de ciclos de clock, CPI seria valorconstante para o processador.

• Na realidade, esse valor varia para cada tipode instrução (load, store, etc.)

Page 5: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Taxa de Execução de Instrução

• CPIi é o número de ciclos exigidos para ainstrução tipo i e Ii o número de instruçõesexecutadas do tipo i para determinadoprograma.

Page 6: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Taxa de Execução de Instrução

• O tempo de processador, T, necessário paraexecutar determinado programa pode ser expresso como:

Page 7: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Taxa de Execução de Instrução

• Como parte do trabalho é feito pelo processador eparte do trabalho é feito em tranferências de dadospara a memória, cujo tempo de ciclo pode ser maiorque o do processador, a equação pode ser reescrita:

• Onde, p é o número de ciclos de processadornecessários para decodificar e executar a instrução, mé o número de referências de memória necessárias e krazão entre o tempo de ciclo de memória e o tempo deciclo do processador.

Page 8: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Fatores de Desempenho e Atributos do Sistema

Ic p m k

Arquitetura do conjunto de instruções X X

Tecnologia do compilador X X X

Implementação do processador X X

Hierarquia da cache e da memória X X

* Arquitetura do conjunto de instruções Projeto do conjunto de instruções

Page 9: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Milhões de Instruções por Segundo

(Cruzando)

f = 1 / 

Page 10: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Milhões de Instruções por Segundo

• Considere a execução de um programa queresulta na execução de 2 milhões deinstruções num processador 400 MHz. Oprograma consiste em quatro tipos principaisde instruções, de acordo com a tabela abaixo:

Tipo de Instrução CPI Número de Instruções (%)

Aritmética e Lógica 1 60%

Load/Store com acerto de cache 2 18%

Desvio 4 12%

Referência de memória com falha de cache

8 10%

Page 11: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Milhões de Instruções por Segundo

Page 12: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Milhões de Operações de Ponto Flutuante por Segundo

Page 13: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Lei de Amdahl

• Alguns exemplos de melhoria de desempenhode computadores passam pelo uso deprocessadores paralelos , hierarquia de cachee speedup no tempo de acesso da memória ena taxa de transferência de E/S

• A Lei de Amdahl, proposta por Gene Amdahllida com o potencial de speedup de umprograma usando múltiplos processadores emcomparação com um único processador.

Page 14: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Lei de Amdahl• Considere um programa rodando em um único

processador, de modo que uma fração (1‐f) do tempo deexecução envolva um código inerentemente serial e umafração f envolva código infinitamente paralelizável semoverhead de escalonamento. Considere que T seja otempo de execução total do programa usando um únicoprocessador. Então, o speedup usando um processadorparalelo com N processadores que explora totalmente aparte paralela do programa é como segue:

Page 15: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Lei de Amdahl

• Conclusões:– Se f for pequeno, o uso de processadoresparalelos tem pouco efeito

– Se N tende ao infinito, o speedup é limitado por1/(1‐f), de modo que existem retornosdecrescentes para o uso de mais processadores.

Page 16: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Lei de Amdahl

• A Lei de Amdahl ilustra os problemasenfrentados pela indústria nodesenvolvimento de máquinas Multicore comum número cada vez maior de processadores:o software que roda nessas máquinas, deveser adaptado para um ambiente de execuçãoaltamente paralelo, para explorar o poder doprocessamento paralelo.

Page 17: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Lei de Amdahl• Considere qualquer melhoria a um recurso de um

sistema que resulte num speedup o qual pode serexpresso por:

• Suponha que o recurso do sistema seja usado durante aexecução de uma fração do tempo f, antes da melhoria, eque o speedup desse recurso após a melhoria seja SUf.Então, o speedup geral do sistema é:

Page 18: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Lei de Amdahl

• Suponha que uma tarefa utilize muitasoperações de ponto flutuante com 40% dotempo sendo consumido por operações deponto flutuante. Com um novo projeto dehardware, o módulo de ponto flutuante éagilizado por um fator K. Então, o speedupgeral é:

Page 19: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Exercício 1

• Considere a execução de um programa queresulta na execução de 10 milhões deinstruções num processador 1,6 GHz. Oprograma consiste em quatro tipos principaisde instruções, de acordo com a tabela abaixo:

Tipo de Instrução CPI Número de Instruções (%)

Aritmética e Lógica 2 66%

Load/Store 4 14%

Desvio de processamento 6 12%

Referência de cache 16 8%

Page 20: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Exercício 1

Page 21: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Exercício 2• Suponha que uma tarefa utilize muitasoperações de ponto flutuante com 35% dotempo sendo consumido por operações deponto flutuante. Com um novo projeto dehardware, o módulo de ponto flutuante éagilizado por um fator 100. Então, o speedupgeral é ? Qual o speedupmáximo ?

Page 22: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Exercício 2

Page 23: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Exercício 3

• Suponha que uma tarefa utilize muitasoperações de ponto flutuante com 44% dotempo sendo consumido por operações deponto flutuante. Qual o fator de agilidadenecessário para um aumento de speedup de17% ?

Page 24: Avaliação de Desempenho - Instituto Siegeninstitutosiegen.com.br/documentos/3AvaliacaodeDesempenho.pdfinstruções de máquinas, executadas, até que um determinado programa rode

Exercício 3