Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências...

48
Diretrizes para Diretrizes para Desenvolvimento do Desenvolvimento do Projeto Projeto 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 Sarita Mazzini Bruschi SSC 5723 Sistemas Operacionais

Transcript of Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências...

Page 1: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Diretrizes para Diretrizes para Desenvolvimento do ProjetoDesenvolvimento do Projeto

Universidade de São PauloInstituto de Ciências Matemáticas e de Computação

Departamento de Sistemas de Computação

Marcos José SantanaRegina Helena Carlucci Santana

Sarita Mazzini Bruschi

SSC 5723 Sistemas Operacionais

Page 2: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Roteiro da Aula

1. Diretrizes para o Desenvolvimento do Projeto - 60 minutos

2. Apresentação do cronograma – 10 minutos

3. Análise dos exemplos de projetos desenvolvidos – 20 minutos

4. Apresentação dos exemplos – 5 minutos por grupo – 40 minutos

5. Discussão dos projetos a serem desenvolvidos – 30 minutos

Page 3: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Desenvolvimento de um Projeto

Objetivo:

Desenvolver um projeto que envolva a avaliação de um sistema operacional ou de alguma característica de um sistema operacional por meio de um experimento

O experimento deverá considerar diferentes possibilidades que serão comparadas

O experimento deve conter uma coleta dados que deverão ser adequadamente analisados

Deverá ser realizado um planejamento do experimento

Page 4: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Conteúdo

1. Planejamento de Experimentos

2. Técnicas para Avaliação de Desempenho

3. Análise de Resultados

Page 5: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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 modelo adequado

8.  Determinar a carga de trabalho característica

 9.  Realizar a avaliação e obter os resultados

10.  Analisar e interpretar os resultados

11. Apresentar os resultados

Planejamento de

Experimento

Análise dos

Resultados

Técnica de Avaliação

Page 6: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Conteúdo

Planejamento de Experimentos Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento

Técnicas para Avaliação de Desempenho

Análise de Resultados

Page 7: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Planejamento de Experimento

Planejamento de Experimentos designa toda uma área de estudos da Estatística que desenvolve técnicas de planejamento e análise de experimentos.

Existe um grande número de técnicas, com vários níveis de sofisticação e uma grande quantidade de ferramentas visando oferecer as condições necessárias para o planejamento de experimentos.

Essas técnicas cobrem todas as possibilidades, diversos fatores, diferentes quantidades de níveis , tratamento de replicações, etc.

Importância dentro de Avaliação de Desempenho – saber como utilizar as técnicas/ferramentas e saber analisar os resultados

Page 8: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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.

Planejamento de Experimentos

Page 9: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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

• Replicação – Repetição de todo ou de parte de um experimento

• Projeto - Determina o número o número de fatores, níveis e as combinações entre os níveis que serão considerados.

• Interação – Dois fatores interagem se o efeito de um depende do nível do outro

Planejamento de Experimentos

Page 10: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Variável de Resposta

O que medir?

ter informação o mais fiel possível sobre o comportamento de um sistema

O que quero verificar?

Planejamento de Experimentos

Page 11: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Terminologia – Exemplo

Considere a avaliação de um banco de dados

1. Variáveis de Resposta (métricas):

Planejamento de Experimentos

•Tempo para recuperar uma informação

•Número de informações recuperadas por unidade de tempo

•Taxa de acerto ao cache

Page 12: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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

Planejamento de Experimentos

2. Definição dos Fatores e níveis

Page 13: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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

Planejamento de Experimentos

2. Definição dos Fatores primários e níveis

Page 14: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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

Planejamento de Experimentos2. Definição dos Fatores primários e níveis

Page 15: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Conteúdo

Planejamento de Experimentos

Conceitos Básicos

Carga de trabalho Modelos para Planejamento de Experimento

Técnicas para Avaliação de Desempenho

Análise de Resultados

Page 16: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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

Page 17: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Carga de Trabalho1. Determinar que tipo de caracteristica é

importante ser representada• Depende do objetivo da avaliação

2. Nível de detalhe a ser considerado • Utilizar as requisições mais freqüentes• Considerar os vários tipos de requisições e suas freqüências

• Trace

