por que modelar o comportamento de um sistema?sadoc/ad20131/motivacao4.pdf · de cpu e memória por...

20
Como modelar o comportamento de um sistema? MAB-515

Upload: lammien

Post on 18-Jan-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Como modelar o comportamento de um sistema?

MAB-515

Possibilidades de modelagem

experimento real

modelo matemático

SIMULAÇÃO

SOLUÇÃOEXATA

MEDIDAS EXPERIMENTAIS NO MODELO REAL

APROXIMAÇÃO

SOLUÇÃO ANALÍTICA

PARAMETRIZA

AJUDA A COMPREENDER

abordagem mais realista

abordagem menos custosa, solução mais simples

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 IIModelo = 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(depende do objetivo)

Bom para achar Brasil, ruim para achar UFRJ

Bom para achar CCMN, 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)

ModeloParâmetros Medidas de

interesse

Experimentação versus ModelagemExperimentação

Vantagens• Resultados concretos e

realistas baseados em sistema real

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.

Modelagem

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

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

Aplicação

Sistema operacional

Hardware

Monitor de S.O.específicopor aplicação

Monitor de S.O.geral decontabilidade

Monitores no S.O.: exemplo

Monitor de S.O.específicopor aplicação

Monitor de S.O.geral decontabilidade

consumogeral de cpu e memória

consumode cpu e

memória poraplicaçã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