Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de...

Post on 17-Apr-2015

109 views 1 download

Transcript of Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de...

Avaliação de Desempenho

Universidade de São PauloInstituto de Ciências Matemáticas e de Computação

Departamento de Sistemas de Computação

Sarita Mazzini Bruschi

Slides de:Marcos José Santana

Regina Helena Carlucci Santana

Aferição de Sistemas Computacionais

Técnicas de Avaliação de Desempenho

Sistema Medições Dados

Protótipos

Benchmarcks

Coleta de Dados

Aferição

Rede de Filas

Redes de Petri

Statecharts

Modelagem

Simulação

Analítica

Aferição

2

Monitores

Técnicas de Avaliação de Desempenho

Benchmarks

Protótipos

Aferição

Rede de Filas

Redes de Petri

Statecharts

ModelagemAferição

3

Técnicas de Aferição

• Coleta de Dados

Ferramenta para observar as atividades de um sistema coletando as

características relevantes para a análise do sistema

Ferramenta = Monitor

4

Monitores

Avaliar o Desempenho e Identificar Pontos Críticos

Objetivos: Determinar partes mais utilizadas Determinar gargalos Ajustar Parâmetros Caracterizar Carga de Trabalho Determinar Parâmetros para modelos

5

Monitores

oferece os melhores resultados;

problema central interfere com o sistema e o sistema TEM de existir!

Dois tipos básicos de abordagens: Monitores de Software e de Hardware.

6

Componentes de um Monitor

Observador

Coletor

Analisador

Apresentação

Interpretação

Console

Gerenciamento

7

Componentes de um Monitor1. Observador

• Obtém Dados do Sistema• Espião – observa as atividades do sistema

Ex. Escuta em uma rede

• Instrumentação - incorpora pontos de prova, traces ou contadores

Sobrecarga no sistema

Ex. Determinar tempo para enviar mensagem

• Teste – inclui usuário para monitorar sistemaEx. Envia mensagens para monitorar filas

• Sistema pode ter um ou mais observadores8

Componentes de um Monitor

2. Coletor Centraliza e Filtra os Dados Coletados Armazena dados obtidos e histórico dos

dados Sistema pode ter um ou mais coletores:

problemas de sincronismo e comunicação de dados

3. Analisador • Analisa os Dados Coletados• Considera análise estatística

9

Componentes de um Monitor

4. Apresentação dos Dados• Produz Gráficos, Relatórios, Alarmes, etc.• Oferece Interface Homem-Máquina

5. Interpretação• Analisa o significado dos Dados• Análise Inteligente

10

Componentes de um Monitor

6. Console• Controla parâmetros e estados do monitor ou

do Sistema• Nem sempre faz parte do Monitor

7. Gerenciamento Toma decisão sobre o que deve ser alterado

no sistema ou no monitor

11

MonitoresMonitores podem ser classificados seguindo

diferentes enfoques:

1. Forma de Ativação Mecanismo de Disparo

2. Forma de Obtenção dos dadosMecanismo de Coleta dos Dados

Mecanismo Visualização dos Dados

Definição da Carga de Trabalho

3. Forma de ImplementaçãoHardware, Software, Firmware e Híbrido

12

MonitoresForma de Ativação - Mecanismo de Disparo

Define quando o monitor será ativado para coletar e gravar as informações

1.Baseado em EventoMudança de Estado no Sistema Ativa o Monitor

Exemplos: Chaveamento de Processos, Acesso a disco, Acesso a rede

2.Baseado em AmostragemO Monitor é Ativado em Intervalos de Tempo

FixosExemplo: a cada 1 seg o monitor verifica se a rede

está ocupada13

MonitoresMecanismo de Disparo

1. Baseado em EventoAssíncrono

Adequado para eventos raros – causa menor sobrecarga

2. Baseado em AmostragemSíncrono

Adequado para eventos freqüentes

Pode perder eventos

Período de amostragem deve ser adequadamente definidoLongo – perda de eventos

Curto – aumento de sobrecarga

14

MonitoresForma de Obtenção dos Dados - Mecanismo de

Coleta dos DadosDefine como os dados serão coletados

1. Coleta DiretaMétrica é retirada Diretamente do Sistema

Exemplos: Tempo de Resposta de um Disco

2. Coleta IndiretaMétrica é Obtida através de Relações de

dependência com outras métricas retiradas do sistema

Exemplo: Cálculo da Utilização de um Processador15

MonitoresForma de Obtenção dos Dados -

Mecanismo Visualização dos Dados

1. On-lineAnalisados e apresentados ao avaliador ao

mesmo tempo em que são coletados Exemplos: Avaliação do tráfego de uma rede

2. BatchDados são coletados, armazenados e depois

de terminada a coleta são analisadosExemplo: Tempo médio de resposta ou

utilização de um processador16

Monitores

Mecanismo Visualização dos Dados

1. On-lineNúmero pequeno de eventos

Avaliação Comportamental do Sistema

2. BatchGrande número de eventos

Avaliação de Desempenho, Confiabilidade ou da Segurança de um Sistema

17

MonitoresForma de Obtenção dos Dados - Definição

da Carga de Trabalho

