Modelos Probabilísticos
Somente para lembrar... Modelos são extremamente importantes para o estudo do desempenho de um sistema antes de implementá-lo na prática! Foguete proposto tem confiabilidade? Devemos utilizar 2,3,4 ou 5 replicações de um banco de dados para que a disponibilidade seja a maior possível? O que acontece se utilizarmos uma determinada 'droga' para a cura de uma doença? Como reage o coração?
Até agora... Equações diferenciais, equações diferenciais, equações diferenciais Modelagem de sistemas biológicos
Modelagem e Análise de Sistemas O que é desempenho? de Computação Medida da capacidade de resposta de um sistema Como analisar o desempenho de um sistema? Medições, análise quantitativa Métricas de desempenho Por quê? Aspecto chave no projeto, compra e uso de um sistema de computação
Modelagem e Análise de Sistemas Para que? de Computação Identificar pontos de contenção e/ou desperdício no sistema Avaliar múltiplas alternativas de projeto Determinar configuração ótima dos parâmetros de um sistema Planejamento de carga Onde? Redes de Computadores, Arquitetura, Sistemas operacionais, aplicações
Modelos Probabilísticos Processos Estocásticos Processos de Poisson Filas M/M/1, M/G/1... Mais genericamente: modelos markovianos Qual a probabilidade de um sistema estar em um determinado estado? Quantos e quais são os estados? Quais as probabilidades de transição entre pares de estados?
Modelos Probabilísticos Exemplo: Como modelar sistemas P2P com mútliplos canais? Peers recebem o conteúdo na mesma taxa em que este está sendo gerado? Qual o número médio de canais que estão fornecendo o serviço com qualidade satisfatória? Modelos de fila são usados para modelar algumas características destes sistemas! Queueing Network Models for Multi-channel P2P live streaming systems Wu et al.
Modelos Markovianos Exemplo : Servidor de Banco de Dados Computador com uma CPU e dois discos rodando um servidor de banco de dados. Para manter QoS, apenas 2 usuários no banco de dados por vez Um disco é 2x mais rápido que o outro Transação típica: 10 seg. de CPU 15 seg. no disco rápido (caso arquivo neste disco) 30 seg no disco lento) Transações têm igual probabilidade de encontrar os arquivos requisitados em qualquer um dos discos
Modelos Markovianos Exemplo : Servidor de Banco de Dados Perguntas: Usuário: Qual o tempo de resposta típico? Administrador do sistema: Qual a utilização de cada recurso do sistema? Presidente da companhia: Qual desempenho do sistema se eu dobrar o número de usuários ativos no sistema Qual o tempo de resposta se eu tiver que migrar todos os arquivos do disco mais rápido para o mais lento?
Modelos Markovianos Exemplo : Dimensionamento de redes de comunicação Um provedor de serviços deve reestruturar a capacidade dos links da sua rede de computação Solução 'rápida': multiplique a capacidade por 10! No entanto, não existe nada que garanta a QoS - Ou então: caracterizar o tráfego que atravessa o link e obter resultados de como um roteador se comporta ao receber este tráfego Fontes de vídeo, A histogram-based Model for Video Traffic Behavior in an ATM Multiplexer Skelly et al Tráfego backbone', Metodologia de Dimensionamento com QoS usando cadeias de Markov ocultas Souza e Silva et al
Modelos Markovianos Exemplo : Como calcular o retardo médio em redes? - Retardo influencia enormemente na escolha e desempenho de algoritmos de roteamento e controle de fluxo. - Importante compreender a natureza e o mecanismo do retardo, e a maneira como este depende das características da rede. - Uma grande ferramenta matemática: Teoria de Filas! Muitos resultados são baseados em modelos markovianos... M/M/1, M/M/m, etc...
Modelos Markovianos Exemplo : Como prever perdas em redes? - Para aplicações de voz, a qualidade é essencial - Diversos métodos podem ser usados para minimizar perdas - Mas quando saber que perdas estão ocorrendo na rede? E como adaptar a minha aplicação multimídea para 'lidar' com as perdas? Modeling the shortterm dynamics of packet losses Silveira et al Exemplo: Como avaliar e modelar dependência das perdas na Internet? "Measurement and Modeling of the Temporal Dependence in Packet Loss" Yajnik et al
Solução de Modelos Markovianos Objetivo: achar as probabilidades a longo prazo de estar em cada estado particular Estado estacionário independe do estado inicial do sistema Como fazer? Utilizar conjunto de equações de equilíbrio lineares N estados -> N incógnitas (probabilidades) -> N equações Equações derivadas a partir dos fluxos entrando e saindo de cada estado fluxo entrando = fluxo saindo (para cada estado Equação da conservação da probabilidade total Soma das probabilidades a longo prazo = 1
Premissas e Limitações Premissa de memoryless / sem memória: Cada estado captura todas as infos importantes do sistema. Próximo estado só depende do estado corrente (e não dos estados anteriores) Limitação resultante: Possível explosão do espaço de estados Se ordem é importante, se jobs são distintos (múltiplas classes) estado tem que capturar isto: Ex: 10 classes de clientes na CPU, FIFO (ordem importa): número de estados = 10! = 3.6 milhões. Se jobs estatisticamente iguais: estado pode ser identificado por um número (# clientes na CPU)
Premissa exponencial: Premissas e Limitações Tempo gasto entre eventos relevantes (tempo gasto em um estado) segue distribuição exponencial : modelos de markov com tempo contínuo (servidor de banco de dados) Prob (T > s + t T > s] = Prob (T > t) Limitação resultante: Exponencial pode não ser uma boa aproximação Possível solução: estágios
Ferramentas Tangram II: Ferramenta de código aberto Desenvolvida para fins de pesquisa (LAND-UFRJ) Modelos Analíticos Cadeias de Markov Diversos Métodos Numéricos para solução de medidas de interesse Simulação www.land.ufrj.br
Nestas 6 Aulas... Somente uma breve introdução dos Modelos Markovianos! Revisão dos principais conceitos de Probabilidade Definição de Processos Estocásticos Cadeias de Markov Discretas e Contínuas Métodos Numéricos para resolver cadeias de Markov
BASIC ELEMENTS OF QUEUEING THEORY - Application to the Modelling of Computer Systems (Lecture Notes) Philippe Nain Livros... Probability and Statistics with Reliability, Queueing and Computer Science Applications Kishor S. Trivedi Queueing Systems: Volume1 Leonard Kleinrock Stochastic Processes Sheldon Ross