• Nenhum resultado encontrado

Treinamento em Análise Quantitativa & Planejamento de Capacidade. Virgilio A. F. Almeida

N/A
N/A
Protected

Academic year: 2021

Share "Treinamento em Análise Quantitativa & Planejamento de Capacidade. Virgilio A. F. Almeida"

Copied!
44
0
0

Texto

(1)

Treinamento em Análise Quantitativa & 

Planejamento de Capacidade

Virgilio A. F. Almeida

DATAPREV  – Rio de Janeiro 08 Dezembro de 2009 Módulo #6b Módulo #6b  Projetos de Experimentos

Departamento de Ciência da Computação Universidade Federal de Minas Gerais - UFMG

(2)

P j t d E

i

t

Projeto de Experimentos

• Introdução: cap. 16 do texto (Jain)

2k f l d ( )

• Projetos 2k fatorial: cap. 17 do texto (Jain)

• Experimentos de um-fator: cap 20 do texto • Experimentos de um fator: cap. 20 do texto

(3)

P j t E

i

t l

Projeto Experimental

The fundamental principle of science, the definition almost, is this: the sole test of the validity of any idea is experiment.

– Richard P. Feynman

No amount of experimentation can ever prove me right; a single experiment can prove me wrong.

(4)

P j t E

i

t l

Projeto Experimental

• Projeto experimental refere-se a estrutura da organização de seu experimento!

organização de seu experimento!

• Necessidade de metodologicamente cobrir fatores e níveis para obter um intervalo p

completo para os resultados experimentais desejados.

• Existem enfoques clássicos para o projeto experimental.

(5)
(6)

Avaliando Sistemas e Algoritmos

Avaliando Sistemas e Algoritmos

• Geralmente, necessita-se de projetar

e e ec ta m e pe imento com o

e executar um experimento com o

intuito de: :

demonstrar que uma nova técnica ou – demonstrar que uma nova técnica ou

conceito é viável.

– Demonstrar que um novo método é Demonstrar que um novo método é melhor que os existentes.

– Entender o impacto de vários fatores e â t d h l b l d parâmetros no desempenho global do sistema ou algoritmo.

(7)

Refrescando a memória

Existem tres métodos principais usados no

projeto de estudos de desempenho de l

sistemas e algoritmos: • Enfoque experimental

Medir e usar um sistema real ou simplificado – Medir e usar um sistema real ou simplificado

• Enfoque Analítico

– Uso de matemática, probabilidades, redes de Uso de a e á ca, p obab dades, edes de Petri, teoria das filas, modelos abstratos para representar o sistema em estudo.

• Enfoque de Simulação • Enfoque de Simulação

– Projeto e uso de simulações por computador e modelos simplificados para avaliar o desempenho do sistema ou técnica

(8)

Terminologia do Projeto de Experimentos

Terminologia do Projeto de Experimentos

• Variável resposta: representa o valor obtido, que é

medido de acordo com as variações dos dados de entrada. – Exemplo: tempo de resposta, índice de precisão,índice Exemplo: tempo de resposta, índice de precisão,índice

de revocação, utilização, complexidade do algoritmo, outros exemplos???

• Fatores: as variáveis de entrada de um experimento que podem ser controladas pelo “experimentador”.

– Exemplo: tamanho do cache tamanho dos arquivos Exemplo: tamanho do cache, tamanho dos arquivos, tempo de seek, latência da rede, outros exemplos??? • Níveis: os níveis de um fator são os valores específicos • Níveis: os níveis de um fator são os valores específicos que podem ser atribuídos ao fator. Podem ser contínuos (ex.: tempo de seek) ou podem ser categóricos, como o tipo de um processador ou a classe de um certo algoritmo. tipo de um processador ou a classe de um certo algoritmo.

(9)

T

i

l

i d P j t d E

i

t

Terminologia do Projeto de Experimentos

• Replicação: replicar um experimento significa re-executá-lo completamente com todos os mesmos niveis de entrada completamente com todos os mesmos niveis de entrada. Desde que as medidas da variável resposta são sujeitas à variações randômicas, as replicações de um experimento são usadas para determinar o impacto do erro na variável são usadas para determinar o impacto do erro na variável resposta.