1. Passiva

Coleta realizada com a operação normal do Sistema

2. Ativa

Coleta realizada com cargas controladas

Carga é gerada e injetada no sistema

18

MonitoresDefinição da Carga de Trabalho

1. Passiva• Resultados não podem ser reproduzidos

2. Ativa• Carga Controlada

• Mais limitada que a Passiva• Resultados não pode ser totalmente reproduzidos• Testes podem ser repetidos de forma similar

• Carga Sintética• Não real• Resultados podem facilmente ser reproduzidos

19

MonitoresForma de Implementação

Define o nível em que o monitor será implementado

1. Hardware

2. Software

3. Firmware

4. Híbrido

20

MonitoresForma de Implementação

Hardware

– monitor de hardware que é conectado com o sistema (observador silencioso)

– não interfere no funcionamento normal do sistema medido

– captura eventos rápidos

– apresenta dificuldades em fazer medidas em nível de software

– técnica cara21

MonitoresForma de Implementação

SoftwareVantagens: • generalidade • flexibilidade• para medidas em nível de programas

Desvantagens:• ele pode interferir com o funcionamento

normal do sistema• não captura eventos que ocorrem

rapidamente 22

MonitoresForma de Implementação - Exemplos

SoftwareRotina inserida nos protocolos de comunicação para medir o tempo gasto em uma transação em arquivos

Hardware

Hardware adicionado ao sistema para espionar e contabilizar o tempo gasto em uma transação em arquivos

23

MonitoresForma de Implementação

Firmware Implementado através da alteração de

micro-código do processador Implementação em hardware, de rotinas

de software através de MEF (Máquinas de Estado Finito)

Similar ao monitor de Software

24

MonitoresForma de Implementação

HíbridoVantagens: • esboça as vantagens de ambas técnicas de

monitoramento ( hardware e software)• flexível• seu domínio de aplicação sobrepõe as outras

técnicas• Desvantagens:

• sincronização pode causar interferência• difícil obtenção de programas ou medidas

em nível de S.O.• caro

25

Comparação entre monitores de Software e Hardware

Critério Hardware Software

Domínio Eventos de Hardware Eventos de SO e Software

Taxa de Entrada Alta (105 / Seg) Depende do proc.

Resolução Nanosegundos Milisegundos

Conhecimento Necessário

Hardwarre Software

Capacidade de Armazenamento

Limitada pelo armazenamento disp.

Limitada pela sobrecarga

Largura de Entrada

Obtém vários dados simultâneos

Único processador – um evento

26

Comparação entre monitores de Software e Hardware

Critério Hardware Software

Sobrecarga Nenhuma Variável - <5%

Portabilidade Grande Média

Erros Mais fácil de ocorrer

Raro

Custo Alto Baixo

Disponibilidade Grande– mesmo com crash

Para durante crash

Flexibilidade Baixa Alta27

Coleta de Dados

Monitores de Software:

Gerais e Flexíveis Produzem interferência no sistema Informações possíveis de serem obtidas:

Nível de aplicação Sistema operacional

28

Coleta de Dados

Monitores de Hardware:

Eficientes Menos invasivos Problemas: custo e complexidade

29

Monitores - Exemplo

Ganglia

Monitor para clusters e grids

Métricas e forma de coleta configuráveis

Pode ser baseado em evento ou amostragem

Em uso por mais de 500 clusters

Possui um núcleo + ferramentas auxiliares

30

Monitores - Ganglia

Núcleo:

deamon que deve estar em todos os nós do cluster

responsável por coletar infos dos nós

Ferramentas:

Gmetric – permite adicionar métricas durante monitoração

Gmetad – armazenar infos coletadas

Diversas outras

31

Monitores - Ganglia

Propagação da info coletada é feita por multicast

Infos enviadas em um documento XML

Infos armazenadas em um banco de dados RRD (Round Robin Database)

Utiliza XDR para transporte dos dados

32

Coleta de Dadosselecionar a métrica e a

granularidade de tempo

métricas globais de um cluster

visualização dos estados de cada nó

33

• Linux (Ubuntu)

34

Monitores

34

Linux

• Coleta de Informações no diretório /proc

• Vários sub-diretórios

35

Fonte: Mestrado de William Voorsluys – ICMC- USP, 2006

Monitores /proc

35

36Fonte: Mestrado de William Voorsluys – ICMC- USP, 2006

Monitores /proc

36

Monitores

Concluindo....

• Podem gerar resultados bastante confiáveis.• O sistema deve existir e estar disponível.• Cuidado com a interferência do Monitor nos

resultados• Dois tipos básicos de abordagens:

Monitores de Software e de Hardware.

37

Técnicas - Aferição

Concluindo....

• Protótipos – Sistema não existe– Fase de Projeto– Avaliar comportamento ou desempenho

• Monitores– Avaliação de sistemas existentes – real ou

protótipo 38

Técnicas de Aferição

• Construção de Protótipos– Sistema em Projeto

• Benchmarks– Comparação entre Sistemas– Avaliar partes específicas de um

Sistema

• Monitores ou Coleta de Dados– Avaliar um Sistema ou partes dele

39

Técnicas de Aferição

40