Desempenho de Sistemas de Computadores 2003 -2004
description
Transcript of Desempenho de Sistemas de Computadores 2003 -2004
![Page 1: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/1.jpg)
Desempenho de Sistemas de Desempenho de Sistemas de Computadores 2003Computadores 2003-2004-2004
Sumário:
Apresentação.
Introdução à problemática da medição, avaliação, previsão e afinação do desempenho
Pedro Medeiros - prof. auxiliar
gab. P2/9, telef. 10738, [email protected]
![Page 2: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/2.jpg)
Porquê estudar desempenho de Porquê estudar desempenho de sistemas de computadores?sistemas de computadores?
Quão bem está este sistema de computdores a fazer o que devia? Para responder é necessário definir a carga de
trabalho típica (workload) e os níveis de serviço (SLA - service level agreement)
Porque é que este programa executa tão devagar?
Para um aumento de carga prevista, o que é preciso fazer ao sistema?
![Page 3: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/3.jpg)
Gestão de desempenhoGestão de desempenhoOptimização de aplicações
ferramentas para aumentar a eficácia do programa (profilers) e ferramentas para avaliar a eficiência do sistema de operação -> system tuning
DiagnósticoDeterminar as causas para os problemas
Planeamento da capacidade (capacity planning)fornecer a médio e longo prazo o nível de serviço
especificado , face ao aumento da carga prevista pela evolução das actividades da instituição
Gestão de recursosescalonamento do uso dos recursos existentes
![Page 4: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/4.jpg)
Exemplo
Numa dada organização, uma aplicação descarregava os pagamentos de um dia num ficheiro de movimentos. O processamento demorava 1 hora. Verificou-se que tal se devia a duas ordens de razões:1) os discos eram lentos;2) para cada pagamento o ficheiro de movimentos era percorrido desde o início
Soluções:- comprar discos mais rápidos- acrescentar um módulo à aplicação que construia um índice do ficheiro em memória. Esta medida reduziu o tempo para 5'
![Page 5: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/5.jpg)
Área multidisciplinarÁrea multidisciplinar
Arquitectura de Computadores
Sistemas de Operação
Redes
Compilação
Teoria das filas de espera
Simulação
![Page 6: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/6.jpg)
Medição do desempenhoMedição do desempenhoDificuldade em definir o que é o desempenho de um
sistema de computadoresDificuldade em medir o desempenho e em
interpretar os valoresO que é a velocidade e o tamanho de um sistema?Não se lida muitas vezes com sistemas completosA interacção entre componentes é complexa, e por
vezes, imprevisívelDificuldade em obter os dados (perturbar o sistema)Dificuldade em interpretar os dados obtidos
![Page 7: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/7.jpg)
Objectivos da análise de desempenhoObjectivos da análise de desempenho(1)(1)
Comparar alternativas– Aquisição de novo equipamento: escolha da configuração –
número de CPUs, RAM, interfaces de rede, discos ; comparação de alternativas dos fornecedores
Determinar o impacto de uma alteração– Desenho de novos sistemas ou “upgrade” – impacto da adição ou
remoção de uma funcionalidade do sistema (before and after comparison)
Afinação do sistema (system tuning)– Determinar um conjunto de parâmetros que produza o máximo de
desempenho global do sistema. Exemplos: número de utilizadores simultâneos; fatia de tempo do algoritmo de escalonamento, tamanho e número de “buffers” de rede e disco. Interligação de parâmetros pode tornar a afinação complicada ...
![Page 8: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/8.jpg)
Objectivos da análise de desempenhoObjectivos da análise de desempenho(2)(2)
Identificar o desempenho relativo– O desempenho só tem sentido num dado contexto histórico, de
utilização, etc – comparar o desempenho com outros sistemas ou outras configurações do mesmo. Quantificar o desempenho face às expectativas dos utilizadores
Debugging de desempenho– Depois de um programa funcionar, pode tornar-se necessário
determinar tornar a sua execução mais rápida – ferramentas e técnicas de análise devem permitir determinar as razões
Preparar expectativas– Prever as possibilidades das novas gerações de equipamento, de
forma a que os utilizadores saberem o que esperar
![Page 9: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/9.jpg)
Técnicas para a análise de desempenhoTécnicas para a análise de desempenho Medição de sistemas existentes
– Na posse das ferramentas adequadas, não é preciso fazer hipóteses simplificativas. Resultados fiáveis mas limitados – só válidos para o sistema em causa ... extrapolação ?
– Certos parâmetros podem ser muito difíceis de medir
Simulação– Programa que modela certos aspectos do sistema em estudo: facilmente
modificado– Custo de desenvolver o programa e executar as simulações– É impossível incluir todos os aspectos, têm de se fazer hipóteses simplificativas
Modelação– Descrição matemática do sistema. Resultados menos credíveis e fiáveis do que
nos casos anteriores.– Podem fornecer aproximações rápidas ao funcionamento do sistema ou de um
dos seus componentes– Podem validar resultados de medidas ou simulação
![Page 10: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/10.jpg)
Exemplo: tempo de acesso à memóriaExemplo: tempo de acesso à memóriaMediçãoUma hierarquia de memória complexa dificulta a medida. Um utilizador “perito” pode
escrever programas que permitam deduzir as características de partes da hierarquia de memória:
– Um programa que acede repetidamente à mesma variável, permite medir o tempo de acesso à cache. Um programa que force “cache misses” pode permitir estimar o tempo de acesso à RAM
– Estas experiências podem não permitir tirar conclusões para um programa completo
Simulação– Um simulador permite variar um grande número de parâmetros: dimensão e
tempos de acesso da cache e da RAM, associatividade da cache, ...– Já pode ser difícil incluir aspectos de optimização dos CPUs modernos (pipeline,
execução fora de ordem, especulativa), o que enfraquece os resultados
Modelação matemática
![Page 11: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/11.jpg)
Exemplo: tempo de acesso à memóriaExemplo: tempo de acesso à memóriaModelação matemática
tc – tempo de acesso à cache
tm – tempo de acesso à RAMh – hit rate
tmédio = h* tc + (1 –h) tm
tc e tm podem ser obtidos nas especificações do fabricante, ou obtidos por experiências
h é mais difícil de obter para uma aplicação, mas pode ser usado um simulador
O modelo é grosseiro, mas permite compreender os efeitos de aumentar o “hit rate” e os modificar tc e tm no desempenho da aplicação
![Page 12: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/12.jpg)
Critérios de avaliaçãoCritérios de avaliaçãoFlexibilidade
Quão fácil é mudar o sistema de avaliação para estudar diferentes configurações.
CustoQuanto custa (tempo, esforço e dinheiro) fazer as experiências
ConfiabilidadeMede o grau de confiança que o destinatário do estudo terá nos
resultados obtidos.
PrecisãoQuão próximos estão os resultados obtidos daqueles que se
conseguiriam num máquina real
![Page 13: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/13.jpg)
Comparação das três abordagensComparação das três abordagens
Critério Modelação
matemática
Simulação Medição
Flexibilidade Alta Alta Baixa
Custo Baixo Médio Alto
Confiabilidade Baixa Média Alto
Precisão Baixa Média Alta
![Page 14: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/14.jpg)
ConclusõesConclusõesA escolha de uma técnica depende do problemaUm dos talentos de um especialista em desempenho
é determinar qual (ou quais) das técnicas é a mais adequada em cada situação
Neste curso, procurar-se-á desenvolver esse talentoA análise de desempenho é às vezes encarada como
uma arte em vez de uma ciênciaMuitas vezes esta observação é falsa: é preciso
indicar todos os resultados obtidos e como foram obtidos (parâmetros e ferramentas usados na recolha, apresentação e análise dos dados)
![Page 15: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/15.jpg)
ProgramaPrograma
1. Introdução: terminologia
2. Técnicas e ferramentas de medida
3. Experiências e análise de dados
4. Simulação de sistemas
5. Modelação de sistemas baseadas em filas de espera
6. Optimização de programas
![Page 16: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/16.jpg)
BibliografiaBibliografiaDavid J. Lilja, Measuring Computer Performance: A Practitioner´s
Guide, Cambridge University Press, 2000
Raj Jain The Art of Computer Systems Performance Analysis: techniques for experimental design, measuring, simulation and modeling, Wiley, 1991
D. Menascé, V. Almeida Capacity Planning for WEB Performance: Metrics,Tools and Methods, Prentice-Hall, 1998
Hennessy, Patterson Computer Architecture a Quantitative Approach 3rd Ed , Morgan Kauffman 2002
outras referências, ver página da cadeirahttp://asc.di.fct.unl.pt/~pm/DSC-03-04/
![Page 17: Desempenho de Sistemas de Computadores 2003 -2004](https://reader036.fdocumentos.tips/reader036/viewer/2022082713/56814abc550346895db7cfd1/html5/thumbnails/17.jpg)
Avaliação Avaliação LEI/LEI/MEIMEI
C1 (exame ou teste), C2 (trabalhos práticos)
Nota Final = 0.7*C1+0.3*C2
Teste: 17/12/2003 (4ª feira); 16.10-18.00; sala a indicar
Quem conseguir aprovação através do teste só poderá melhorar a nota se se inscrever para esses efeito