© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Análise de Resultados de Simulação Paulo Adeodato Departamento de Informática Universidade Federal.

Slides:



Advertisements
Apresentações semelhantes
Gerenciamento do Tempo do Projeto
Advertisements

Simulação de Sistemas Antonio J. Netto AULA1.
WebDesign Redes de Computadores Aula 07
Técnicas de Simulação e Simulação Aplicada
Fundamentos de Engenharia de SW
Diagrama de fluxo de dados (DFD)
Teste de Software.
Identificando requisitos
Mineração de Dados Avaliação de Classificadores
Diretrizes para Desenvolvimento do Projeto
Sistemas Operacionais Planejamento de Experimento
Avaliação de Desempenho Planejamento de Experimentos 2 Aula 2 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de.
Avaliação de Desempenho
Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas.
Rejane Sobrino Pinheiro Tania Guillén de Torres
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
COMO FUNCIONA A SIMULAÇÃO
Algoritmos Genéticos - Capítulo 10 Representação Numérica
Abordagem Estratégica ao Teste de Software
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Performance em aplicações web – Parte I
Princípios e Conceitos de Software(v2)
J. Landeira-Fernandez Ética e Ciência
Software de Rede Willamys Araújo.
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
REDUNDÂNCIA POR SOFTWARE
Introdução a Computação e Cálculo Numérico
Conceito de Controle Estatístico de Processos - CEP
Informática Teórica Engenharia da Computação
Programação Avançada Simulação – Conceitos básicos
Comparação entre os métodos de ordenação
Projeto: Capacitação em GP
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Gerenciamento da Integração
Etapa Estatística Planejamento Análise Estatística Efeito de sequência
Amintas engenharia.
Aula 6 - Método não-experimental ou de seleção não-aleatória
PLANEJAMENTO DO EXPERIMENTO
Avaliação de Desempenho Simulação
Experimentação Algorítmica
Teste de Software Conceitos iniciais.
Modelagem de Sistemas Dinâmicos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Formas de calibração 1º - Padrões externos É a forma mais utilizada de calibração. São utilizadas soluções contendo concentrações conhecidas do analito.
Gestão de defeitos.
Engenharia de Software
Avaliação de Desempenho UFABC Pós-graduação em Engenharia da Informação Professor: Carlos Alberto Kamienski ( ) Santo André, Fevereiro.
Sistemas Operacionais
© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas A Arte da Apresentação de Dados Paulo Adeodato Departamento de Informática Universidade Federal.
MSCC - Introdução Baseado no capítulo 1 do livro Performance Evalution of Computer and Communication Systems, de Jean-Yves Le Boudec (EPFL)
Avaliação de Desempenho de Sistemas Leis Operacionais de Filas
Regressão e Previsão Numérica.
Gestão de projetos de Software GTI-16
ERROS E TRATAMENTO DE DADOS ANALÍTICOS
Capítulo 9: SAD orientado a Modelo
Avaliação de Desempenho de Sistemas Introdução Paulo Adeodato Grupo de Inteligência Computacional Departamento de Informática Universidade Federal de Pernambuco.
©2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Geradores de Números Aleatórios Paulo Adeodato Departamento de Informática Universidade Federal.
Controle de Processos por Computador
Avaliação de Desempenho de Sistemas Introdução
Abordagem Sistemática Guilherme Amaral Avelino Avaliação e Controle de Sistemas de Informação.
Avaliação de Desempenho de Sistemas Introdução à Simulação
Metodologia da Pesquisa em Ensino de Ciências I
UNIDADE 2 – ZEROS DAS FUNÇÕES REAIS
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
©2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Introdução à Teoria das Filas Paulo Adeodato Departamento de Informática Universidade Federal.
© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Teste de Geradores de Números Aleatórios Paulo Adeodato Departamento de Informática Universidade.
©2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Análise de Fila Única Paulo Adeodato Departamento de Informática Universidade Federal de Pernambuco.
Módulo I Capítulo 7: Funções e Procedimentos William Ivanski Curso de Programação C#
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Transcrição da apresentação:

© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas Análise de Resultados de Simulação Paulo Adeodato Departamento de Informática Universidade Federal de Pernambuco

© 2000 Paulo Adeodato Conteú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ção Passos 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 Modelo Verificaçã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 Modelo Simulações são programas longos e nelas se aplicam técnicas gerais de programação: de desenvolvimento, depuração e manutenção de programas de modularidade em procedimentos e interfaces de 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 processo restrições a casos determinísticos restrições às mesmas sementes para os geradores de números aleatórios

