Post on 16-Apr-2015
Avaliação de Desempenho Planejamento de Experimentos
Aula 2
Marcos José Santana
Regina Helena Carlucci Santana
Universidade de São PauloInstituto de Ciências Matemáticas e de Computação
Departamento de Sistemas de Computação
Avaliação de Desempenho1. Introdução
– Motivação– Introdução à Avaliação de Desempenho– Etapas de um Experimento
2. Planejamento de Experimentos
• Conceitos BásicosConceitos Básicos• Variável de Resposta• Carga de trabalho• Modelos para Planejamento de Experimento
3. Análise de Resultados 4. Técnicas para Avaliação de Desempenho
• 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
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
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
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
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
Planejamento de Experimentos
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)
Terminologia – Exemplo
Empresa de telefonia celular - Sistema pré pago
Objetivo: determinar a influência de uma expansão no serviço prestado, mantendo sistema já utilizado
Planejamento de Experimentos
•Tempo para recuperar uma informação
•Número de informações recuperadas por unidade de tempo
•Taxa de acerto ao cache
1. Variáveis de Resposta (métricas):
Quatro fatores:
Fator 1 – Tamanho do banco de dados
Fator 2 – Quantidade de acessos
Fator 3 – Quantidade de cache
Fator 4 – Forma de armazenamento
Planejamento de Experimentos
2. Definição dos Fatores primários e níveis
Fator 1 – Tamanho do banco de dados:
•500 mil registros
•1 milhão de registros
•2 milhões de registros
Fator 2 – Quantidade de acessos:
•10 mil acessos/dia
•20 mil acessos/dia
•40 mil acessos/dia
Planejamento de Experimentos
2. Definição dos Fatores primários e níveis
Carga de TrabalhoCarga de Trabalho
Fator 3 – Quantidade de cache:
•1M byte
•10M byte
•20M byte
Fator 4 – Número de discos:
•5 discos
•10 discos
•15 discos
Planejamento de Experimentos
2. Definição dos Fatores primários e níveis
• Processamento
• Velocidade do disco – 10K RPM
Planejamento de Experimentos
2. Definição dos Fatores Secundários
Avaliação de Desempenho1. Introdução
– Motivação– Introdução à Avaliação de Desempenho– Etapas de um Experimento
2. Planejamento de Experimentos
• Conceitos Básicos
• Variável de RespostaVariável de Resposta• Carga de trabalho• Modelos para Planejamento de Experimento
3. Análise de Resultados 4. Técnicas para Avaliação de Desempenho
Variável de Resposta
O que medir?
Planejamento de Experimentos
Informação que represente o comportamento do sistema sendo avaliado
Enfoque considerado
Variável de Resposta - Requisitos
Planejamento de Experimentos
Evitar grande número de repetiçõesEscolher variáveis com baixa variabilidade
Evitar redundânciaEliminar variáveis que não
acrescentam
Evitar falta de informaçãoConsiderar as variáveis necessárias
Variável de Resposta
Planejamento de Experimentos
Medida Global x Medida IndividualMedida Global x Medida Individual
Individual
Relativa a cada usuário
Tempo de resposta
Vazão
Individual
Relativa a cada usuário
Tempo de resposta
Vazão
Global
Relativa ao sistema
Utilização de um recurso
Confiabilidade
Disponibilidade
Tempo de resposta
Vazão
Global
Relativa ao sistema
Utilização de um recurso
Confiabilidade
Disponibilidade
Tempo de resposta
Vazão
Visão do usuário x
Visão do sistema
Medidas de Desempenho
Tempo de resposta– intervalo entre o pedido do usuário e
a resposta do sistema• pedido e resposta instantâneos
Usuário inicia solicitação
Usuário recebe
resposta
Tempo de Resposta Tempo
Medidas de Desempenho
• tempo de resposta com pedido e resposta realistas
Usuário inicia solicitação
Usuário finaliza
solicitação
Sistema recebe
solicitação
Sistema inicia
execuçãoSistema finaliza
execução e encaminha resposta
Usuário recebe
resposta
2
1
4
Tempo5
3
Medidas de DesempenhoTempo de Resposta
Visão do usuário Medida individual ou global Velocidade de execução de uma tarefa em
determinadas condições Influência 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
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ênciaMedidas orientadas ao
sistema
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
Medidas de DesempenhoDisponibilidade
• fração de tempo em que o sistema está disponível
pode ser utilizada como uma medida de desempenho em termos 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).
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.
Medidas de Desempenho
Custo/Desempenho– melhor relação
Confiabilidade– tempo provável em que o sistema fica livre de
erros
Medidas de Desempenho
- 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
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
Avaliação de DesempenhoQual ou quais medidas devem ser consideradas?
Depende da aplicação, do tipo do sistema, do objetivo, etc.
Exemplo 1: sistemas computacional de uso geral tempo de resposta disponibilidade
Exemplo 2: Sistema Computacional de um Banco segurança
Avaliação de DesempenhoQual ou quais medidas devem ser consideradas?
Depende da aplicação, do tipo do sistema, do objetivo, etc.
Exemplo 3: Site Comercio Eletrônico
Exemplo 4: Sistema Tolerante a Falhas
Exemplo 5: Sistema Tempo Real
O que vocês acham de um banco em dia de pagamento?
Planejamento de Experimentos
Mais um ponto deve ser considerado....
Filas longas... Muita espera
Desempenho ruim...
E o mesmo banco alguns dias antes do pagamento?
Planejamento de ExperimentosMais um ponto deve ser considerado....
Filas curtas... Rapidez.... Atenção...
Desempenho ótimo...
Mas o mesmo sistema pode ter desempenho ótimo/ruim?
Planejamento de Experimentos
Desempenho de um sistema:
• Ruim em qualquer situação
• Bom quando não sobrecarregado
• Bom em qualquer situação
Mais um ponto deve ser considerado....
Carga de trabalho imposta ao sistema
Avaliação de Desempenho1. Introdução
– Motivação– Introdução à Avaliação de Desempenho– Etapas de um Experimento
2. Planejamento de Experimentos
• Conceitos Básicos• Variável de Resposta
• Carga de trabalhoCarga de trabalho• Modelos para Planejamento de Experimento
3. Análise de Resultados 4. Técnicas para Avaliação de Desempenho
Carga de Trabalho
“Conjunto de todas as informações de entrada que um sistema recebe durante qualquer período de tempo
determinado” [MENASCÉ, ALMEIDA, 2003]
Muito importante no planejamento de capacidade e na avaliação de sistemas
Procedimento para determinar
Carga de Trabalho
I. Determinar que tipo de caracteristica é importante ser representada
Depende do objetivo da avaliação
Exemplo: Qual a carga que devemos considerar para avaliar um sistema computacional?
Um Sistema Computacional pode ser subdividido em 4 camadas que executam as seguintes operações:
1.Camada de aplicação que recebe as transações e envia comandos para o SO
2.Sistema Operacional que recebe os comandos e serviços e envia instruções para a CPU
3.Unidade de Controle decodifica as instruções e envia sinais de controle
4.ULA – executa instrução
Qual tipo de carga de trabalho deve ser considerada?
Carga de Trabalho
Carga de TrabalhoDepende da camada a ser analisada
1. Camada de aplicação que recebe as transações e envia comandos para o SO Freqüência dos diferentes tipos de transações efetuadas
2. Sistema Operacional que recebe os comandos e serviços e envia instruções para a CPUChamadas ao sistema oferecidas pelo SO
3. Unidade de Controle decodifica as instruções e envia sinais de controleConjunto de Instruções
4. ULA – executa instruçãoFreqüência e tipo das instruções lógicas e aritméticas
Caracterização de Carga de Trabalho e do Tempo de Serviço
II. Nível de detalhe a ser consideradoVá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
Caracterização de Carga de Trabalho e do Tempo de ServiçoIII. Verificar a representatividade da carga
de trabalhoTrê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
Tipos Básicos de Carga de Trabalho
Precisamos agora de uma forma para representar a carga de trabalho.
Basicamente, duas formas:
1. Carga de trabalho Real
2. Carga de trabalho Sintética
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
Tipos Básicos de Carga de TrabalhoSinté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.
Avaliação de Desempenho1. Introdução
– Motivação– Introdução à Avaliação de Desempenho– Etapas de um Experimento
2. Planejamento de Experimentos
• Conceitos Básicos• Variável de Resposta• Carga de trabalho
• Modelos para Planejamento de Modelos para Planejamento de ExperimentoExperimento
3. Análise de Resultados 4. Técnicas para Avaliação de Desempenho
Tipos de Planejamento de Experimentos
• Planejamento Simples
• Planejamento Fatorial completo
• Planejamento Fatorial parcial
A
B
Projeto 32
-1 0 1-1
0
1
2 Fatores3 níveis
Tipos de Planejamento de Experimentos
Planejamento Simples
– Iniciar com uma configuração inicial– Fixar todos os fatores e variar um fator
por vez– Verificar que fator afeta o desempenho
– Fácil de ser implementado – Não permite verificar a relação entre os
fatores– Estatisticamente não eficiente
A
B
Projeto 32
-1 0 1-1
0
1
2 Fatores3 níveis
Tipos de Planejamento de Experimentos
Planejamento Simples
A
B
C
Projeto 33
3 Fatores 3 Níveis
Tipos de Planejamento de Experimentos
Planejamento Simples
– Para um experimento com K fatores e ni níveis no fator i, tem-se:
K
iinn
1
)1(1
Fator 1 – Tamanho do banco de dados – 3 níveis: 500 mil, 1 milhão 2 milhões de registros
Fator 2 – Quantidade de acessos – 3 níveis: 10 mil, 20 mil e 40 mil acessos/dia
Fator 3 – Quantidade de cache – 3 níveis:1M bytes, 10M bytes e 20M bytes
Fator 4 – Número de discos – 3 níveis: 5, 10 e 15 discos
Planejamento de ExperimentosExemplo Sistema de Telefonia – 4 fatores
n= 1+(3-1)+(3-1)+(3-1)+(3-1) = 9
Tipos de Planejamento de Experimentos
Planejamento Simples
– Não recomendado
– Muito utilizado
Tipos de Planejamento de Experimentos
Planejamento Totalmente Fatorial
– Utiliza todas as combinações considerando todos os fatores e todos os níveis
Projeto 32A
B
-1 0 1-1
0
1
2 Fatores3 Níveis
A
B
C
Projeto 33
3 Fatores 3 Níveis
Tipos de Planejamento de Experimentos
Planejamento Totalmente Fatorial
– Para um experimento com K fatores e ni níveis no fator i, tem-se:
– Para o exemplo sistema de telefonia tem-se: n = 3 (tamanho BD)*3(quantidade de
acessos)*3(cache)*3(no. discos)
n= 81experimentos
K
iinn
1
Tipos de Planejamento de Experimentos
Planejamento Totalmente Fatorial
Vantagens• Todos os fatores são avaliados• Pode-se determinar o efeito de qualquer fator• Interações entre fatores podem ser verificadas
Desvantagens• Grande número de experimentos • Alto custo para avaliação
Planejamento Totalmente FatorialFormas para minimizar custos
1. Reduzir o número de níveis de cada fator• Altamente recomendada• Selecionar dois níveis para cada fator a ser
analisado – número de experimentos reduzido para 2k
• Analisar os resultados e selecionar os fatores primários
• Analisar os fatores primários para um número maior de níveis
Planejamento Totalmente Fatorial
Formas para minimizar custos
2. Reduzir o número de fatores
• Deve ser implementada com cuidado. Por exemplo, utilizando forma 1.
• Se não for utilizada uma metodologia adequada podem estar sendo desconsiderados fatores com grande influência para as variáveis de resposta
Planejamento Totalmente FatorialFormas para minimizar custos
3. Utilização do método do Fatorial Parcial
• Parte dos experimentos são excluídos• Podem ser eliminadas comparações em
que se sabe, a interação não existe ou é insignificante
A
B
C
A
B
-1 0 1-1
0
1
Planejamento Totalmente FatorialFormas para minimizar custos
3. Utilização do método do Fatorial Parcial
• Por exemplo, no sistema de telefonia tem-se 81 experimentos.
• Verificar relacionamento entre os fatores:Fator 1 – Tamanho do banco de dados
Fator 2 – Quantidade de acessos
Fator 3 – Quantidade de cache
Fator 4 – Número de discos
• Mais rápido• Obtém-se menos informações
Método Fatorial• Pelo método fatorial pode-se ter k fatores com
ni níveis para cada fator i
• Para valores elevados de K e ni o custo da avaliação pode tornar-se inviável, principalmente lembrando-se que diversas execuções de cada experimento devem ser consideradas.
• Forma recomendada: Iniciar com poucos fatores e 2 níveis por fator.
Método Fatorial• Selecionar poucos fatores e 2 níveis por fator.
A
BC
A
B
C
A
BC
D
AA
BB CC
E
A
B
Método Fatorial• Selecionar poucos fatores e 2 níveis por fator.
Método Fatorial• Problema em se restringir a 2 níveis por fator.
– Variáveis de Resposta que não são crescentes ou decrescentes
– Pode não ser possível avaliar ponto de saturação
Método Fatorial• Em Avaliação de Sistemas Computacionais
– Funções crescentes ou decrescentes– Avaliar fora da saturação
• Considerar 2 níveis
Próxima Aula:Como analisar resultados
com dois níveis