© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Análise de Resultados de Simulação...

Post on 07-Apr-2016

215 views 0 download

Transcript of © 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Análise de Resultados de Simulação...

© 2000 Paulo Adeodato

Avaliação de Desempenho de Avaliação de Desempenho de Sistemas Análise de Resultados de Sistemas Análise de Resultados de

SimulaçãoSimulaçãoPaulo Adeodato

Departamento de InformáticaUniversidade Federal de Pernambuco

© 2000 Paulo Adeodato

ConteúdoConteúdo Introdução Técnicas de Verificação do Modelo Técnicas de Validação do Modelo Remoção de Transientes Critério de Parada: Estimativa da Variância

© 2000 Paulo Adeodato

IntroduçãoIntroduçãoPassos no desenvolvimento do modelo:

• Verificação do Modelo:assegura que o modelo está corretamente implementado

• Validação do Modelo:assegura que o modelo é representativo do sistema real

• Remoção de Transientes:elimina observações iniciais (transitórias) para garantir que o sistema atingiu o regime estável (permanente)

• Critério de Parada:determina quanto deve durar a simulação

© 2000 Paulo Adeodato

Verificação x Validação do ModeloVerificação x Validação do ModeloVerificação do modelo:

• Depuração (debugging) do programa• Atividade do programador

Validação do modelo:• Modelo = Mundo Real ?• Atividade do modelador

Resultam em quatro possibilidades:• 1. Não-verificado, Inválido• 2. Não-verificado, Válido• 3. Verificado, Inválido• 4. Verificado, Válido

© 2000 Paulo Adeodato

Técnicas de Verificação do ModeloTécnicas de Verificação do ModeloSimulações são programas longos e nelas se aplicam

técnicas gerais de programação:de desenvolvimento, depuração e manutenção de programasde modularidade em procedimentos e interfacesde estruturação top-down

Simulações são programas que tratam de processos estocásticos que dificultam a verificação ampla e algumas restrições facilitam o processorestrições a casos determinísticosrestrições às mesmas sementes para os geradores de

números aleatórios

© 2000 Paulo Adeodato

Técnicas de Verificação do Modelo-1Técnicas de Verificação do Modelo-11. Projeto Modular Top Down2. Medidas Antibugs3. Varrida Estruturada4. Modelos Determinísticos5. Execução de Casos Simplificados6. Trace7. Apresentação de Gráficos On-Line8. Teste de Continuidade9. Testes Degenerativos10. Testes de Consistência11. Independência das Sementes

© 2000 Paulo Adeodato

Técnicas de Verificação do Modelo-2Técnicas de Verificação do Modelo-21. Projeto Modular Top Down

• Dividir para Conquistar: Modularidade• Módulos = Subrotinas, Subprogramas, Procedimentos.• Módulos têm interfaces bem definidas.• Podem ser desenvolvidos, depurados e mantidos

independente-mente.• Projeto Top-down estrutura hierárquica Módulos e sub-

módulos (decomposição recursiva do problema)

© 2000 Paulo Adeodato

Técnicas de Verificação do Modelo-3Técnicas de Verificação do Modelo-32. Medidas Antibugs: Inclusão de verificações

Probabilidades = 1• Jobs remanescentes = Gerados - Servidos• Contagens de packets, nós e conexões gerados e destruídos

3. Varrida Estruturada:• Explique o código a outra pessoa ou grupo de pessoas.• Funciona pela simples explicação a terceiros

4. Modelos Determinísticos:• Uso de valores constantes em vez de aleatórios

© 2000 Paulo Adeodato

Técnicas de Verificação do Modelo-4Técnicas de Verificação do Modelo-45. Execução de Casos Simplificados: restringir a simulação

a casos analisáveis na teoria• Apenas um pacote• Apenas uma fonte• Apenas um nó intermediário

6. Trace = Lista de eventos e variáveis ordenada no tempo• Diversos níveis de detalhes:

Trace de eventos Trace de procedimentos Trace de variáveis

• O usuário seleciona o nível de detalhes• Inclui chave de ligar e desligar

© 2000 Paulo Adeodato

Técnicas de Verificação do Modelo-5Técnicas de Verificação do Modelo-57. Apresentação de Gráficos On-Line

• Torna a simulação interessante• Ajuda a vender os resultados• Mais compreensível do que o trace

8. Teste de Continuidade• Se baseia no fato de que pequena mudança na entrada

deve produzir pequena mudança na saída (diferente de sistemas dinâmicos com bifurcação)

• Executar para diferentes valores de parâmetros de entrada

© 2000 Paulo Adeodato

Técnicas de Verificação do Modelo-6Técnicas de Verificação do Modelo-6Teste de Continuidade (continuação)

Antes Depois

© 2000 Paulo Adeodato

Outras Técnicas de Verificação do Outras Técnicas de Verificação do ModeloModelo

9. Testes Degenerativos:Tente usar configurações e cargas extremas:

uma CPUnenhum discoou qualquer combinação

10. Testes de Consistência:• Resultados semelhantes para entradas que têm o mesmo

efeito:Quatro usuários a 10OMbps x Dois a 20OMbps.

• Construa uma biblioteca de testes de continuidade, degeneração e consistência

11. Independência das sementes:• Resultados semelhantes para sementes diferentes

© 2000 Paulo Adeodato

Técnicas de Validação do Modelo-1Técnicas de Validação do Modelo-1 Técnicas de validação: asseguram que as hipóteses

do modelo são razoáveis As técnicas para um problema podem não se aplicar

a outro problema (dependem do modelo)

© 2000 Paulo Adeodato

Técnicas de Validação do Modelo-2Técnicas de Validação do Modelo-2 Aspectos a serem validados:

• 1. Hipóteses• 2. Valores dos parâmetros de entrada e distribuições• 3. Valores de saída e conclusões

Técnicas:• 1. Intuição do especialista• 2. Medidas de um sistema real• 3. Resultados teóricos

3 aspectos x 3 técnicas = 9 testes de validação

© 2000 Paulo Adeodato

Técnicas de Validação do Modelo-3Técnicas de Validação do Modelo-31. Intuição do especialista

• Forma mais prática e comum• Especialistas = envolvidos no projeto, arquitetura,

implementação, análise, marketing ou manutenção do sistema Seleção = função do estágio do ciclo de vida do sistema Apresentar e discutir hipóteses, entradas e saídas Validar uma parte de cada vez ao longo do processo Observar se os especialistas conseguem distinguir as medições

reais dos resultados do modelo.Exemplo:

© 2000 Paulo Adeodato

Técnicas de Validação do Modelo-4Técnicas de Validação do Modelo-42. Medidas de um Sistema Real

• Comparar as hipóteses, entradas e saídas com o mundo real (utilizar as técnicas vistas na aula de comparação entre 2 sistemas)

• Freqüentemente é inviável ou muito caro• Mesmo uma ou duas medidas contribuem para a validação

(diagrama)

© 2000 Paulo Adeodato

Técnicas de Validação do Modelo-5Técnicas de Validação do Modelo-53. Resultados Teóricos

• Fazer Análise = Simulação sob hipóteses simplificadasem: y = ax2 + bx + c ou y = k (x - x1) (x - x2)

fazer: b = c = 0 ou x1 = x2 = 0, não a = 0 • Usados tanto para validar as análises quanto as simulações• Cautela: ambos podem ser inválidos (não representam o

comportamento do sistema real)• Usar teoria em conjunto com a intuição de um especialista ou

medições de um sistema real• Aplicar a teoria para uma configuração maior• Um "modelo completamente validado" é um mito.• Pode-se mostrar que o modelo não é inválido para algumas das

situações comparadas. Tentar cobrir os casos mais importantes.

© 2000 Paulo Adeodato

Remoção de Transientes-1Remoção de Transientes-1 Geralmente estamos interessados no desempenho do