• Interação: uma interação entre fatores ocorre quando o efeito de um fator depende do nível de outro fator.

– Efeito da memória na atividade de paginação. – Outros exemplos???

(10)

I

d ã P j

d E

i

Introdução ao Projeto de Experimentos:

perguntas básicas

Voce conhece as métricas? • Voce conhece as métricas? • Voce conhece os fatores? • Voce conhece os níveis? • Voce conhece os níveis?

• Voce tem conhecimento de como instrumentar o sistema e elaborar as cargas de teste?g

• Voce sabe descrever o que fazer para realizar experimentos que comprovem ou refutem as

hi ót d i ?

(11)

Objetivos no Projeto de Experimentos

Obter a maior quantidade de informação • Obter a maior quantidade de informação

• Reduzir o trabalho/esforço de experimentação – Tipicamente significa o menor número de – Tipicamente significa o menor número de

experimentos

• Realizar mais experimentos não é bom (gasta-se p (g tempo e recursos), principalmente se voce for aquele responsável pela execução dos mesmos. E i t b j t d ã i fá i d • Experimentos bem projetados são mais fáceis de

(12)

R

li

õ E

i

t i

Replicações Experimentais

• O sistema em estudo executará com vários níveis de diferentes fatores, potencialmente com , p

diferentes cargas.

• Uma execução com um conjunto particular de

í d d d d é l ã

níveis e dados de entrada é uma replicação. • Em geral, é necessário realizar múltiplas

replicações com um único conjunto de níveis e replicações com um único conjunto de níveis e dados de entrada, por razões de verificação e validação estatística.

(13)

A I t

ã d f t

A Interação dos fatores

• Alguns fatores tem efeitos completamente

independentes um do outro.

– Exemplo: Duplique o nível de um fator e obterá metade da resposta, independente dos outros fatores.

– Exemplos???

• Mas os efeitos de alguns fatores dependem dos valores de outros fatores

– Fatores interatuantes – Exemplos???

• Efeitos de cache podem depender do tamanho dos programas em execução. Só o tamanho insuficiente.... • A presença de fatores interatuantes complica o projeto

(14)

Problema Básico ao Projetar

Problema Básico ao Projetar

Experimentos

• Um determinado número de fatores foi • Um determinado número de fatores foi

escolhido

• Os fatores podem ou não interagir • Os fatores podem ou não interagir

• Como se pode projetar um experimento que captura os intervalos completos de variação captura os intervalos completos de variação dos níveis?

– Com a menor quantidade trabalho possível

• Qual a combinação ou combinações de níveis de fatores deseja-se medir?

(15)

E

C

E

i

t ã

Erros Comuns na Experimentação

I i t l

• Ignorar o erro experimental

• Existência de parâmetros não controlados Nã i l d f i d dif f

• Não isolamento dos efeitos de diferentes fatores • Projetos de experimentos com um

fator-de-cada-vez quando há fatores inter atuantes vez, quando há fatores inter-atuantes. • Ignorar as interações entre os fatores

P j t ú i d

• Projetos que requerem um número excessivo de experimentos

(16)

Ti

d P j t d E

i

t

Tipos de Projetos de Experimentos

• Um fator de cada vez

– Varie somente um fator atraves de seus niveis para Varie somente um fator atraves de seus niveis para ver o impacto nos resultados

• Dois fatores de cada vez

– Varie dois fatores para ver não somente seus efeitos individuais, mas a interação entre eles se existir.

F t i l C l t • Fatorial Completo

– Tente todas combinações possíveis de fatores e níveis para ver o espectro de resultados.

(17)

Exemplo: Web Proxy Caching

Exemplo: Web Proxy Caching

Filtered stream (misses) Filtro

(18)

E

l F t

Ní i

Exemplo: Fatores e Níveis

• Cache size

C h R l t P li

Níveis discretos • Cache Replacement Policy

– Recency-based LRU – Frequency-based LFU-Aging – Frequency-based LFU-Aging – Size-based GD-Size – RAND Niveis categóricos o res – FIFO • Workload Characteristics fat o

– One-timers, Zipf slope, tail index, correlation,

temporal locality model

Niveis categóricos Niveis categóricos

(19)

E

l Mét i

d P f

Exemplo: Métricas de Performance

• Document Hit Ratio (DHR)

– Qual porcentagem de documentos requisitados Qual porcentagem de documentos requisitados pelos clientes é satisfeita diretamente pelo proxy, sem necessidade de obter do servidor Web?

• Byte Hit Ratio (BHR)

– Qual porcentagem de bytes requisitados pelos clientes é satisfeita diretamente pelo proxy sem clientes é satisfeita diretamente pelo proxy, sem necessidade de obter do servidor Web?

(20)

Exemplo: Resultados de Performance

Exemplo: Resultados de Performance

Workload: Weak temporal locality Workload: Strong temporal locality

(21)

P j t E

i

t l

Projeto Experimental

(l

1,0

, l

1,1

, … , l

1,n1-1

) x (l

2,0

, l

2,1

, … , l

2,n2-1

) x …

x (l

(

k,0k,0

, l

,

k,1k,1

Fator 1

, … , l

,

,

k,nk-1k,nk 1

)

)

Fator 2

Fator k

k diferentes fatores, onde cada fator tem ni níveis

(22)

P j t Si

l

Projetos Simples

• Varie um fator de cada vez

• Para k fatores com o iesimo fator tendo n níveis

• Para k fatores com o iesimo fator tendo n

i níveis

(

)

k

(

)

n

n

i i k

= +

=

1

1

1

• Assuma que os fatores não interagem

U l t i f

• Usualmente requer mais esforço que se pensa • Tente evitar esse enfoque de experimentação

(23)

Projetos Simples

fixe

Projetos Simples

fixe

(l

1,0

, l

1,1

, … , l

1,n-1

) x (l

2,0

, l

2,1

, … , l

2,n-)

1

) x …

