desempenho de sistemas de computadores 2003 -2004
DESCRIPTION
Pedro Medeiros - prof. auxiliar gab. P2/9, telef. 10738, [email protected]. Desempenho de Sistemas de Computadores 2003 -2004. Sumário: Apresentação . Introdução à problemática da medição, avaliação, previsão e afinação do desempenho. Porquê estudar desempenho de sistemas de computadores?. - PowerPoint PPT PresentationTRANSCRIPT
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]
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?
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
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'
Área multidisciplinarÁrea multidisciplinar
Arquitectura de Computadores
Sistemas de Operação
Redes
Compilação
Teoria das filas de espera
Simulação
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
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 ...
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
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
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
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
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
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
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)
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
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/
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