A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Avaliação de Desempenho de Sistemas Computacionais

Apresentações semelhantes


Apresentação em tema: "Avaliação de Desempenho de Sistemas Computacionais"— Transcrição da apresentação:

1 Avaliação de Desempenho de Sistemas Computacionais
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Avaliação de Desempenho de Sistemas Computacionais Protótipos e Monitores Marcos José Santana Regina Helena Carlucci Santana

2 Etapas a serem consideradas na Avaliação de Desempenho
  1.  Estudar o sistema e definir os objetivos   2.  Determinar os serviços oferecidos pelo sistema   3.  Selecionar métricas de avaliação   4.  Determinar os parâmetros que afetam o desempenho do sistema   5.  Determinar o nível de detalhamento da análise   6.  Determinar a Técnica de Avaliação apropriada

3 Etapas a serem consideradas na Avaliação de Desempenho
  7.  Determinar a carga de trabalho característica   8.  Realizar a avaliação e obter os resultados   9.  Analisar e interpretar os resultados   10. Apresentar os resultados   As etapas apresentadas nem sempre são executadas linearmente como apresentado nesta lista

4 Conteúdo Planejamento de Experimentos Análise de Resultados
Técnicas para Avaliação de Desempenho

5 Conteúdo Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Apresentação das técnicas Técnicas de Aferição: Protótipos, Benchmarks e Monitores Técnicas de Modelagem: Solução Analítica e por Simulação Exemplos Análise de Resultados

6 Conteúdo – Parte II Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Apresentação das técnicas Técnicas de Aferição: Protótipos, Benchmarks e Monitores Técnicas de Modelagem: Solução Analítica e por Simulação Exemplos Análise de Resultados

7 Técnicas de Avaliação de Desempenho
Protótipos Benchmarcks Coleta de Dados Aferição Rede de Filas Redes de Petri Statecharts Modelagem Simulação Analítica Aferição Sistema Medições Dados

8 Técnicas de Avaliação de Desempenho
Protótipos Benchmarcks Coleta de Dados Aferição Rede de Filas Redes de Petri Statecharts Modelagem Simulação Analítica Modelagem Modelo Solução Métodos Analíticos Simulação Sistema

9 Técnicas de Avaliação de Desempenho
Aferição Medidas no próprio sistema Sistema deve existir e estar disponível Experimentação restrita Muito cuidado com aquisição dos dados

10 Técnicas de Avaliação de Desempenho
Modelagem Desenvolvimento de um modelo Não é necessário ter o sistema disponível Grande flexibilidade Resultados estocásticos Necessita validar modelo e solução

11 Conteúdo Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Apresentação das técnicas Técnicas de Aferição: Protótipos, Benchmarks e Monitores Técnicas de Modelagem: Solução Analítica e por Simulação Exemplos Análise de Resultados

12 Técnicas de Aferição Construção de Protótipos Benchmarks
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

13 Técnicas de Aferição Construção de Protótipos
Versão simplificada de um sistema computacional que contém apenas características relevantes para a análise do sistema

14 Construção de Protótipos
Técnicas de Aferição Construção de Protótipos uma implementação simplificada do sistema real; abstração das características essenciais; sistemas em fase de projeto; produz resultados com boa precisão; recomendado para verificação do projeto final; problema: custo e alterações.

15 Construção de Protótipos
Considerações envolvidas: identificar os objetivos do projeto; abstrair as características essenciais; definir a estratégia de coleta de dados no protótipo; desenvolver o protótipo; avaliar o seu desempenho; Além disso, devem ser considerados: viabilidade da prototipação do sistema; melhorias no protótipo, em função da avaliação e análise.

16 Construção de Protótipos
Analisar se o sistema é um bom candidato a prototipação Delimitar e conhecer perfeitamente os domínios funcionais e comportamentais do sistema Desenvolver o protótipo Testar o protótipo Coletar dados do protótipo Após o passo 4, o protótipo já provê uma idéia do sistema real. Os passos 3, 4 e 5 são repetidos iterativamente até que se tenha toda a funcionalidade do sistema representada no protótipo

17 Construção de Protótipos
Analisar se o sistema é um bom candidato a prototipação Viabilidade da prototipação do sistema; Custo Dificuldades em alterar o protótipo Exemplos: Sistema de RAID para um servidor Sistema que pode ser construído em um laboratório Custo – proporcional ao sistema Possível realizar alterações Sistema computacional a ser utilizado por uma empresa responsável pelas reservas de uma companhia aérea Sistema computacional para controlar uma usina nuclear