Fator 1

Fator 2

x (l

k,0

, l

k,1

, … , l

k,n-1

)

Fator k

varie

(24)

P j t Si

l

Projetos Simples

(l

1,0

, l

1,1

, … , l

1,n-1

) x (l

2,0

, l

2,1

, … , l

2,n-)

1

) x …

Fator 1

Fator 2

x (l

k,0

, l

k,1

, … , l

k,n-1

)

Fator k

(25)

P j t

F t i l

C

l t

Projetos com Fatorial Completo

• Para k fatores com o iesimo fator tendo n

i níveis

-n

n

i i k

=

1 i=1

• Teste cada combinação possível dos níveis dos fatores.

• Capture a informação completa sobre a • Capture a informação completa sobre a

interação de fatores

(26)

P j t

F t i l

C

l t

Projetos com Fatorial Completo

(l

1,0

, l

1,1

, … , l

1,n-1

) x (l

2,0

, l

2,1

, … , l

2,n-1

) x …

x (l

k 0

, l

k 1

, … , l

k n 1

)

Fator 1

Fator 2

x (l

k,0

, l

k,1

, … , l

k,n-1

)

F t

k

Fator k

(27)

Reduzindo o trabalho em Projetos com

Reduzindo o trabalho em Projetos com

Fatorial Completo

• Reduza o número de níveis por fator

Ge almente ma boa op ão – Geralmente uma boa opção

– Especialmente quando se sabe quais fatores são mais importantes

– Para os fatores mais relevantes, use mais níveis

20% of the jobs account for 80% j of the resource consumption.

– Pareto’s Law

• Reduza o número de fatores

– Simplifique o modelo experimental Mas não eti e fato es “ ele antes” – Mas não retire fatores “relevantes”

(28)

P j t

F t i l

F

i

d

Projetos com Fatorial Fracionado

• Faça a medição somente de uma combinação • Faça a medição somente de uma combinação

de niveis de fatores.

• O projeto deve ser cuidadosamente projetado • O projeto deve ser cuidadosamente projetado

para capturar melhor qualquer interação que possivelmente exista.

p

• Menos trabalho, porém com mais chance de imprecisões nos resultados.

• Pode ser útil quando se sabe a priori que alguns fatores não interagem.

