Avaliação de Desempenho Simulação Carlos Alberto Kamienski ( cak@ufabc.edu.br ) UFABC.

Post on 22-Apr-2015

107 views 0 download

Transcript of Avaliação de Desempenho Simulação Carlos Alberto Kamienski ( cak@ufabc.edu.br ) UFABC.

Avaliação de Desempenho Avaliação de Desempenho

SimulaçãoSimulação

Carlos Alberto Kamienski (cak@ufabc.edu.br)

UFABC

1

2

5

10

75

80

85

90

95

100

0 1 2 3 4 5 6

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 (cak@ufabc.edu.br)

UFABC

1

2

5

10

75

80

85

90

95

100

0 1 2 3 4 5 6

dia

do ín

dic

e d

e ju

stiç

a

Carga (chamadas - x 1000)

20 30 40 50 60

Fases