© 2000 Paulo Adeodato Técnicas de Verificação do Modelo-1 1. Projeto Modular Top Down 2. Medidas Antibugs 3. Varrida Estruturada 4. Modelos Determinísticos 5. Execução de Casos Simplificados 6. Trace 7. Apresentação de Gráficos On-Line 8. Teste de Continuidade 9. Testes Degenerativos 10. Testes de Consistência 11. Independência das Sementes

© 2000 Paulo Adeodato Técnicas de Verificação do Modelo-2 1. 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-3 2. 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-4 5. 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: t Trace de eventos t Trace de procedimentos t 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-5 7. 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-6 Teste de Continuidade (continuação) AntesDepois

© 2000 Paulo Adeodato Outras Técnicas de Verificação do Modelo 9. Testes Degenerativos: Tente usar configurações e cargas extremas: uma CPU nenhum disco ou 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-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-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-3 1. 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 t Seleção = função do estágio do ciclo de vida do sistema t Apresentar e discutir hipóteses, entradas e saídas t Validar uma parte de cada vez ao longo do processo t 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-4 2. 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-5 3. Resultados Teóricos Fazer Análise = Simulação sob hipóteses simplificadas em: y = ax 2 + bx + c ou y = k (x - x 1 ) (x - x 2 ) fazer: b = c = 0 ou x 1 = x 2 = 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-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 2 a ordem (RLC) superamortecidosubamortecido

© 2000 Paulo Adeodato Remoçã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-1 1. 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-2 3. 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 = 10 Algumas vezes pode produzir resultados incorretos (se tiver máximo ou mínimo no transiente)

© 2000 Paulo Adeodato Técnicas de Remoção de Transientes-3 4. 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 x ij = 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: 2. Obtenha a média global

© 2000 Paulo Adeodato Técnicas de Remoção de Transientes-4 Descarte 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: 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 relativa 7. Valor de l no joelho = comprimento do intervalo transiente

© 2000 Paulo Adeodato Técnicas de Remoção de Transientes-5 Descarte dos dados iniciais (continuação)

© 2000 Paulo Adeodato Técnicas de Remoção de Transientes-6 5. 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-7

© 2000 Paulo Adeodato Técnicas de Remoção de Transientes-8 6. Médias de Lotes (Batch) Execute uma simulação longa e divida-a em partes (batches ou lotes ) de igual duração 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-9 Mé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, 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.

© 2000 Paulo Adeodato Técnicas de Remoção de Transientes-10 Médias de Lotes (Batch) (continuação) Motivação: t Comprimento do lote << transiente  média global = média inicial  Menor variância t Comprimento do lote >> transiente  média global = média do estado permanente  Menor variância Ignore os picos seguidos por uma nova subida.

© 2000 Paulo Adeodato Critério de Parada: Estimativa da Variância-1 * Execute até que o intervalo de confiança seja estreito o bastante * 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 Variância-2 * Para observações correlacionadas: * 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ância 1-Replicações Independentes * Supõe que as médias de replicações independentes são independentes * Conduza m replicações de tamanho n +n 0 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-1 Replicações Independentes (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-2 Médias de Lotes (batches)-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-2 Médias de Lotes (batches)-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 independentes Mantenha os lotes longos para evitar correlações Verificaçã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 (batches)-2 Estudo 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 loteAutocovariânciaVariância 1-0,187921, ,026430, ,110240, ,089790, ,040010, ,011080, ,000100, ,003780, ,000270, ,000690, ,000780,00202 Com comprimento 64, auto-covariância < 1% da variância da amostra

© 2000 Paulo Adeodato Técnicas de Estimativa da Variância-3 Método Regenerativo-1 * 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-3 Método Regenerativo-2 * 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-3 Método Regenerativo-3 * 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-3 Método Regenerativo-4 * 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-3 Método Regenerativo-5 * 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-3 Método Regenerativo-5 * 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 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ção Técnicas semelhantes às de remoção de transientes.

© 2000 Paulo Adeodato Tratamento de Entidades Abandonadas * Tempo médio de serviço: Tempo total de serviço Número de jobs que completaram o serviço * Tempo médio de espera: Soma do tempo de espera Número de jobs que receberam serviço * Comprimento Médio da Fila: Comprimento da fila no evento j Número de eventos n Comprimento-da-fila(t)dt

© 2000 Paulo Adeodato Referências Bibliográficas * Raj Jain (1991) The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement and Modeling John Wiley & Sons Capítulo 25

© 2000 Paulo Adeodato

Redução da Variância * Reduza a variância através do controle das cadeias de números aleatórios Introduz 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: Exercí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.