Avaliação de Desempenho Simulação Carlos Alberto Kamienski ( [email protected] ) UFABC.
Transcript of Avaliação de Desempenho Simulação Carlos Alberto Kamienski ( [email protected] ) UFABC.
Avaliação de Desempenho Avaliação de Desempenho
SimulaçãoSimulação
Carlos Alberto Kamienski ([email protected])
UFABC
1
2
5
10
75
80
85
90
95
100
0 1 2 3 4 5 6
Mé
dia
do ín
dic
e d
e ju
stiç
a
Carga (chamadas - x 1000)
20 30 40 50 60
Fases
2
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
5
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)
6
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
7
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
8
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
9
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
10
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
11
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
12
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?
13
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
Avaliação de Desempenho Avaliação de Desempenho
SimulaçãoSimulação
Carlos Alberto Kamienski ([email protected])
UFABC
1
2
5
10
75
80
85
90
95
100
0 1 2 3 4 5 6
Mé
dia
do ín
dic
e d
e ju
stiç
a
Carga (chamadas - x 1000)
20 30 40 50 60
Fases