Como modelar o comportamento de um sistema? MAB-515
Possibilidades de modelagem PARAMETRIZA modelo matemático experimento real AJUDA A COMPREENDER SIMULAÇÃO SOLUÇÃO ANALÍTICA MEDIDAS EXPERIMENTAIS NO MODELO REAL SOLUÇÃO EXATA abordagem mais realista abordagem menos custosa, solução mais simples APROXIMAÇÃO
Experimentação I Experimentação permite medir condições instantâneas de um sistema real A obtenção de medidas em sistemas reais pode ser inviável para situações críticas do comportamento real em condições anormais que devem ser estudadas e avaliadas para a tomada de decisões
Experimentação II Exemplo: Quanto tempo leva o núcleo de um reator para fundir? Ninguém irá fazer o experimento para medir o tempo exato. Além do mais, o tempo exato só é válido para as condições existentes no experimento. O que pode garantir que outro reator não tenha um valor diferente para a fusão do núcleo? Várias variáveis têm que ser levadas em consideração: material, temperatura, etc.
Modelagem I O que é um modelo? Um modelo é uma abstração da realidade Grande objetivo: capturar um aspecto da realidade que seja de interesse
Modelagem II Modelo = mapa da realidade mapa muito detalhado impossível ler legenda faltam detalhes impossível achar o que quer Desafio achar nível adequado de abstração Bom para achar CCMN, (depende do objetivo) ruim para achar UFRJ Bom para achar Brasil, ruim para achar UFRJ
Modelagem III Entradas e saídas de um modelo Entrada: parâmetros (e.g., taxa de chegada de clientes) Saída: medidas de interesse (e.g., vazão, atraso) Parâmetros Modelo Medidas de interesse
Experimentação versus Modelagem Experimentação Modelagem Vantagens Resultados concretos e realistas baseados em sistema real Vantagens Baixo custo Em geral rápida solução Permite entender o impacto de diferentes parâmetros do sistema nas medidas de interesse Desvantagens Pode não refletir a realidade caso as hipóteses do modelo sejam muito restritivas Desvantagens Pode não ser possível implementar o sistema Custo pode ser alto As previsões oriundas de medidas reais podem ser muito tardias para surtir efeito; Medidas em sistema em operação podem causar interferências, causando quebra de segurança, perda de confiabilidade, geração de instabilidade temporária, etc.
Roteiro Experimentação Monitores no S.O. Monitores na aplicação Modelagem Solução analítica exata Solução analítica aproximada Simulação
Monitores Monitor geral de contabilidade do sistema operacional Monitor implementado no sistema operacional de coleta de dados gerais do sistema (tempo de CPU, acessos de I/O, uso de memória ) Monitor no sistema operacional específico por aplicação Código associado ao sistema operacional para coletar dados, podendo rodar no nível de usuário eventualmente Monitor a nível de aplicação Desenvolvedor incorpora na aplicação coleta de estatísticas Monitor de S.O. específico por aplicação Aplicação Monitor de S.O. geral de contabilidade Hardware Sistema operacional
Monitores no S.O.: exemplo consumo geral de cpu e memória Monitor de S.O. geral de contabilidade Monitor de S.O. específico por aplicação consumo de cpu e memória por aplicação
Monitor a nível de aplicação
Roteiro Experimentação Monitores no S.O. Monitores na aplicação Modelagem Solução analítica exata Solução analítica aproximada Simulação
Solução analítica exata I Resolve o problema através de alguma ferramenta matemática: Probabilidade Combinatória Teoria de Filas Cadeias de Markov Processos Semi-Markovianos Recordando: modelo = abstração da realidade Atenção! A solução do modelo é exata, mas o modelo em si é uma aproximação (abstração) da realidade
Solução analítica exata II Desvantagens: Só se aplica a casos específicos, cuja solução exata seja conhecida de antemão, caso contrário encontrar a solução pode ser difícil Para a aplicação de modelos com solução conhecida, requer em geral a simplificação do modelo real para tratabilidade Compromisso (tradeoff): tratabilidade versus realismo Vantagens: Baixo custo computacional, em muitos casos (poder computacional dos computadores pessoais atuais é enorme!) Rapidez na obtenção de resultados, em muitos casos
Solução analítica aproximada Aproximações podem simplificar solução do modelo Redução do custo computacional Redução do tempo de uma previsão Aproximações podem dar uma idéia rápida da evolução do comportamento do sistema Entretanto, erros podem ser grosseiros Pode ser razoavelmente complicado determinar a faixa ótima de aplicação de uma solução aproximada
Simulação Simulação permite analisar ampla gama de sistemas de forma realista qualquer distribuição pode ser simulada comportamentos complexos podem ser simulados Tipos de simulação Mudanças estocásticas no estado do sistema podem ocorrer A qualquer instante (tempo contínuo) Somente em pontos discretos do tempo (tempo discreto)
Vantagens e desvantagens da simulação Vantagens Complexidade previsível e tempo para desenvolvimento do software pode ser equacionado Pode medir com precisão o comportamento transiente no tempo Algoritmos e programas usados no desenvolvimento da simulação podem ser usados no sistema real Desvantagens Programas de simulação complexos e podem conter erros Comportamento dos dados de entrada pode não ser disponível Alto custo computacional para execução Alto custo de construção do programa Requer análise estatística dos resultados
Resumo O comportamento de um sistema pode ser compreendido via Experimentação (realista mas custosa e deduções de difícil generalização) Modelagem (baseada em hipóteses e simplificações mas barata e deduções de fácil generalização) Objetivo deste curso: apresentar uma introdução às técnicas de modelagem de sistemas
Modelagem nas Empresas Exemplos de empresas que contam com cargo de Performance engineer Google s Performance Engineer Head: Steve Souders