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 Análise de Resultados Marcos José Santana Regina Helena Carlucci Santana
Conteúdo Planejamento de Experimentos Técnicas para Avaliação de Desempenho 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
Estatística Descritiva Introdução Estatística Descritiva H X 2 Coleta de Dados Organização dos Dados Caracterização dos Dados Massa de Dados Dados agrupados Parâmetros Típicos
Introdução Inferência Estatística A partir de amostras -> conclusões sobre a população Erro amostral – elementos atípicos que não representam a amostra -> diferença entre amostra e população Amostra viciada – tendência maior em selecionar algum tipo de elemento
Análise de Resultados - Introdução Amostragem População Amostra Análise Descritiva Conclusões sobre a população Dados Organizados Inferência
Introdução Inferência Estatística Erro amostral - cálculo aproximado N – tamanho da população E0 – Erro amostral tolerável n – tamanho da amostra
Introdução Inferência Estatística Erro amostral - cálculo aproximado Pesquisas eleitorais Esse comportamento explica a razão da amostra para eleição de prefeito de uma grande cidade ser praticamente igual a de eleição para presidente N – tamanho da população E0 – Erro amostral tolerável n – tamanho da amostra
Análise de Resultados Universo: Eleitorado brasileiro - 135.804.433 eleitores Tamanho da amostra: 10.820 entrevistas A margem de erro é de dois pontos percentuais para mais ou para menos. Intervalo de Confiança- 95% Universo: Cidade de São Paulo - 7.593.144 eleitores Tamanho da amostra = 1.089 entrevistas A margem de erro é de três pontos percentuais para mais ou para menos. Intervalo de Confiança- 95%
Análise de Resultados A margem de erro é de três pontos percentuais para mais ou para menos. Intervalo de Confiança- 95%
Análise de Resultados A margem de erro é de dois pontos percentuais para mais ou para menos. Intervalo de Confiança- 95%
Análise de Resultados Segundo Sir Conan Doyle, criador do personagem Sherlock Holmes: "Enquanto um homem individualmente é um quebra-cabeças insolúvel, no conjunto, ele se torna uma certeza matemática. Você nunca pode prever o que um homem fará, mas pode dizer com precisão o que, em média, um número deles fará. Individualmente eles variam, mas em média se mantêm constantes."
Procedimento errado normalmente utilizado para uma avaliação Análise de Resultados Procedimento errado normalmente utilizado para uma avaliação Desenvolvimento de um procedimento para avaliação Validação e verificação do sistema de avaliação Obtenção dos resultados através de uma execução da forma de avaliação escolhida Conclusões sobre o sistema em estudo Equivalente a se considerar uma amostra unitária
Por que esse Procedimento está errado? Análise de Resultados Por que esse Procedimento está errado? Aferição Tem-se controle de todo o sistema? Como são controladas as entradas do sistema? Quais as condições iniciais do sistema? O que mais o sistema está processando no momento da avaliação? Como controlar as interrupções? Diferentes características a serem consideradas, p.ex. onde estão localizadas as informações no disco? Sistema a ser Avaliado entradas saídas Resultados
Análise de Resultados Por que esse Procedimento está errado? Tempo para Execução de um processo em um Sistema Operacional Tarefa programada pode ser ativada durante a execução? Interrupção do clock. Variável necessária está no cache? Na primeira vez que o processo executa pode não estar. Quais as condições iniciais do sistema? Que outros processos estão executando?
Resultados Estocásticos Análise de Resultados Modelagem Representadas por entradas Variáveis aleatórias Modelo Resultados Estocásticos saídas Execução da simulação Sistema a ser Avaliado Estimativa das
Análise de Resultados Portanto, Em uma aferição, a medida obtida é uma dentre um conjunto de possibilidades Em uma Simulação Estocástica, tem-se uma variabilidade inerente ao processo estocástico da simulação
Análise de Resultados Portanto... Deve-se utilizar os resultados que a estatística nos oferece para analisar os resultados dos experimentos.
Análise de Resultados Amostragem População Análise Descritiva Conjunto de Resultados Possíveis (infinito) Conjunto de Medições Realizadas Amostragem População Amostra Cálculo de médias, máximos, mínimos,intervalo de confiança, erro... Análise Descritiva Conclusões sobre o Sistema Real Conclusões sobre a população Dados Organizados Inferência
“Como mentir com Estatística” Análise de Resultados Cuidado... “Como mentir com Estatística” livro célebre de Huff, 1954. Na verdade, nem sequer é preciso mentir, apenas mostrar a informação conveniente e omitir as outras Ricupero
Análise de Resultados Os números são lindos!!!! Cuidado... Os números são lindos!!!! Mas são também traiçoeiros.... Primeiro ponto a ser considerado Que métricas estão sendo utilizadas? O que representam os valores obtidos?
Conteúdo 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 3. Técnicas para Avaliação de Desempenho
Medidas de Desempenho Freqüentemente Utilizadas Medidas de Posição Média Moda Mediana Medidas de Dispersão Desvio Padrão Variância Percentis Box-Plot
Medidas de Posição Média Moda Mediana média aritmética dos valores valores extremos “puxam” a média Moda valor que ocorre mais vezes Mediana divide o conjunto em duas partes iguais num conjunto ordenado a mediana esta no centro Não é influenciada por valores extremos
Medidas de Posição Média X Mediana
Medidas de Posição Exemplo: Medidas relacionadas a utilização da CPU de um Servidor
Medidas de Dispersão Medidas de Dispersão Variância Desvio Padrão Análise de percentis Box-Plot
Medidas de Posição/Dispersão Exemplo: Medidas relacionadas a utilização da CPU de um Servidor
Medidas de Dispersão Percentis – dividem os dados em cem partes de tamanhos iguais Quartis: dividem em quatro grupos, delimitados pelos percentis 25, 50 e 75 1º Quartil Q1 ou Q0.25 - valor a que corresponde a percentagem cumulativa de 25% 3º Quartil Q3 ou Q0.75 - valor a que corresponde a percentagem cumulativa de 75%
Medidas de Posição/Dispersão Exemplo: Medidas relacionadas a utilização da CPU de um Servidor
Medidas de Dispersão Box Plot Mostra a mediana, primeiro e terceiro quartis de uma distribuição (pontos 50%, 25% e 75% na distribuição acumulada) Noção de outlier: observação que se encontra a mais de um dado múltiplo (1.5 ou 3.0) do intervalo inter-quartílico, acima ou abaixo dos percentis 75% e 25%, respectivamente
Medidas de Dispersão * o Mediana I D o D – Distância entre Quartis Outliers – valores extremos da população. Moderados (1ª espécie)(o) [Q3+1.5(Q3-Q1) ; Q3+3(Q3-Q1)] e [Q1-1.5(Q3-Q1) ; Q1-3(Q3-Q1)] Severos (2ª espécie)(*) [Q3+3(Q3-Q1) ; máximo] e [mínimo ; Q1-3(Q3-Q1)] Q3 ou Q0.75 Mediana I D Q1 ou Q0.25 o D – Distância entre Quartis I – Intervalo das Amostras sem Outliers *
Medidas de Posição/Dispersão Exemplo: Medidas relacionadas a utilização da CPU de um Servidor
Medidas de Dispersão Valores extremos Outliers Dados díspares, muito grandes ou muito pequenos, em relação aos demais, Influenciam muito as médias Podem distorcer conclusões É fundamental sua detecção e tratamento. Possíveis causas de valores espúrios: Erro na fase de mensuração (tomada da medida) Erro na transcrição ou anotação do registro Mudanças (reais) não-controláveis nas condições experimentais. Característica da variável (ex.:instabilidade)
Medidas de Dispersão Tratamento de Outliers Muita controvérsia... Não existe um critério ou metodologia para rejeição de dados Problema maior quando tem-se pequena quantidade de dados ou uma distribuição normal não pode ser garantida.
Medidas de Dispersão Analisando Observações Atípicas (Exemplos) Exemplo 1 – amostra sendo obtida em um sistema durante o mês de abril de 2a. a 6a. das 9 as 17; 21/04 – 6a.feira – feriado - deve ser desprezado Exemplo 2- Requisições de um servidor Web Exemplo 3 –Sistema Distribuído ambiente de desenvolvimento de software – distribuição bimodal Exemplo 4 –Acessos a um servidor Web ao longo de um dia
Apenas o especialista na área pode responder..... Medidas de Dispersão Podem-se desprezar dados atípicos? Apenas o especialista na área pode responder.....
Conteúdo 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 3. Técnicas para Avaliação de Desempenho
Análise de Resultados Considera-se que alguma técnica para avaliação de desempenho e obtenção dos resultados tenha sido utilizada
Análise de Resultados Em qualquer experimentação, três problemas a serem considerados: Condições iniciais da experimentação Quando parar uma experimentação Resultado de uma execução oferece um resultado dentre muitos outros possíveis
Análise de Resultados Primeiro problema: Qual as condições iniciais que deve-se ter para iniciar uma avaliação? Três condições possíveis: Início no estado vazio; Início no estado de maior probabilidade de ocorrência; Início na média do estado de equilíbrio
Análise de Resultados Início no estado vazio Simples Todos os servidores desocupados -> filas vazias Importante para a análise do transitório mas não do comportamento estacionário Ex.: Banco Comportamento normal x inicial Solução: Valores iniciais Truncamento Experimentação muito grande
Análise de Resultados Início no estado de maior probabilidade de ocorrência; Vantagem: Começar em um estado representativo do sistema Desvantagem: Como determinar o estado mais provável? Como levar o sistema até esse estado?
Análise de Resultados Início na média do estado de equilíbrio Começar a coleta para estatísticas quando os resultados se estabilizam Truncamento de dados Período de aquecimento – warm-up Retardar a coleta de estatísticas por um período de aquecimento Problema: quando truncar? 10% do valor total (??)
Segundo problema: Quando parar a Avaliação? Análise de Resultados Segundo problema: Quando parar a Avaliação? Algumas possibilidades: Limitar tempo de experimentação Limitar o número de elementos que entram no sistema avaliado Limitar o número de entidades processadas por um servidor Parada automática
Análise de Resultados Limitar tempo de experimentação Desvantagem: número de amostras coletadas será diferente em cada caso Limitar o número de elementos que entram no sistema Termina em estado vazio e ocioso Problema inicial
Análise de Resultados Limitar o número de entidades processadas por um servidor Problema: sistemas com prioridades Ex.: termina só com tarefas longas na fila – pode camuflar os resultados Parada automática Manipulam resultados da experimentação em intervalos selecionados Calculam média e variância Experimentação pára quando a estimativa da variância da média está dentro de certa tolerância
Primeiro e Segundo problemas: Análise de Resultados Primeiro e Segundo problemas: Relacionados com a condução do experimento Dependem muito da técnica de avaliação que está sendo utilizada Depende bastante do sistema que deve ser avaliado Serão melhor discutidos em cada técnica de avaliação e/ou aplicação considerada
Análise de Resultados Terceiro problema: Durante a obtenção de dados sobre sistemas computacionais, tem-se que... Os Resultados de uma medição oferecem um resultado dentre muitos outros possíveis
Análise de Resultados Terceiro problema: Deve ser utilizado em qualquer experimento que gere um conjunto de resultados possíveis Após a obtenção dos resultados estes devem ser analisados independente da técnica utilizada Qual resultado deve ser considerado? Como comparar dois conjuntos de resultados?
Como analisar os diferentes resultados de uma avaliação? Análise de Resultados Como analisar os diferentes resultados de uma avaliação? Primeiro objetivo da análise estatística dos resultados é estimar o erro ou intervalo de confiança Deve-se considerar diversos resultados provenientes de diferentes execuções Para simulação: utilizar conjuntos de números aleatórios sem correlação – diferentes sementes Para aferição: considerar diversas medidas
Análise de Resultados - Exemplo Utilização da CPU Semente 1 0.33123 Semente 2 0.32571 Semente 3 0.32510 Semente 4 0.31999 Semente 5 0.33813 DISCO1 CPU DISCO2 Como analisar estes resultados? Perigo utilizar resultados de uma única simulação
Análise de Resultados Utilização de Intervalos de confiança A partir de um conjunto de resultados possíveis queremos estimar o comportamento de um sistema Podemos utilizar: Valores fixos Intervalos Valores fixos não permitem estimar o erro cometido Intervalos de confiança permitem avaliar a confiança no resultado