sistema em regime permanente Ao iniciar a operação, o sistema passa por um regime

transitório até se estabilizar.Transientes de um circuito linear de 2a ordem (RLC)

superamortecido subamortecido

© 2000 Paulo Adeodato

Remoção de Transientes-2Remoção de Transientes-2 No caso geral, não há uma definição exata do que

seja o regime transitório. Assim, teremos soluções heurísticas:• 1. Execuções longas• 2. Inicialização apropriada• 3. Truncamento• 4. Descarte dos dados iniciais• 5. Média móvel de replicações independentes• 6. Médias de lotes (Batch)

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-1Técnicas de Remoção de Transientes-11. Execuções Longas:

• Consiste em realizar simulações longas o suficiente para assegurarem que as condições iniciais não afetem os resultados

• Desperdiçam recursos• É difícil assegurar que são longas o bastante

2. Inicialização Apropriada:• Consiste em iniciar a simulação num estado próximo ao do

regime permanente esperado• Reduz o comprimento e o efeito do regime transiente.• Exemplo: Considerar jobs na fila em vez de fila vazia. Partir de

uma análise simples ou de simulação anteriores.Nas técnicas seguintes se supõe que a variabilidade é

menor no regime permanente que no transitório.

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-2Técnicas de Remoção de Transientes-23. Truncamento

• Plote o máx-min (range) de n - l observações para l = 1, 2, ...• Quando a (l + 1)-ésima observação não for nem um mínimo

nem um máximo encerrou o regime transiente.Exemplo:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 10, 9, 10, 11, 10, 9, 10, 11, 10, 9,...

Para l = 9, Range = (9, 11), próxima observação = 10Algumas vezes pode produzir resultados incorretos (se tiver

máximo ou mínimo no transiente)

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-3Técnicas de Remoção de Transientes-34. Descarte dos dados iniciais

• Descartar algumas observações iniciais• Calcular a média• Nenhuma mudança Regime permanente• Usar diversas replicações para suavizar a média• m replicações cada uma de tamanho n• xij = j-ésima observação da i-ésima replicação• Passos:

1. Obtenha a trajetória média, tomando a média entre as replicações:

njxm

xm

iijj ,...2,1,1

1

n

jjx

nx

1

12. Obtenha a média global

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-4Técnicas de Remoção de Transientes-4Descarte dos dados iniciais (continuação)

faça l = 1 e prossiga para o próximo passo

3. Descarte as primeiras l observações e obtenha uma média global a partir dos restantes n - l valores:

n

ljjl x

lnx

1

1

xxxl relativa mudança

4. Calcule a mudança relativa:

5. Repita os passos 3 e 4 variando l de l a (n - l)6. Plote a média global e a mudança relativa7. Valor de l no joelho = comprimento do intervalo transiente

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-5Técnicas de Remoção de Transientes-5Descarte dos dados iniciais (continuação)

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-6Técnicas de Remoção de Transientes-65. Média Móvel de Replicações Independentes (Média

dentro de uma janela de tempo móvel)• 1. Obtenha uma trajetória média tomando a média entre

replicações:

Faca k = 1 e prossiga para o próximo passo.• 2. Plote uma trajetória da média móvel de 2k + 1 valores

• 3. Repita o passo 2, com k = 2,3, ... até que a curva fique suave.• 4. O valor de j no joelho corresponde ao comprimento da fase

transiente.

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-7Técnicas de Remoção de Transientes-7

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-8Técnicas de Remoção de Transientes-86. Médias de Lotes (Batch)

• Execute uma simulação longa e divida-a em partes (batches ou lotes ) de igual duração

mjxn

xn

iiji ,...2,1,1

1

• Estude a variância das médias dos lotes em função do comprimento do lote

• Passos:1. Para cada lote, calcule a média do lote:

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-9Técnicas de Remoção de Transientes-9Médias de Lotes (Batch) (continuação)

