Carregar apresentação
A apresentação está carregando. Por favor, espere
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 Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana
2
Conteúdo Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Análise de Resultados
3
Conteúdo Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados
4
Conteúdo Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Técnicas de Aferição: Protótipos, Benchmarks e Monitores Técnicas de Modelagem: Solução Analítica e por Simulação Análise de Resultados
5
Conteúdo Planejamento de Experimentos
Técnicas para Avaliação de Desempenho Análise de Resultados Análise Estatística dos Resultados Comparação de Resultados Aplicações em Sistemas Operacionais
6
Conteúdo Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados
7
Avaliação de Desempenho de Sistemas Computacionais
Motivação Como Agilizar? Identificar os pontos negativos e verificar o impacto desse pontos: Verificar a freqüência com que o procedimento ocorre Eventos raros e lentos: Pouco impacto Muita otimização para ser perceptível Exemplo: procedimento ao ligar o computador, falha ao entrar em uma região crítica Eventos freqüentes: Muito impacto Pequena otimização pode ser perceptível Exemplo: processo escalonador 2. Propor soluções 3. Avaliar soluções Avaliação de Desempenho de Sistemas Computacionais
8
Conteúdo Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados
9
Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?
10
Avaliação de Desempenho
Por quê se preocupar em avaliar um sistema? Obter o melhor desempenho possível a um menor custo. O que é “melhor desempenho possível”? O que deve ser analisado? Depende do ponto de vista
11
Avaliação de Desempenho
O que o sistema precisa? Qual é o tipo de usuário? Qual é o objetivo do sistema? Como se dá o gerenciamento de recursos?
12
Avaliação de Desempenho?
Análise detalhada: Dos recursos do sistema Dos gerenciadores Dos Usuários Caso contrário pode-se trocar um conjunto de problemas por outro
13
Exemplo Como avaliar um aquário?
14
Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?
15
O que vem a ser Avaliação de Desempenho?
Avaliar um sistema (computacional ou não) buscar uma métrica que indique quantidade ou qualidade, por exemplo, de um serviço prestado; Determinar a eficiência com a qual um sistema atinge seus objetivos
16
Avaliação de Desempenho
Avaliar um sistema (computacional ou não) Determinar a eficiência com a qual um sistema atinge as necessidades e expectativas de seus usuários e de seus desenvolvedores, para uma dada aplicação
17
Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?
18
Avaliação de Desempenho
Quando se preocupar com a avaliação de desempenho? Usuário reclamando Troca de sistema Comparação entre sistemas Avaliação de um projeto
19
Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?
20
Avaliação de Desempenho
Quem deve se preocupar com a avaliação de desempenho? cada domínio implica em um profissional exemplo: sistemas computacionais: analista de sistemas; gerente de sistemas; engenheiro de sistemas; projetista de hardware ou software; programador; etc.
21
Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?
22
Técnicas para Avaliação de Desempenho
Como medir o desempenho? Como escolher a técnica mais adequada? Deve deixar a análise isenta Não deve ser um fator degenerador Deve considerar o domínio da aplicação Intrusões em sistemas já estabelecidos nem sempre são bem-vindas
23
Técnicas para Avaliação de Desempenho
Técnicas de Aferição: Realizam experimentação no sistema Construção de Protótipos; Coleta de Dados; Benchmarks. Técnicas de Modelagem: Criam abstrações desse sistema Desenvolvimento de um Modelo Solução do Modelo
24
Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?
25
Planejamento de Experimentos
Variável de Resposta O que medir? Quero ter a informação mais fiel possível sobre o comportamento de um sistema Diversos enfoques: Responsividade – tempo que leva para executar um serviço Produtividade – taxa de execução de um serviço por unidade de tempo Utilização – recurso utilizado para a execução do serviço
26
Planejamento de Experimentos
Variável de Resposta O que medir? Velocidade Confiabilidade Disponibilidade Métricas individuais Métricas globais
27
Planejamento de Experimentos
Variável de Resposta O que medir? Média Variabilidade Distribuição Máximo e mínimo Desvio Padrão Intervalo de confiança
28
Medidas de Desempenho Categorias das medidas de despenho
Alto é melhor (High is Better - HB); Baixo é melhor (Low is Better - LB); Nominal é melhor (Nominal is Better - Nbi).
29
Medidas de Desempenho Tempo de resposta
intervalo entre o pedido do usuário e a resposta do sistema pedido e resposta instantâneos pedido e resposta realistas
30
Medidas de Desempenho tempo de resposta com pedido e resposta realistas geralmente o tempo de resposta cai na medida que a carga de trabalho diminui
31
Medidas de Desempenho Tempo de Resposta Visão do usuário
Medida individual ou global Velocidade de execução de uma tarefa em determinadas condições Influencia da carga de trabalho do sistema Engloba diversas fases: tempo de espera por um trabalho comprimento de uma fila por um recurso tempo de processamento Valores médios/máximos/mínimos/distribuições
32
Medidas de Desempenho Troughput
Taxa de pedidos que podem ser servidos pelo sistema (pedidos por unidade de tempo) Capacidade nominal Troughput geralmente aumenta até certo ponto, depois começa a cair Eficiência Medidas orientadas ao sistema
33
Avalia quão bem os vários elementos do sistema estão sendo utilizados
Medidas de Desempenho Utilização Fração de tempo em que o recurso está ocupado Relação entre o serviço útil executado e a carga máxima suportada pelo sistema (processador por exemplo) Avalia quão bem os vários elementos do sistema estão sendo utilizados Medidas orientadas ao sistema
34
Medidas de Desempenho Disponibilidade
fração de tempo em que o sistema está disponível pode ser utilizada como uma medida de desempenho, apesar de medir aspectos de confiabilidade; algumas medidas úteis: tempo de vida; intervalo de disponibilidade; MTTF (mean time to failure); MTTR (mean time to repair); MTBF (mean time between failures).
35
Produtividade do Sistema
Medidas de Desempenho Produtividade do Sistema Indica como o usuário pode submeter o seu trabalho; Indica o grau de facilidade oferecido pelo sistema; Aspectos de manutenção do sistema; Existe certa dificuldade para quantificar esse item.
36
Medidas de Desempenho Custo/Desempenho Confiabilidade melhor relação
tempo provável em que o sistema fica livre de erros
37
Medidas de Desempenho MIPS MFLOPS Milhões de Instruções por Segundo
Milhões de Instruções de Ponto Flutuante por Segundo 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
38
Medidas de Desempenho 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
39
Avaliação de Desempenho
Qual ou quais das medidas acima devem ser consideradas? Depende da aplicação (do tipo do sistema): Uso Geral tempo de resposta e utilização desempenho; disponibilidade confiabilidade. Alta Disponibilidade (bancos, res. aéreas, etc.) tempo de resposta, disponibilidade e produtividade desempenho.
40
Avaliação de Desempenho
Qual ou quais das medidas acima devem ser consideradas? Tolerantes a Falhas Disponibilidade e recuperação desempenho Tempo Real tempo de resposta e carga de trabalho desempenho. Orientados a Missão disponibilidade desempenho.
41
Avaliação de Desempenho
Qual ou quais das medidas acima devem ser consideradas? Cuidado
42
Avaliação de Desempenho
Aeronave Washington a Paris 6.5 horas 3 horas Velocidade 610 mph 1350 mph Boeing 747 BAD/Sud Concorde Fastest for 1 person? Which takes less time to transport 470 passengers?
43
Avaliação de Desempenho
Aeronave Boeing 747 BAD/Sud Concorde Velocidade 610 mph 1350 mph Washington a Paris 6.5 horas 3 horas Passageiros 470 132 Throughput (pmph) 286,700 178,200 Fastest for 1 person? Which takes less time to transport 470 passengers? Tempo para executar a tarefa tempo de resposta, latência Tarefas por dia, por hora, etc. Throughput, bandwidth
44
Avaliação de Desempenho
Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?
45
Avaliação de Desempenho
Como confiar nas métricas obtidas? Avaliação versus Análise Qual a diferença? Avaliar obter, produzir, levantar dados a respeito de uma entidade; exemplo: determinar o consumo de um automóvel usar alguma técnica para medir a distância percorrida e o volume de combustível consumido;
46
Avaliação de Desempenho
Avaliação versus Análise Qual a diferença? Analisar verificar a precisão, a validade, o significado da grandeza produzida durante a avaliação. exemplo: se a avaliação do automóvel levou a 20 Km/litro de gasolina, então a análise se preocupa em se certificar que: a metodologia utilizada foi correta; que os números levantados são suficientemente precisos; e, então, conclui se o desempenho avaliado é bom, ruim, etc.
47
Pontos Importantes para a Avaliação de Desempenho
Entendimento completo do sistema, dos problemas e dos objetivos da avaliação Abordagem sistemática Não devem ser considerados parâmetros, cargas, métricas, etc. arbitrários. Definição de uma carga de trabalho característica Definição da metodologia mais apropriada Definição do nível de detalhamento Análise dos resultados Considerar os limites, suposições e margem de erro
48
Avaliação de Desempenho
Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho
49
Etapas a serem consideradas na Avaliação de Desempenho
Planejamento do Experimento 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
50
Etapas a serem consideradas na Avaliação de Desempenho
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 As etapas apresentadas nem sempre são executadas linearmente como apresentado nesta lista
51
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 Técnica de Avaliação Análise dos Resultados
52
Avaliação de Desempenho
Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho
53
Planejamento de Experimentos
Deve ser utilizado em qualquer experimento É uma técnica muito importante para a indústria pois seu emprego permite resultados mais confiáveis economizando dinheiro e tempo Requer uma quantidade exaustiva de cálculos tornando fundamental o emprego de ferramentas
54
Planejamento de Experimentos
Técnicas utilizadas para se planejar experimentos e definir: quais dados em que quantidade em que condições os dados devem ser coletados durante um determinado experimento Obter a maior precisão estatística possível na resposta a um menor custo
55
Planejamento de Experimentos
Objetivos Obter o máximo de informação com um número mínimo de experimentos Separar os efeitos de vários fatores no resultado observado Determinar o quão significante é o efeito de um fator no resultado observado. Melhor qualidade dos resultados dos testes e um projeto com desempenho superior em termos de suas características funcionais e de sua robustez
56
Planejamento de Experimentos
Terminologia Variável de Resposta – Saída de um experimento Fatores – Variável que afeta as variáveis de resposta e que podem assumir diversas alternativas Níveis – Os valores que um determinado fator pode assumir Fatores Primários – Fatores que causam um grande impacto em uma variável de resposta e que devem ser considerados Fatores Secundários – Fatores cujo impacto na variável de resposta não é significante ou não se tem interesse em quantificar
57
Planejamento de Experimentos
Terminologia: Replicação – Repetição de todo ou de parte de um experimento Projeto - Determina o número de experimentos a serem considerados, incluindo o número de fatores e níveis, a combinação entre os níveis e o número de replicações para cada experimento Interação – Dois fatores interagem se o efeito de um depende do nível do outro
58
Planejamento de Experimentos
Manipula-se de forma planejada certas variáveis independentes (fatores), definindo-se os valores mais prováveis que essas variáveis podem assumir (níveis) para verificar o efeito que esta manipulação provoca na variável de resposta (variável dependente)
59
Planejamento de Experimentos Terminologia – Exemplo
Considere a avaliação do aquário Variáveis de Resposta (métricas): Tempo para a cerveja atingir a temperatura desejada Número de cervejas que atingem a temperatura desejada por hora
60
Planejamento de Experimentos
2. Definição dos Fatores primários e níveis Quatro fatores: Fator 1 – 3 níveis Fator 2 – 4 níveis Fator 3 – 3 níveis Fator 4 – 3 níveis Tamanho do aquário: 30X30X30 30X30X60 60X60X30 (em centímetros)
61
Planejamento de Experimentos
Quatro fatores: Fator 1 – 3 níveis Fator 2 – 4 níveis Fator 3 – 3 níveis Fator 4 – 3 níveis Quantidade de cervejas: 10 20 50 100
62
Planejamento de Experimentos
Quatro fatores Fator 1 – 3 níveis Fator 2 – 4 níveis Fator 3 – 3 níveis Fator 4 – 3 níveis Quantidade de gelo 1 Kg 2 Kg 5 Kg
63
Planejamento de Experimentos
Quatro fatores: Fator 1 – 3 níveis Fator 2 – 4 níveis Fator 3 – 3 níveis Fator 4 – 3 níveis Tamanho da cerveja: Lata – 350 ml Latão – 473 ml Super – 1000 ml
64
Planejamento de Experimentos
2. Definição dos Fatores Secundários Espessura do vidro – 5 mm Temperatura inicial da cerveja – 25 graus
65
Planejamento de Experimentos
Terminologia – Exemplo 3. Interação Fator A = Tamanho do aquário Fator B = Quantidade de gelo Fatores sem interação Fator A = Quantidade de gelo Fator B = Número de cervejas Fatores que interagem
66
Planejamento de Experimentos Terminologia – Exemplo
Considere a avaliação de um banco de dados Variáveis de Resposta (métricas): Tempo para recuperar uma informação Número de informações recuperadas por unidade de tempo Taxa de acerto ao cache
67
Planejamento de Experimentos
2. Definição dos Fatores primários e níveis Quatro fatores: Fator 1 – Tamanho do banco de dados Fator 2 – Quantidade de usuários Fator 3 – Quantidade de cache Fator 4 – Forma de armazenamento
68
Planejamento de Experimentos
2. Definição dos Fatores primários e níveis Fator 1 – Tamanho do banco de dados: 20 mil registros 1 milhão de registros 5 milhões de registros Fator 2 – Quantidade de usuários: 10 usuários 100 usuários 1000 usuários 10000 usuários
69
Planejamento de Experimentos
2. Definição dos Fatores primários e níveis Fator 3 – Quantidade de cache: 512K byte 1M byte 10 M byte Fator 4 – Forma de armazenamento: RAID – nível 10 com 5 discos RAID – nível 4 com 5 discos RAID – nível 5 com 5 discos
70
Planejamento de Experimentos
2. Definição dos Fatores Secundários Processamento Número de discos do RAID
71
Planejamento de Experimentos
Mais um ponto deve ser considerado.... O que vocês acham de um banco em dia de pagamento? Filas longas... Muita espera Desempenho ruim...
72
Planejamento de Experimentos
Mais um ponto deve ser considerado.... E o mesmo banco alguns dias antes do pagamento? Filas curtas... Rapidez.... Atenção... Desempenho ótimo... Mas o mesmo sistema pode ter desempenho ótimo/ruim? Mais um ponto deve ser considerado.... Carga de trabalho imposta ao sistema
73
Conteúdo – Parte II Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados
74
Planejamento de Experimentos
Filas cada vez maiores Três casos: Tempo para atender cada cliente – 5 minutos Tempo entre a chegada de um cliente e outro – 2 minutos Nenhuma fila Tempo para atender cada cliente – 6 minutos Tempo entre a chegada de um cliente e outro – 10 minutos ??? Tempo para atender cada cliente – 5 minutos (na média) Tempo entre a chegada de um cliente e outro – 4 minutos (na média)
75
Caracterização de Carga de Trabalho
Exemplo: Acesso a um disco com: Valor médio da taxa entre chegadas – 10 ms Valor médio do tempo de acesso ao disco – 8ms Simular de 0 a 100 m segundos – O que ocorre?
76
Caracterização de Carga de Trabalho
Considerar agora que estes valores apresentam uma “certa” distribuição, de forma que os valores gerados são: Tempo de chegada: 12, 6, 4, 15, 20, 3, 1, 17, 12, 10 Tempo de serviço: 8, 12, 4, 7, 9, 12, 3, 1, 16, 8 (Tempo em m segundos) Simular de 0 a 100 m segundos - Qual a diferença observada?
77
Caracterização de Carga de Trabalho
Conclusão: Na avaliação de desempenho de um sistema é muito importante considerar a carga de trabalho real do sistema
78
Procedimento para determinar Carga de Trabalho
I. Determinar que tipo de caracteristica é importante ser representada Depende do objetivo da avaliação Exemplo: Um Sistema Computacional pode ser subdividido em 4 camadas que executam as seguintes operações:
79
Depende da camada a ser analisada
Procedimento para determinar Carga de Trabalho Camada de aplicação que recebe as transações e envia comandos para o SO Sistema Operacional que recebe os comandos e serviços e envia instruções para a CPU CPU que divide as instruções em instruções aritméticas e lógicas e as envia para a ULA ULA – executa instrução Qual tipo de carga de trabalho deve ser considerada? Depende da camada a ser analisada
80
Procedimento para determinar Carga de Trabalho
Camada de aplicação que recebe as transações e envia comandos para o SO Freqüência dos diferentes tipos de transações efetuadas Sistema Operacional que recebe os comandos e serviços e envia instruções para a CPU Conjunto de comandos e serviços oferecidos pelo SO 3. CPU que divide as instruções em instruções aritméticas e lógicas e as envia para a ULA Conjunto de Instruções 4. ULA – executa instrução Freqüência e tipo das instruções aritméticas
81
Caracterização de Carga de Trabalho e do Tempo de Serviço
II. Nível de detalhe a ser considerado Várias possibilidades: a – Utilizar as requisições mais freqüentes b – Considerar os vários tipos de requisições e suas freqüências c – Trace: Seqüência de requisições com timestamp d – Utilizar valores médios e – Utilizar distribuições de probabilidade
82
Caracterização de Carga de Trabalho e do Tempo de Serviço
III. Verificar a representatividade da carga de trabalho Três Aspectos importantes: a – Taxa de chegada b – Demanda por recurso c – Seqüência e demanda por diferentes recursos IV. Atualização da carga de trabalho
83
Tipos Básicos de Carga de Trabalho
Precisamos agora de uma forma para representar a carga de trabalho. Basicamente, duas formas: Carga de trabalho Real Carga de trabalho Sintética
84
Tipos Básicos de Carga de Trabalho
Real – Observada no sistema real em operação normal. Vantagem: Precisão Desvantagens: Não pode ser repetida com facilidade Arquivos de Trace -> arquivos muito grandes
85
Tipos Básicos de Carga de Trabalho
Sintética – Carga com características similares às reais Vantagens: Pode ser repetida de forma controlada Não necessita de arquivos com dados reais Carga pode ser facilmente modificada Pode ser transportada para diferentes sistemas Problema: Determinar a distribuição mais apropriada para o sistema em avaliação.
86
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 Técnica de Avaliação Análise dos Resultados
87
Conteúdo – Parte II Planejamento de Experimentos
Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento Técnicas para Avaliação de Desempenho Análise de Resultados
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.