3. Verificar a representatividade da carga de trabalho

• Taxa de chegada• Demanda por recurso• Seqüência e demanda por diferentes recursos

4. Atualização da carga de trabalho

Page 18: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Conteúdo

Planejamento de Experimentos

Conceitos Básicos Carga de trabalho

Modelos para Planejamento de Experimento

Técnicas para Avaliação de Desempenho

Análise de Resultados

Page 19: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Planejamento Simples

Planejamento Fatorial completo

Planejamento Fatorial parcial

Modelos para Planejamento de Experimentos

Page 20: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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

Modelos para Planejamento de Experimentos

Page 21: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Planejamento Simples

Para um experimento com K fatores e ni níveis no fator i, tem-se:

K

iinn

1

)1(1

Modelos para Planejamento de Experimentos

Page 22: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Planejamento Simples

Não recomendado

Muito utilizado

Modelos para Planejamento de Experimentos

Page 23: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Planejamento Totalmente Fatorial

Utiliza todas as combinações considerando todos os fatores e todos os níveis

Para um experimento com K fatores e ni níveis no fator i, tem-se:

K

iinn

1

Modelos para Planejamento de Experimentos

Page 24: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

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

Modelos para Planejamento de Experimentos

Page 25: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Formas para minimizar custosReduzir o número de níveis de cada fator Altamente recomendada

Reduzir o número de fatores Deve ser implementada com cuidado.

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 Mais rápido Obtém-se menos informações

Modelos para Planejamento de Experimentos

Page 26: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Erros Comuns em Experimentos

Uso de apenas um fator por vez – essa opção simplifica a experimentação mas não permite verificar interações

Execução de muitos experimentos – em um primeiro passo poucos fatores/níveis devem ser considerados. Com as conclusões iniciais, pode-se considerar outros fatores/níveis

Page 27: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Conteúdo

Planejamento de Experimentos Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento

Técnicas para Avaliação de Desempenho

Análise de Resultados

Page 28: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computaçã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

Page 29: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Técnicas de Avaliação de Desempenho

Modelo SoluçãoMétodos Analíticos

Simulação

Sistema

Protótipos

Benchmarcks

Coleta de Dados

Aferição

Rede de Filas

Redes de Petri

Statecharts

Modelagem

Simulação

Analítica

Modelagem

Page 30: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Conteúdo

Planejamento de Experimentos Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento

Técnicas para Avaliação de Desempenho

Análise de Resultados

Page 31: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Análise de Resultados - Introdução

População

População

Amostragem

Amostra

Amostra

Dados Organizados

Dados Organizados

Conclusões sobre a

população

Conclusões sobre a

populaçãoInferência

Análise Descritiva

Page 32: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Análise de Resultados

População

População

Amostragem

Amostra

Amostra

Dados Organizados

Dados Organizados

Conclusões sobre a

população

Conclusões sobre a

populaçãoInferência

Análise Descritiva

Conjunto de Resultados

Possíveis (infinito)

Conjunto de Medições

Realizadas

Cálculo de médias, máximos,

mínimos,intervalo de confiança, erro...

Conclusões sobre o Sistema Real

Page 33: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Análise de Resultados

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

Qual resultado deve ser considerado?Qual resultado deve ser considerado?Como comparar dois conjuntos de resultados?Como comparar dois conjuntos de resultados?

Page 34: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Análise de Resultados

Como analisar os diferentes Como analisar os diferentes resultados de uma avaliação?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

Page 35: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Análise de Resultados

O que é o Intervalo de confiança?O que é o Intervalo de confiança?  

Intervalo que com uma determinada Intervalo que com uma determinada probabilidade (confiança) contem o valor do probabilidade (confiança) contem o valor do

parâmetro estudadoparâmetro estudado

N

ii nyys

1

22 1)/()(

1-

/2 /2

Intervalo de Confiança

Y Y+H Y-H

Confiança = 100*(1- )% = probabilidade de erroY = média da amostraH = Largura do Intervalo de

Confiança

Page 36: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Análise de ResultadosO que significa O que significa Intervalo de confiançaIntervalo de confiança??

 

Se Confiança = 95% Tenho 95% de chance de que parâmetro estará dentro do intervalo

Nada garante que o resultado de uma única execução (Yi) cairá no intervalo

1-

/2 /2

Intervalo de Confiança

Y Y+H Y-H

O resultado de uma única execução

poderá estar na área definida por /2

Page 37: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Análise de ResultadosComo determinar o Como determinar o Intervalo de Intervalo de

confiançaconfiança?? 

Ordenar os valores obtidos….

Ou então…Ou então…

Utiliza-se o Teorema do Limite Central e a Tabela t-student

Ou então…Ou então…

Excel, R, Minitab, SAS, etc….

Page 38: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Análise de ResultadosComparação entre dois experimentos

Testes estatísticos podem ser utilizados para definir se os resultados provenientes de dois experimentos são conclusivos

Definem se os resultados são estatisticamente diferentes

Page 39: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Comparação entre dois experimentos

Teste visual

A

B

Caso 1 A

BA

B

Caso 2 Caso 3

Caso 1 – ICs não sobrepostos A > B

Caso 2 – Média de um está inserida no IC do outro A = B

Caso 3 – ICs sobrepostos mas média está fora necessário outro teste

Page 40: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Comparação entre dois experimentos

Área de Estatística oferece grande número de testes para comparação

entre experimentos: Teste t-student – para comparar a média

de duas amostras Teste para amostras pareadas Teste para amostras não pareadas Análise de Variância - para comparar

média de três ou mais amostras Chi-Quadrado e Poisson - para valores não

contínuos

Page 41: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Procedimento para análise de resultados

1. Definir o objetivo do experimento2. Escolher as variáveis de resposta adequadas e

suficientes para atingir o objetivo3. Escolher os fatores e níveis adequadamente4. Realizar o experimento quantas vezes forem

necessárias5. Pensar na melhor forma de apresentar os

dados6. Fazer o tratamento estatístico adequado para

os resultados7. Observar os resultados e correlaciona-los com

o que se conhece do sistema sendo avaliado

Page 42: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Procedimento para análise de resultados

1. Definir o objetivo do projeto/experimento/sistema

Tudo dependerá do objetivo

Page 43: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Procedimento para análise de resultados

2. Escolher as variáveis de resposta adequadas e suficientes para atingir o objetivo

Não considerar variáveis essenciais pode levar a erros na análise

Considerar variáveis desnecessárias contribui para aumentar a complexidade da análise

Sempre tentar analisar conjuntos não muito grandes de variáveis e, se necessário, realizar a análise em diversas fases

Page 44: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Procedimento para análise de resultados

3. Escolher os fatores e níveis adequadamente

Escolher poucos fatores e, se possível, apenas dois níveis por fator

Para os fatores com grande influência nas variáveis de resposta, detalhar processo separadamente.

Considerar um grande número de fatores e de níveis em um primeiro momento da avaliação, torna a análise suscetível a erros.

Page 45: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Procedimento para análise de resultados

4. Realizar o experimento quantas vezes forem necessárias

Utilizar um dos métodos apresentados para determinar o ponto de parada de coleta de dados

Não tirar conclusões baseando-se em um único resultado

Page 46: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Procedimento para análise de resultados

5. Pensar na melhor forma de apresentar os dados

Tabelas são ótimas para observar detalhes e valores precisos

Gráficos são adequados para melhor visualizar os resultados

Nos gráficos, cuidado com escalas e origem dos eixos

Muitos valores em uma tabela ou em um gráfico tornam a análise mais complexa, e possíveis resultados mais difíceis de serem identificados

Page 47: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Procedimento para análise de resultados

6. Fazer o tratamento estatístico adequado para os resultados

Não tirar conclusões considerando-se apenas médias

Valores médios só fazem sentido quando acompanhados de desvio padrão, variância, intervalo de confiança, etc.

Valores médios com máximo e mínimo podem ajudar na análise mas não levam a resultados conclusivos, sem a presença de uma métrica que indique a dispersão dos dados

Page 48: Diretrizes para Desenvolvimento do Projeto Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação.

Procedimento para análise de resultados

7. Observar os resultados e correlaciona-los com o que se conhece do sistema sendo avaliado

Desconfie de resultados não esperados Tente relacionar os diferentes

resultados obtidos Tente explicar os resultados obtidos