• Passos: (continuação)• 2. Calcule a média total:

• 3. Calcule a variância das médias dos lotes:

• 4. Repita os passos 1 e 3, para n = 3, 4, 5,...• 5. Faca um gráfico da variância em função do comprimento

n do lote.• 6. O valor de n no qual a variância definitivamente começa

a decrescer, corresponde ao intervalo transiente.

m

iix

mx

1

1

2

1

)(1

1)( xxm

xVarm

ii

© 2000 Paulo Adeodato

Técnicas de Remoção de Transientes-10Técnicas de Remoção de Transientes-10Médias de Lotes (Batch) (continuação)

Motivação: Comprimento do lote << transiente média global = média

inicial Menor variância Comprimento do lote >> transiente média global = média do

estado permanente Menor variânciaIgnore os picos seguidos por uma nova subida.

© 2000 Paulo Adeodato

Critério de Parada: Estimativa da Critério de Parada: Estimativa da Variância-1Variância-1

Execute até que o intervalo de confiança seja estreito o bastante

nxVarxVar )()(

)(),( )21( xVarzxba Para observações independentes:

Independência não é aplicável a muitas simulações. Grande tempo de espera para o i-ésimo job Grande tempo de espera para o (i +1)-ésimo job

© 2000 Paulo Adeodato

Critério de Parada: Estimativa da Critério de Parada: Estimativa da Variância-2Variância-2

Para observações correlacionadas:

nxVar )(real Variância

Soluções:• 1. Replicações Independentes• 2. Médias de Lotes (batches)• 3. Método Regenerativo

© 2000 Paulo Adeodato

Técnicas de Estimativa da VariânciaTécnicas de Estimativa da Variância1-Replicações Independentes1-Replicações Independentes

Supõe que as médias de replicações independentes são independentes

Conduza m replicações de tamanho n +n0 cada• 1. Calcule a média para cada replicação:

• 2. Calcule a média geral para todas as replicações:

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-1Técnicas de Estimativa da Variância-1Replicações Independentes Replicações Independentes

(Continuação)(Continuação)• 3. Calcule a variância das médias das replicações:

• 4. O intervalo de confiança para a resposta média é:

Mantenha as replicações longas para evitar desperdícios

Normalmente bastam dez replicações

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-2Técnicas de Estimativa da Variância-2Médias de Lotes Médias de Lotes (batches)(batches)-1-1

Também chamado de método das subamostras Execute uma simulação por um tempo longo

• Descarte o intervalo transiente inicial e divida as observações restantes em diversos lotes ou subamostras

1. Calcule a média para cada lote:

2. Calcule a média geral:

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-2Técnicas de Estimativa da Variância-2Médias de Lotes Médias de Lotes (batches)(batches)-2-2

3. Calcule a variância das médias dos lotes:

4. O intervalo de confiança para a resposta média é:

Menos desperdício do que replicações independentesMantenha os lotes longos para evitar correlaçõesVerificação: Calcule a autocovariância de médias de

lotes sucessivos:

Dobre n até que a autocovariância seja pequena.

© 2000 Paulo Adeodato

Médias de Lotes Médias de Lotes (batches)(batches)-2-2Estudo de Caso: Redes de InterconexãoEstudo de Caso: Redes de Interconexão

Redes n-cubo binárias indiretas: Usadas para a inter-conexão entre processadores e memórias

Rede de dois estágios com fan-out completo.• Comprimento do lote Autocovariância Variância• 1 -0,18792 1,79989• 2 0,02643 0,81173• 4 0,11024 0,42003• 8 0,08979 0,26437• 16 0,04001 0,17650• 32 0,01108 0,10833• 64 0,00010 0,06066• 128 -0,00378 0,02992• 256 0,00027 0,01133• 512 0,00069 0,00503• 1024 0,00078 0,00202Com comprimento 64, auto-covariância < 1% da variância da

amostra

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-3Técnicas de Estimativa da Variância-3Método Regenerativo-Método Regenerativo-11

O comportamento após o período ocioso não depende da história passada Sistema tem um novo nascimento Ponto de regeneração

Ciclo de regeneração: Entre dois pontos sucessivos de regeneração

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-3Técnicas de Estimativa da Variância-3Método Regenerativo-Método Regenerativo-22

Usar as médias dos ciclos de regeneração Problemas:

• Nem todos os sistemas são regenerativos• Comprimentos diferentes Cálculo mais complexo• Média geral Média das médias dos ciclos

As médias dos ciclos são dadas por:

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-3Técnicas de Estimativa da Variância-3Método Regenerativo-Método Regenerativo-33

Média geral:

1. Calcule as somas dos ciclos:

2. Calcule a média geral:

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-3Técnicas de Estimativa da Variância-3Método Regenerativo-Método Regenerativo-44

3. Calcule a diferença entre as somas esperada e observada dos ciclos:

4. Calcule a variância das diferenças:

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-3Técnicas de Estimativa da Variância-3Método Regenerativo-Método Regenerativo-55

5. Calcule o comprimento médio dos ciclos:

6. O intervalo de confiança para a resposta média é dado por:

7. Não há necessidade de remover observações do período transiente.

© 2000 Paulo Adeodato

Técnicas de Estimativa da Variância-3Técnicas de Estimativa da Variância-3Método Regenerativo-Método Regenerativo-55

Problemas:• 1. Os comprimentos dos cicios são imprevisíveis.

Não dá para planejar o tempo de simulação antecipadamente.

• 2. Encontrar o ponto de regeneração pode demandar um monte de verificações após cada evento.

• 3. Muitas das técnicas de redução da variância não podem ser utilizadas devido ao comprimento variável dos ciclos.

• 4. Os estimadores da média e da variância são polarizados

© 2000 Paulo Adeodato

Simulações TerminaisSimulações Terminais Temos interesse no desempenho do transiente

Exemplo, Tráfego de redes Sistemas que são desligados

Não é necessária a remoção de transientes.

Condições finais:Pode ser necessário excluir dos resultados a parte final da

simulaçãoTécnicas semelhantes às de remoção de transientes.

© 2000 Paulo Adeodato

Tratamento de Entidades AbandonadasTratamento de Entidades Abandonadas Tempo médio de serviço:

Tempo total de serviçoNúmero de jobs que completaram o serviço

Tempo médio de espera:Soma do tempo de esperaNúmero de jobs que receberam serviço

Comprimento Médio da Fila:Comprimento da fila no evento jNúmero de eventos nComprimento-da-fila(t)dt

© 2000 Paulo Adeodato

Referências BibliográficasReferências Bibliográficas Raj Jain (1991)

The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement and ModelingJohn Wiley & SonsCapítulo 25

© 2000 Paulo Adeodato

© 2000 Paulo Adeodato

© 2000 Paulo Adeodato

© 2000 Paulo Adeodato

Redução da VariânciaRedução da Variância Reduza a variância através do controle das cadeias

de números aleatóriosIntroduz correlação em observações sucessivas

Problema: O uso sem o devido cuidado pode não dar certo, levando a aumentar a variância.

Apenas para analistas com conhecimentos sofisticados de estatística

Não é recomendado para iniciantes

© 2000 Paulo Adeodato

Redução da Variância: Redução da Variância: Exercício 25.1Exercício 25.1 Imagine que você foi chamado como um especialista

para rever um estudo de simulação. Quais dos seguintes resultados de simulação você consideraria como não-intuitivo e gostaria de tê-los validado cuidadosamente:1. A vazão de um sistema aumenta à medida que a sua carga

aumenta.2. A vazão de um sistema diminui à medida que a sua carga

aumenta.3. O tempo de resposta aumenta à medida que a carga aumenta.4. O tempo de resposta de um sistema diminui à medida que a

carga aumenta.5. A taxa de perda de um sistema diminui à medida que a carga

aumenta.