© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Análise de Resultados de Simulação...
-
Upload
luiz-guilherme-mendes-beppler -
Category
Documents
-
view
215 -
download
0
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.