Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouCauê Parreira Alterado mais de 10 anos atrás
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 Marcos José Santana Regina Helena Carlucci Santana Aferição de Sistemas Computacionais
2
Técnicas de Avaliação de Desempenho SistemaMedições Dados Protótipos Benchmarcks Coleta de Dados Aferição Rede de Filas Redes de Petri Statecharts Modelagem Simulação Analítica Aferição
3
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
4
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
5
Benchmarks Origem Estabelecimento de uma marca (mark) em uma mesa de trabalho para permitir medições Ponto fixo ou referência para comparações
6
Benchmarks Instrumento fixo, que permite comparar um novo registro (mark - marca) a um padrão preestabelecido, a partir de um ponto de observação (bench - banco) Exemplos: –Tábua das mares –Termômetro
7
Benchmarks ALTURA NÍVEL DA MARÉ 1,00m – 1,50mMaré alta 1,60m - 1,70mObservação 1,80mAtenção Tábua das mares
8
Benchmarks Termômetro Vinho T = 38 O Febre!!! T = 36,5 O Normal Benchmark!!
9
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
10
Benchmarks –Abordagem muito utilizada para a avaliação de desempenho por aferição –Ponto de referência que serve para fazer medições e comparações –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
11
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
12
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 –Utilização de benchmarks representativos de alguma categoria Programa que possa ser avaliado facilmente Programa que possua larga distribuição
13
como escolher um Benchmark: programa escrito em linguagem de alto nível; representativo de alguma categoria de programação; programa que possa ser avaliado facilmente; programa que possua larga distribuição. Benchmarks
14
Classificação quanto a arquitetura: –seqüenciais; –paralelas; Comitê Parkbenck (Parallel Kernels and Benchmarks) Benchmarks
15
Onde usar benchmark? –avaliar sistemas computacionais diferentes; –avaliar o desempenho mínimo; –tarefas genéricas ou específicas.
16
Áreas de Aplicação e Objetivos Três grandes áreas: –projeto não aplicável –avaliação aplicável, porém insuficiente –seleção técnica ideal
17
Medidas de Desempenho Freqüentemente Utilizadas Comum aos outros casos: –Tempo de resposta, –Utilização, –Throughput, –Tempo/Tamanho de filas. Freqüência de clock - MHZ –Pode ser UMA medida –Problemas – É necessário considerar: Arquitetura do processador Velocidade e quantidade de memória Disco
18
Medidas de Desempenho Freqüentemente Utilizadas -Fabricantes apresentam números de pico de MIPS e MFLOPS superiores aos reais, valores obtidos em situações ideais -Comparação entre máquinas com conjunto de instruções diferentes – CISC X RISC MIPS Milhões de Instruções por Segundo MFLOPS Milhões de Instruções de Ponto Flutuante por Segundo
19
Medidas de Desempenho Freqüentemente Utilizadas MIPS e MFLOPS são relevantes quando aplicados em computadores de mesma arquitetura para análise comparativa –Apresentam características similares de hardware e software –Números de MIPS e MFLOPS mais coerentes
20
Aspectos Relacionados aos Benchmarks –Quando os resultados dos Benchmarks forem interpretados, deve-se conhecer: –arquitetura do processador; –processadores; –clock; –barramento; –memória e caches; –disco rígido; –sistema operacional; –compilador –etc.
21
Problemas... -Sistemas com configurações diferentes geram medidas de desempenho diferentes -Otimização do compilador: influencia diretamente no desempenho medido Aspectos Relacionados aos Benchmarks
22
Sequencial x Paralelo Sequencial –todas as considerações acima Paralelo –todas as considerações acima –poder de processamento não é o único fator determinante da eficiência. Muito depende do quão inato é o paralelismo da aplicação, e qual a magnitude deste paralelismo pode ser explorado pela máquina Sistemas Sequenciais e Paralelos
23
Tipos de Benchmarks Benchmarks mais comums Whetstone, Linpack, Dhrystone Outros programas de Benchmarks Stanford Small Programs Benchmark Set EDN Benchmarks Sieve of Eratosthenes Livermore Fortran Kernels Perfect Club Benchmarks SPEC Benchmarks EuroBen Benchmarks
24
Tipos de Benchmarks Whetstone –Primeiro grande programa da literatura escrito para Benchmarking –Elaborado para análise de programação numérica de ponto flutuante intensivo –Apenas a versão Pascal é oficialmente controlada –resultado: número de loops por segundo
25
Tipos de Benchmarks Características do Whetstone –Possui alto percentual de dados e operações de ponto flutuante –Alto percentual de tempo de execução é gasto em funções matemáticas –Ao invés de variáveis locais, Whetstone utiliza muitos dados globais
26
Whetstone Ranking das melhores máquinas Whetstone 97 Última atualização – setembro 2006 MWips, million whetstones instructions per second http://www.cse.clrc.ac.uk/disco/Benchmarks/whetstone.shtml (Setembro 2006) http://homepage.virgin.net/roy.longbottom/whetstone%20results.htm (Dezembro de 2007)
27
RankMachineMflop ratings (Vl=1024)Total CPUMWIPS N2N3N8(seconds) 1Intel Woodcrest 3.0GHz 4MBL2 DC1966458829073.310560 2Intel Woodcrest 3.0GHz-533 4MBL2 DC1966458830693.310451 3IBM eServer p5 570/1.91966 16256.26219 4SunFire V20 2.2GHz (EKO)1311129814817.74496 5IBM eServer p5 575/1.51966152913157.84874 6AMD Opteron852/2600 (EKO 2.2)1513154717718.14488 7HP DL380 Pentium4/3600 (EM64T)196617206078.44408 8Dell PowerEdge 1850/3600 1MBL2196617206078.44351 9Dell PowerEdge 1850/3600 2MBL2196617206078.54370 10AMD Opteron875/2200 DC (EKO 2.0)1311125114978.64543 VL = Vector loops MWIPS = million whetstones instructions per second N2,N3 e N8 – diferentes instruções de ponto flutuante no loop
28
Tipos de Benchmarks Livermore Fortran Kernels –Este benchmark foi criado em 1970 por F.H. McMahon –Consiste de 24 kernels ou loops de processamento numérico –Analisa desempenho de computadores e compiladores em operações com ponto flutuante
29
Tipos de Benchmarks http://www.osc.edu/supercomputing/computing/metrics.shtml Ohio Supercomputer Center Livermore Fortran Kernels executado em diferentes máquinas
30
Tipos de Benchmarks SPEC Benchmarks –SPEC (System Performance Evaluation Cooperative ou Standard Performance Evaluation Corporation) fundada em Outubro de 1988 por Apollo, Hewlett-Packard, MIPS e Sun Microsystems. –Possui como meta, realismo de medidas de sistemas computacionais avançados para a indústria e educação dos consumidores quanto aos aspectos de desempenho.
31
Tipos de Benchmarks SPEC Benchmarks –CPU –Aplicações Gráficas –Aplicações de Alto Desempenho MPI e OpenMP –Cliente/Servidor Java Projetado para medir o desempenho de servidores rodando aplicações Java –Mail Servers Mede desempenho de servidores de e-mail –Network File Systems –Web Servers Simula usuários enviando requisições
32
Benchmarks para Arquiteturas Paralelas e Sistemas Distribuídos: problemas com MIPS e MFLOPs não basta somá- los: comunicação; balanceamento; etc. cada tipo de arquitetura benchmark específico; Exemplos: PING e PING-PONG: utilizados na avaliação de comunicação; TTCP: avaliação de comunicação usando TCP ou UDP. Benchmarks
33
WebStone Desenvolvido pela Silicon Graphics Objetivo: Medir desempenho de software e hardware de servidores Web Versão 2.0.1 Testa o servidor Web server, incluindo sistema operacional, CPU e velocidade de acesso a rede. Não testa influência da velocidade de acesso ao disco Principais medidas –Throughput máximo –Tempo médio de resposta
34
Surge Simula uma coleção de usuários acessando um servidorWeb Arquitetura –Conjunto de clientes conectados a um servidor Web –Cliente Conjunto de threads especificado pelo usuário requisições a documentos no servidor estados ON e OFF –ON transferência de arquivos –OFF Ativo e Inativo
35
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
36
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
37
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.
38
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
39
1)Analisar se o sistema é um bom candidato a prototipação 2)Delimitar e conhecer perfeitamente os domínios funcionais e comportamentais do sistema 3)Desenvolver o protótipo 4)Testar o protótipo 5)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
40
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!
41
Monitores Técnicas de Avaliação de Desempenho Benchmarks Protótipos Aferição Rede de Filas Redes de Petri Statecharts Modelagem Aferição
42
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
43
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
44
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.
45
Componentes de um Monitor Observador Coletor Analisador Apresentação Interpretação Console Gerenciamento
46
Componentes de um Monitor 1.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
47
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
48
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
49
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
50
Monitores Monitores podem ser classificados seguindo diferentes enfoques: 1.Forma de Ativação Mecanismo de Disparo 2.Forma de Obtenção dos dados Mecanismo de Coleta dos Dados Mecanismo Visualização dos Dados Definição da Carga de Trabalho 3.Forma de Implementação Hardware, Software, Firmware e Híbrido
51
Monitores Forma de Ativação - Mecanismo de Disparo Define quando o monitor será ativado para coletar e gravar as informações 1.Baseado em Evento Mudança de Estado no Sistema Ativa o Monitor Exemplos: Chaveamento de Processos, Acesso a disco, Acesso a rede 2.Baseado em Amostragem O Monitor é Ativado em Intervalos de Tempo Fixos Exemplo: a cada 1 seg o monitor verifica se a rede está ocupada
52
Monitores Mecanismo de Disparo 1.Baseado em Evento Assíncrono Adequado para eventos raros – causa menor sobrecarga 2.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
53
Monitores Forma de Obtenção dos Dados - Mecanismo de Coleta dos Dados Define como os dados serão coletados 1.Coleta Direta Métrica é retirada Diretamente do Sistema Exemplos: Tempo de Resposta de um Disco 2.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
54
Monitores Forma de Obtenção dos Dados - Mecanismo Visualização dos Dados 1.On-line Analisados e apresentados ao avaliador ao mesmo tempo em que são coletados Exemplos: Avaliação do tráfego de uma rede 2.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
55
Monitores Mecanismo Visualização dos Dados 1.On-line Número pequeno de eventos Avaliação Comportamental do Sistema 2.Batch Grande número de eventos Avaliação de Desempenho, Confiabilidade ou da Segurança de um Sistema
56
Monitores Forma 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
57
Monitores Definiçã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
58
Monitores Forma de Implementação Define o nível em que o monitor será implementado 1.Hardware 2.Software 3.Firmware 4.Híbrido
59
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
60
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
61
Monitores Forma de Implementação - Exemplos Software R otina 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
62
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
63
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
64
Comparação entre monitores de Software e Hardware CritérioHardwareSoftware DomínioEventos de HardwareEventos de SO e Software Taxa de EntradaAlta (10 5 / Seg)Depende do proc. ResoluçãoNanosegundosMilisegundos Conhecimento Necessário HardwarreSoftware Capacidade de Armazenamento Limitada pelo armazenamento disp. Limitada pela sobrecarga Largura de Entrada Obtém vários dados simultâneos Único processador – um evento
65
Comparação entre monitores de Software e Hardware CritérioHardwareSoftware SobrecargaNenhumaVariável - <5% PortabilidadeGrandePequena ErrosMais fácil de ocorrer Raro CustoAltoBaixo DisponibilidadeGrande– mesmo com crash Para durante crash FlexibilidadeBaixaAlta
66
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
67
Coleta de Dados Monitores de Hardware: Eficientes Menos invasivos Problemas: custo e complexidade
68
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.
69
Concluindo.... Benchmarks podem ser utilizados para verificar diversos tipos de sistemas... –Servidores Web, –Banco de dados, –Processadores, –Redes de comunicação
70
Concluindo.... sendo utilizados com diferentes objetivos... Codificação de vídeo e edição de imagens, Jogos, Processamento intensivo, Processamento de textos, etc.
71
Concluindo.... Querendo avaliar diferentes características... Produtividade Desempenho Confiabilidade, etc.
72
O importante é... Escolher o Benchmark adequado, Aplicar o Benchmark de forma adequada, Analisar os resultados obtidos com critério.
73
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
74
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.