© 2000 Paulo Adeodato Avaliação de Desempenho de Avaliação de Desempenho de Sistemas Análise de Sistemas Análise de Resultados de Simulação Resultados de Simulação Paulo Adeodato Departamento de Informática Universidade Federal de Pernambuco
© 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.