Simulação

Propaganda
Carlos Alberto Kamienski ([email protected])
UFABC
Avaliação de Desempenho
Simulação
Média do índice de justiça
100
95
Fases
1
90
2
5
85
10
80
75
0
20
1
30
2
40
3
50
4
Carga (chamadas - x 1000)
60
5
6
Roteiro
Motivação e objetivos
Simulação de sistemas
Simulando a Internet
O simulador de redes ns
Exemplos de simulação com o ns
Estudo de caso
2
O papel da simulação
Técnicas para explorar e compreender o
comportamento da Internet:

Medição

Experimentação

Análise (modelagem analítica)

Simulação
Medição, análise e simulação são tipicamente
usadas para avaliação de desempenho de
sistemas (Raj Jain, 1991)
5
Simulação
Técnica para avaliação de sistemas:

Prever desempenho

Comparar alternativas
Consiste na construção e execução de programas
Permite construir modelos mais complexos e representativos do
mundo real
Problemas:




Extrapolações indevidas
Pequenas variações modelo podem produzir resultados
contraditórios
Pode esconder bugs nos programas
Modelagem inadequada
6
Erros comuns em simulação
Nível de detalhes não apropriado
Linguagem de programação inadequada
Modelos incorretos (bugs ou incorreções)
Inexistência ou má definição de objetivos
Tratamento incorreto de:

Condições iniciais

Condições finais

Tempo de simulação
7
Erros comuns em simulação
(cont.)
Geradores de números aleatórios
Escolha inadequada de sementes
Escolha de métricas incorretas
Carga de trabalho não representativa
Topologias inadequadas e irreais
8
Tipos de simulação
Simulação de Monte Carlo

Execução de replicações para estimar parâmetros
Simulação baseada em traces

Entrada da simulação são traces (ex: pacotes coletados em redes

Vantagem: credibilidade

Desvantagem: limitação e influência da rede real
Simulação discreta baseada em eventos


Modelo de estados discretos
Simplificando: eventos são armazenados em uma lista encadeada
por ordem de ocorrência e um escalonador os executa em seqüência
 Evento = chegada de um pacote, pedido de conexão TCP etc
9
Linguagens de simulação
Variam de linguagens de propósito geral até ambientes
completos de simulação
Diferenças:

Curva de aprendizagem

Tempo de desenvolvimento

Desempenho (tempo de simulação)

Escalabilidade

Flexibilidade
Linguagens/ambiente:

C/C++ (ou outra linguagem de propósito geral)

GPSS, SIMSCRIPT
10
Planejamento da simulação
Definição clara e precisa dos objetivos
Escolha de métricas adequadas
Escolha correta de:

Parâmetros: aspectos que influenciam a simulação

Fatores: parâmetros variados na simulação

Níveis: valores dos fatores
Projeto de experiências

Combinações de fatores e níveis

Quantidade de replicações
Análise, interpretação e apresentação dos resultados da
simulação
11
Análise dos resultados
Validação e verificação do modelo



Qualidade de um modelo: proximidade com resultados
reais
Validação: considerações são aceitáveis?
Verificação: o modelo implementa corretamente as
considerações?
12
Análise dos resultados
Condições iniciais e finais

Estudo do estado estacionário (geralmente)

Estado transiente deve ser removido
 Identificação do ponto exato é impossível

Técnicas de tratar estado transiente:
 Simulações longas
 Iniciar simulação já no estado estacionário
 Truncamento do estado transiente

Tempo de simulação
 Intervalo de confiança
 Número de replicações
13
Carlos Alberto Kamienski ([email protected])
UFABC
Avaliação de Desempenho
Simulação
Média do índice de justiça
100
95
Fases
1
90
2
5
85
10
80
75
0
20
1
30
2
40
3
50
4
Carga (chamadas - x 1000)
60
5
6
Download