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