Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação de Desempenho a Aferição de Sistemas Computacionais Avaliação de Desempenho Introdução Planejamento de Experimentos Análise de Resultados Técnicas para Avaliação de Desempenho 2 Conteúdo Introdução Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento de Experimentos Técnicas para Avaliação de Desempenho Análise de Resultados 3 Etapas a serem consideradas 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 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 Planejamento de Experimento Análise dos Resultados Técnica de Avaliação 4 Conteúdo Introdução Planejamento de Experimentos Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho 5 Conteúdo Introdução Planejamento de Experimentos Análise de Resultados Introdução Medidas de Desempenho Análise Estatística dos Resultados Comparação de Resultados Procedimento para análise de resultados Exemplos Técnicas para Avaliação de Desempenho 6 Conteúdo Introdução Planejamento de Experimentos Análise de Resultados Técnicas para Avaliação de Desempenho Apresentação das Técnicas Aferição – Benchmarks e Protótipos Aferição - Monitores Desenvolvimento de Modelos Solução de Modelos – Simulação e Analítica Apresentação das Técnicas 7 Técnicas de Avaliação de Desempenho Aferição Técnicas de Avaliação de Desempenho Modelagem 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 10 Técnicas de Avaliação de Desempenho Vantagens: Flexibilidade Pode ser utilizada para sistema existente ou não Custo X Precisão Dificuldades: Descrição das características principais Validação Modelagem 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 12 Técnicas de Avaliação de Desempenho Vantagens: Não é necessário o desenvolvimento de um modelo Dificuldades: Controlar interferências Falta de Flexibilidade Aferição 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 14 Técnicas de Avaliação de Desempenho Modelo Solução Métodos Analíticos Simulação Sistema Protótipos Benchmarcks Coleta de Dados Aferição Rede de Filas Redes de Petri Modelagem Simulação Analítica Modelagem 15 Benchmarcks Técnicas de Avaliação de Desempenho Protótipos Coleta de Dados Aferição Rede de Filas Redes de Petri Statecharts Modelagem Aferição 16 Benchmarks Instrumento fixo, que permite comparar uma medida (mark - marca) a um padrão preestabelecido Deve-se ter um ponto de observação (bench - banco) Ponto fixo ou referência para comparações 17 Benchmarks Empresas Utilizam como modelo Onde elas pretendem chegar Ponto fixo ou referência para comparações Definir um benchmark para a vida.... Exemplos: Tábua das mares Termômetro 18 Benchmarks ALTURA NÍVEL DA MARÉ 1,00m – 1,50m Maré alta 1,60m - 1,70m Observação 1,80m Atenção Tábua das mares 19 Benchmarks Termômetro Vinho T = 38O Febre!!! T = 36,5O Normal Benchmark!! 20 Técnicas de Aferição Benchmarks Programa escrito em linguagem de alto nível, representativo de uma classe de aplicações, utilizado para medir o desempenho de um dado sistema ou para comparar diferentes sistemas 21 Benchmarks Abordagem muito utilizada para a avaliação de desempenho por aferição Exemplo i5 i7 2 ou 4 núcleos 4 ou 6 núcleos Não possui Hyper-threading possui Hyper-threading – 2 núcleos lógicos para cada físico DMI - Direct Media Interface (taxa de transferência ~2Gb/s) QPI - Quick Path Interconnect (taxa de transferência >4,8Gb/s) Quantidade de canais para acesso a memória – 2 (acessa 2 pentes ao mesmo tempo) Quantidade de canais para acesso a memória – 3 (acessa 3 pentes ao mesmo tempo) Qual a diferença entre um i5 e um i7? Qual a influência no desempenho?? 22 Benchmarks http://www.cpubenchmark.net/ Processador Benchmark Preço ($) Intel Core i7 980X @ 3.33GHz 10336 1000,00 Intel Core i7 975 @ 3.33GHz 7007 994,49 Intel Core i5 760 @ 2.80GHz 4510 205,00 Intel Core i5 680 @ 3.60GHz 3431 296,66 Intel Core i7 740QM @ 1.73GHz 3521 546,00 PassMark Performance Test 23 Benchmarks Uso: Comparar desempenho de máquinas diferentes Reprojetar hardware e software Decidir sobre aquisição de sistemas Ajudar na otimização de programas Previsão de desempenho de aplicações em computadores específicos 24 Permitem avaliar o sistema como um todo, incluindo aspectos relacionados com: Arquitetura do sistema Eficiência do compilador Sobrecarga do sistema operacional Sobrecarga de comunicação Identificam pontos fortes e fracos de um sistema em particular ou de aplicações Benchmarks 25 Benchmarks Como escolher um benchmark? Ideal -> aplicação do usuário O ideal pode ser inviável quando os sistemas são de propósito geral Necessita-se de algo mais amplo e representativo programa escrito em linguagem de alto nível; representativo de alguma categoria de programação; que possa ser avaliado facilmente; que possua larga distribuição. 26 Divididos em: Benchmark de componente; Benchmark de sistema; Benchmark de aplicação – utiliza programas representativos Benchmark sintético - imitam ambientes de execução de programas reais. Geram dados estatísticos Benchmarks 27 Classificação quanto a arquitetura: seqüenciais; paralelas; Comitê Parkbenck (Parallel Kernels and Benchmarks) Benchmarks 28 Benchmarks Onde usar benchmark? avaliar sistemas computacionais diferentes; avaliar o desempenho mínimo; tarefas genéricas ou específicas. 29 Protótipos Técnicas de Avaliação de Desempenho Benchmarks Coleta de Dados Aferição Rede de Filas Redes de Petri Statecharts Modelagem Aferição 30 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 Primeiro Exemplar Primeiro Modelo 31 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. 32 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. Construção de Protótipos 33 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 noprotótipo 34 Construção de Protótipos Exemplos..... MADRI - Uma equipe de pesquisadores espanhóis criou um protótipo de vacina contra o HIV "muito mais potente" Estadão - 28 de setembro de 2011 35 Construção de Protótipos Exemplos..... Maquete de um prédio Objetivo: vender apartamentos Objetivo: visualização do projeto arquitetonico 36 Construção de Protótipos Exemplos..... Projeto de uma página Web Objetivo: verificar a usabilidade Objetivo: verificar a eficiência 37 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! 38
Compartilhar