(29)

P j t

F t i l

F

i

d

Projetos com Fatorial Fracionado

(l

1,0

, l

1,1

, … , l

1,n-1

) x (l

2,0

, l

2,1

, … , l

2,n-1

) x …

x (l

(

k,0k,0

, l

,

Fator 1

k,1k,1

, … , l

,

,

k,n-1k,n 1

)

)

Fator 2

(30)

P j t F t i i 2

k

Projetos Fatoriais 2

k

• Usados para determinar os efeitos de k • Usados para determinar os efeitos de k

fatores

– Cada um com duas alternativas ou níveisCada um com duas alternativas ou níveis

• Em geral, são usados de maneira preliminar, antes de estudos mais detalhados

– Cada fator medido é representado por seu nível máximo e no mínimo.

Pode oferecer algum “insight” sobre as interações – Pode oferecer algum “insight” sobre as interações

(31)

Ef it U idi

i

i

Efeitos Unidirecionais

• Efeitos que somente aumentam à medida que o • Efeitos que somente aumentam à medida que o

nível de um fator também aumenta – Ou vice-versa

• Se essa característica é conhecida a priori, um projeto fatorial 2k nos niveis máximo e mínimo pode se útil

pode ser útil.

• Demonstra-se quando um fator tem efeito significativo no resultado.

(32)

P j t F t i i 2

2

Projetos Fatoriais 2

2

• Dois fatores com dois niveis cada • Dois fatores, com dois niveis cada

• Tipo mais simples de um projeto fatorial de experimentos

experimentos

• Os conceitos desenvolvidos podem ajudar o entendimento dos problemas de 2k

entendimento dos problemas de 2

• Pode-se ilustrar com exemplo de regressão • Exemplo simples, com finalidade pedagógicaExemplo simples, com finalidade pedagógica

(33)

Exemplo de um Projeto Fatorial 2

2

Exemplo de um Projeto Fatorial 2

• Uma arquitetura de máquina de busca, composta por N

servidores; servidores;

• Pode-se usar vários esquemas de distribuição ou

l d i id

escalonamento de queries para os servidores, por exemplo, round-robim, gang, random, priority, etc • O objetivo é completar os queries no menor tempo

possível.

• No exemplo, a métrica usada é o tempo de execução da

query em microsegundos.

(34)

F t

Ní i d E

l

Fatores e Níveis do Exemplo

• Primeiro fator – número de servidores usados na

máquina de busca experimental: – Varia entre 8 e 64

• Segundo fator – baseado em outros estudos, usa-se dois extremos de políticas de escalonamento:

dois extremos de políticas de escalonamento: randômico e “round-robin”.

– Sistema de arquivos local e global na arquitetura, que permite a distribuição de query para qualquer servidor.

• Outros fatores existem mas neste exemplo vamos • Outros fatores existem, mas neste exemplo, vamos

(35)

Definindo as Variáveis para um

p

Exemplo de Projeto 2

2

Factorial

⎧ 1

8

id

⎧−

=

1

A

x

se 8 servidores

⎪⎩ 1

se 64 servidores

⎧− 1

se escalonamento randomico

⎪⎩

=

1

B

x

se escalonamento round robin (RR)

(36)

Dados Amostrais para o Exemplo

Dados Amostrais para o Exemplo

ã ú ã

• Execução única de uma execução de uma carga benchmark de queries nas duas

configurações: configurações: 8 Serv. (-1) 64 Serv. (+1) Rand. (-1)

820

217

(-1) RR (+1)

776

197

(37)

M d l d R

ã

E

l

Modelo de Regressão para o Exemplo

• y = q

0

+ q

A

x

A

+ q

B

x

B

+ q

AB

x

A

x

B

820 = q

0

-q

A

- q

B

+ q

AB

217 = q

0

+q

A

- q

B

- q

AB

776 = q

0

-q

A

+ q

B

- q

AB

776 = q

0

q

A

+ q

B

q

AB

197 = q

0

+q

A

+ q

B

+ q

AB

(38)

M d l d R

ã

Modelo de Regressão

• 4 equações e 4 variáveis