18 Construção de Protótipos
Analisar se o sistema é um bom candidato a prototipação Viabilidade da prototipação do sistema; Custo Dificuldades em alterar o protótipo Exemplos: Sistema de RAID para um servidor Sistema computacional a ser utilizado por uma empresa responsável pelas reservas de uma companhia aérea Sistema distribuído. Pode ser construído em um laboratório mas depende de várias máquinas Custo – elevado Possível realizar alterações Sistema computacional para controlar uma usina nuclear

19 Construção de Protótipos
Analisar se o sistema é um bom candidato a prototipação Viabilidade da prototipação do sistema; Custo Dificuldades em alterar o protótipo Exemplos: Sistema de RAID para um servidor Sistema computacional a ser utilizado por uma empresa responsável pelas reservas de uma companhia aérea Sistema computacional para controlar uma usina nuclear Sistema distribuído. Necessidade de ativação/leitura de vários sensores Difícil de ser implementado e testado em um laboratório Custo – elevado Realização de alterações - difícil

20 Construção de Protótipos
Delimitar e conhecer perfeitamente os domínios funcionais e comportamentais do sistema Definir o objetivo da avaliação baseando-se nos objetivos do projeto Abstrair as características essenciais Verificar a possibilidade de obter os dados necessários para a avaliação do protótipo Exemplos: Protótipo de um carro em desenvolvimento por uma montadora. A montadora quer avaliar consumo e desempenho. O que é importante estar presente? Som? Banco de couro? Portas?

21 Construção de Protótipos
Delimitar e conhecer perfeitamente os domínios funcionais e comportamentais do sistema Exemplos: Sistema de RAID para um servidor Verificar a confiabilidade do sistema em questão Verificar o comportamento quando ocorre uma falha Dados podem ser coletados com testes no protótipo Sistema computacional a ser utilizado por uma empresa responsável pelas reservas de uma companhia aérea Sistema computacional para controlar uma usina nuclear

22 Construção de Protótipos
Delimitar e conhecer perfeitamente os domínios funcionais e comportamentais do sistema Exemplos: Sistema de RAID para um servidor Sistema computacional a ser utilizado por uma empresa responsável pelas reservas de uma companhia aérea Verificar se sistema mantém a consistência dos dados Dados podem ser coletados com testes no protótipo Sistema computacional para controlar uma usina nuclear

23 Construção de Protótipos
Delimitar e conhecer perfeitamente os domínios funcionais e comportamentais do sistema Exemplos: Sistema de RAID para um servidor Sistema computacional a ser utilizado por uma empresa responsável pelas reservas de uma companhia aérea Sistema computacional para controlar uma usina nuclear Verificar a confiabilidade do sistema em questão Verificar o comportamento quando ocorre uma falha Dados difíceis de serem coletados Situações complicadas de serem realizadas

24 Construção de Protótipos
Desenvolver o protótipo Qual técnica utilizar no desenvolvimento do protótipo Software Rotinas Básicas Interface simplificada Comunicação entre os módulos Documentação Básica Hardware Implementação Manual (protoboard, wire-wrap, placas, etc.) FPGA PLA – Programable Logic Array

25 Construção de Protótipos
Testar e Validar o protótipo Garantir que as simplificações feitas não afetaram a precisão do protótipo Exemplo II – Companhia Será que um protótipo com todas as máquinas juntas em um laboratório é similar à máquinas distribuídas pelo mundo? Realizar testes envolvendo: Teste de condições extremas Validação aparente – análise dos resultados por especialistas Valores fixos Consistência entre diferentes execuções Coletar e Analisar os dados do protótipo Definir a estratégia de coleta de dados no protótipo Definir os dados a serem coletados

26 Construção de Protótipos
Concluindo..... Ótima opção para verificação de projetos Bom para alguns tipos de sistemas Custo pode ser um problema Flexibilidade não é ponto forte!

27 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

28 Avaliar o Desempenho e Identificar Pontos Críticos
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

29 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.

30 Componentes de um Monitor
Observador Coletor Analisador Apresentação Interpretação Console Gerenciamento

31 Componentes de um Monitor
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 sistema Ex. Envia mensagens para monitorar filas Sistema pode ter um ou mais observadores

32 Componentes de um Monitor
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 Analisador Analisa os Dados Coletados Considera análise estatística

33 Componentes de um Monitor
Apresentação dos Dados Produz Gráficos, Relatórios, Alarmes, etc. Oferece Interface Homem-Máquina Interpretação Analisa o significado dos Dados Análise Inteligente

