avaliação de desempenho universidade de são paulo instituto de ciências matemáticas e de...

40
Avaliação de Desempenho Universidade de São Paulo Instituto 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

Upload: internet

Post on 17-Apr-2015

109 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 2: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 3: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

Monitores

Técnicas de Avaliação de Desempenho

Benchmarks

Protótipos

Aferição

Rede de Filas

Redes de Petri

Statecharts

ModelagemAferição

3

Page 4: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 5: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 6: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 7: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

Componentes de um Monitor

Observador

Coletor

Analisador

Apresentação

Interpretação

Console

Gerenciamento

7

Page 8: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 9: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 10: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 11: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 12: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 13: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 14: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 15: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 16: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 17: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 18: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 19: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 20: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

MonitoresForma de Implementação

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

1. Hardware

2. Software

3. Firmware

4. Híbrido

20

Page 21: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 22: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 23: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 24: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 25: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 26: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 27: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 28: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 29: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

Coleta de Dados

Monitores de Hardware:

Eficientes Menos invasivos Problemas: custo e complexidade

29

Page 30: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 31: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 32: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 33: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 34: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

• Linux (Ubuntu)

34

Monitores

34

Page 35: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 36: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Monitores /proc

36

Page 37: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 38: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 39: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

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

Page 40: Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Sarita Mazzini

Técnicas de Aferição

40