desempenho de sistemas de computadores 2003 -2004

17
Desempenho de Sistemas Desempenho de Sistemas de Computadores 2003 de Computadores 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]

Upload: lynley

Post on 16-Jan-2016

23 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Desempenho de Sistemas de Computadores  2003 -2004

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

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

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

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

Á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

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

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

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

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

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

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

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

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

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

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

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

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