• Outra representação – tabelap ç

Experimento

p

A

B

y

y

1

-1

-1

y

1

2

1

-1

y

2

2

1

1

y

2

3

-1

1

y

3

4

1

1

y

4

1

1

y

4

(39)

S l ã d E

õ

Solução das Equações

q = 1/4(820 + 217 + 776 + 197) = 502 5 q0 = 1/4(820 + 217 + 776 + 197) = 502.5 qA = 1/4(-820 + 217 - 776 + 197) = -295.5 q = 1/4( 820 217 + 776 + 197) = 16 qB = 1/4(-820 - 217 + 776 + 197) = -16 qAB = 1/4(820 - 217 - 776 + 197) = 6 Assim: y = 502.5 - 295.5xA - 16xB + 6xAxB

(40)

Al

ã d V i ã

M d l 2

2

Alocação de Variação para o Modelo 2

2

• Calcule a variância amostral de y

(

)

2 22

(

)

s

y2 i

y

i

y

2 1 2 2 2

2

1

=

=

• Numerador é o SST (variação total)

2

1

SST = 22q

A2 + 22qB2 + 22qAB2

• Podemos usar isso para entender as causas da variação de y

(41)

T

SST

Termos no SST

• 22q

A2 é parte da variação explicada pelo efeito

de A (SSA) de A (SSA) • 22q

B2 é parte da variação explicada pelo efeito

de B (SSB) de B (SSB) • 22qA

B2 é parte da variação explicada pelo

efeito da interação de A e B (SSAB)ç ( )

SST SSA + SSB + SSAB

SST = SSA + SSB + SSAB

(42)

V i õ E

l

Variações no Exemplo

• SST = 350449 • SSA = 349281 • SSA = 349281 • SSB = 1024 SSAB 144 • SSAB = 144

• Pode-se agora calcular e entender a fração da variação total causada por cada efeito

(43)

F

õ d V i ã

E

l

Frações de Variação no Exemplo

• Fração explicada por A: 99.67%

• Fração explicada por B: 0.29%

• Fração explicada pela interação de A e B: 0.04%

A i t d i ã d ú d

• Assim, quase toda variação vem do número de servidores da arquitetura e o esquema de

escalonamento tem um efeito desprezível na performance da máquina de busca em estudo. • Se o objetivo é diminuir o tempo de resposta de

queries deve-se então concentrar no número de queries, deve se então concentrar no número de

servidores e não no esquema de distribuição-escalonamento (exemplo hipotético!)

(44)

P j t

F t i l

2

k

Projetos com Fatorial 2

k

• Usado para analisar os efeitos de k fatores, cada um com niveis de duas alternativas

Projetos 22 fatorial são um caso especial • Projetos 22 fatorial são um caso especial

• Métodos apresentados aqui se estendem a outros casos.

casos.

Referências

Documentos relacionados

Neste sentido, a Agência Nacional de Águas - ANA está empenhada em estabelecer um sistema de outorga (direito de utilizar os rios), em articulação com os governos estaduais,

Este trabalho teve por objetivo o estudo da dimensão das doenças crônicas, especificamente o diabetes mellitus, visando à elaboração de um modelo de processo

A origem da água termal de São Pedro do Sul resulta de uma grande racha nas rochas de granito que existem no local onde as Termas se localizam.. A água termal de São Pedro do

O objetivo deste trabalho é mostrar as características, importância e aplicações que os semicondutores têm para a eletrônica, as suas funções em equipamentos

 Clematis – sonhador pensando no futuro, falta de praticidade e concretização. Util para pessoas sonolentas, que nunca estão totalmente despertas, nem demonstram

A Norma ISO 14001 especifi- ca requisitos relativos a um Siste- ma de Gestão Ambiental, que dão suporte às auditorias, ou seja, são obrigações normativas que preci- sam ser

Concretamente, uma sessão de Constelação Familiar consiste em um encontro que varia de poucas horas a alguns dias, durante o qual um grupo se reúne e, neste, os clientes, um por

E) O sistema social é uma interação dinâmica entre indivíduos (inseridos ou não em organizações formais) cujo comportamento é constrangido, não apenas por