34 Componentes de um Monitor
Console Controla parâmetros e estados do monitor ou do Sistema Nem sempre faz parte do Monitor Gerenciamento Toma decisão sobre o que deve ser alterado no sistema ou no monitor

35 Monitores Monitores podem ser classificados seguindo diferentes enfoques: Forma de Ativação Mecanismo de Disparo Forma de Obtenção dos dados Mecanismo de Coleta dos Dados Mecanismo Visualização dos Dados Definição da Carga de Trabalho Forma de Implementação Hardware, Software, Firmware e Híbrido

36 Monitores Forma de Ativação - Mecanismo de Disparo
Define quando o monitor será ativado para coletar e gravar as informações Baseado em Evento Mudança de Estado no Sistema Ativa o Monitor Exemplos: Chaveamento de Processos, Acesso a disco, Acesso a rede Baseado em Amostragem O Monitor é Ativado em Intervalos de Tempo Fixos Exemplo: a cada 1 seg o monitor verifica se a rede está ocupada

37 Monitores Mecanismo de Disparo Baseado em Evento Baseado em Amostragem
Assíncrono Adequado para eventos raros – causa menor sobrecarga Baseado em Amostragem Síncrono Adequado para eventos freqüentes Pode perder eventos Período de amostragem deve ser adequadamente definido Longo – perda de eventos Curto – aumento de sobrecarga

38 Métrica é retirada Diretamente do Sistema
Monitores Forma de Obtenção dos Dados - Mecanismo de Coleta dos Dados Define como os dados serão coletados Coleta Direta Métrica é retirada Diretamente do Sistema Exemplos: Tempo de Resposta de um Disco Coleta Indireta Mé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 Processador

39 Exemplo: Tempo médio de resposta ou utilização de um processador
Monitores Forma de Obtenção dos Dados - Mecanismo Visualização dos Dados On-line Analisados e apresentados ao avaliador ao mesmo tempo em que são coletados Exemplos: Avaliação do tráfego de uma rede Batch Dados são coletados, armazenados e depois de terminada a coleta são analisados Exemplo: Tempo médio de resposta ou utilização de um processador

40 Mecanismo Visualização dos Dados
Monitores Mecanismo Visualização dos Dados On-line Número pequeno de eventos Avaliação Comportamental do Sistema Batch Grande número de eventos Avaliação de Desempenho, Confiabilidade ou da Segurança de um Sistema

41 Monitores Forma de Obtenção dos Dados - Definição da Carga de Trabalho
Passiva Coleta realizada com a operação normal do Sistema Ativa Coleta realizada com cargas controladas Carga é gerada e injetada no sistema

42 Resultados não podem ser reproduzidos
Monitores Definição da Carga de Trabalho Passiva Resultados não podem ser reproduzidos 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

43 Monitores Forma de Implementação
Define o nível em que o monitor será implementado Hardware Software Firmware Híbrido

44 Monitores Forma 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 cara

45 Monitores Forma de Implementação Software Vantagens: generalidade
flexibilidade para medidas em nível de programas Desvantagens: ele pode interferir com o normal funcionamento do sistema não captura eventos que ocorrem rapidamente

46 Monitores Forma de Implementação - Exemplos Software Hardware
Rotina 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

47 Monitores Forma 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

48 Monitores Forma de Implementação Híbrido Vantagens:
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

49 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 Capacidade de Armazenamento Limitada pelo armazenamento disp. Limitada pela sobrecarga Largura de Entrada Obtém vários dados simultâneos Único processador – um evento

50 Comparação entre monitores de Software e Hardware
Critério Hardware Software Sobrecarga Nenhuma Variável - <5% Portabilidade Grande Pequena Erros Mais fácil de ocorrer Raro Custo Alto Baixo Disponibilidade Grande– mesmo com crash Para durante crash Flexibilidade Baixa Alta

51 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

52 Coleta de Dados Monitores de Hardware: Eficientes Menos invasivos
Problemas: custo e complexidade

53 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.

54 Técnicas - Aferição Concluindo.... Protótipos Monitores
Sistema não existe Fase de Projeto Avaliar comportamento ou desempenho Monitores Avaliação de sistemas existentes – real ou protótipo

55 Tarefa para próxima aula....
Cada dupla... Pesquisar ferramentas para monitoração Escolher uma por dupla para detalhar Preparar apresentação de 15 minutos Objetivo do Monitor Variáveis de resposta Mecanismo de disparo Mecanismo de visualização dos dados Forma de implementação Exemplo de utilização Duplas não devem repetir a mesma ferramenta


Carregar ppt "Avaliação de Desempenho de Sistemas Computacionais"

Apresentações semelhantes


Anúncios Google