INTRODUÇÃO À TEORIA DAS FILAS Uma fila é caracterizada por: • Processo de chegada dos fregueses à fila • Tempo de serviço dedicado pelo servidor a cada freguês • Número de servidores • Espaço disponı́vel para espera na fila • Polı́tica de atendimento da fila Caso o espaço seja finito, fregueses que chegam e não encontram lugar na fila de espera são perdidos. Se o espaço for infinito, não há perda de fregueses. NCE/UFRJ Teoria das Filas tfila1.tex A Fila M/G/1 A primeira letra M caracteriza o processo Poisson de chegada. A letra M vem de Markov. O processo Poisson é um caso particular de um Processo de Markov. A segunda letra G caracteriza o processo geral de serviço. O número 1 indica que temos somente um servidor. • Processo de chegada é Poisson (ou seja, o tempo entre chegadas é exponencial) com taxa λ. • Distribuição do tempo de serviço é geral A pdf do tempo de serviço é dada por bX (x), com X ∗(s). ′ O tempo médio de serviço é então dado por E[X] = −X ∗ (0). • Possui somente um servidor NCE/UFRJ Teoria das Filas tfilaMG1.tex Métricas da Fila M/G/1 • W =⇒ tempo gasto na fila de espera • Nq =⇒ número de pessoas na fila de espera • X =⇒ tempo de serviço • Ns =⇒ número de pessoas no servidor • T = W + X =⇒ tempo total gasto na fila • N =⇒ número de pessoas na fila, incluindo o serviço NCE/UFRJ Teoria das Filas tfilaMG1b.tex Resultado de Little • Seja um sistema em equilı́brio, no qual os fregueses chegam e saem a uma taxa média de λ( f regueses ) s • O sistema estando em equilı́brio significa que o número médio de pessoas no sistema N é finito, que a taxa média de saı́da é igual à taxa média de entrada e também que o tempo médio T gasto dentro do sistema é finito. regueses )⇒ λ( fsegundo N fregueses regueses ) ⇒ λ( fsegundo A expressão conhecida como Resultado de Little (Little’s Result) afirma que: E[N ] = λE[T ]. Este resultado é valido qualquer que seja o sistema em consideração. NCE/UFRJ Teoria das Filas tfila2.tex Análise da Fila M/G/1 Aplicando Little e considerando • Toda a fila: E[N ] = λE[T ] = λ(E[W ] + E[X]) = λE[W ] + λE[X] • Apenas a fila de espera: E[Nq ] = λE[W ] • Apenas o servidor: E[Ns ] = λE[X]. • A grandeza λX = λ/µ é chamada ρ e representa a utilização do sistema. P{ sistema está ocupado} = P{ pelo menos uma pessoa no sistema} = P{ servidor ocupado } = % do tempo que o servidor está ocupado = ρ, P{ sistema está vazio} = % do tempo que o servidor está vazio = 1 − ρ. NCE/UFRJ Teoria das Filas tfilaMG1a.tex Chegadas Poisson Correspondem a Amostragem Aleatória • Sabemos que chegadas Poisson correspondem a uma amostragem aleatória do sistema de filas ( este resultado pode ser deduzido matematicamente) Em inglês, Poisson Arrivals See Time Averages (PASTA) • Podemos então afirmar que um freguês genérico encontrará a fila ocupada com probabilidade ρ, e com probabilidade 1 − ρ encontrará a fila vazia. • Lembre-se que a fila passa por estados alternados de ociosidade e ocupação, e uma amostragem aleatória cai num intervalo ocupado com probabilidade ρ e num intervalo vazio com probabilidade 1 − ρ. NCE/UFRJ Teoria das Filas tfila14.tex Como Calcular W para M/G/1? Para um freguês genérico chegando à fila, o seu tempo médio de espera W será o tempo médio para servir os fregueses que são encontrados em espera na fila mais o tempo médio para terminar o serviço (serviço residual = E[Xr ]) do freguês eventualmente encontrado em serviço (com probabilidade ρ). Assim: E[W ] = E[Nq ]E[X] + E[Ns]E[Xr ] = λE[W ]E[X] + λE[X]E[Xr ] = ρE[W ] + ρE[Xr ] λE[X 2 ] r] = ρE[X = 1−ρ 2(1−ρ) Com E[T ] = E[W ] + E[X], E[N ] = λE[T ] e E[Nq ] = λE[W ]. • Para M/D/1 (serviço determinı́stico) X = E[X] = 1/µ e E[X 2] = 1/µ2. Então: ρ λ = E[WM/D/1] = 2 2µ (1 − ρ) 2µ(1 − ρ) • Para M/M/1, com E[X] = 1/µ, temos ρ E[WM/M/1] = µ(1 − ρ) Resultados válidos para qualquer ordem de atendimento que não seja dependente do tempo de serviço. NCE/UFRJ Teoria das Filas tfila23a.tex Vida Residual de uma Distribuição Qualquer Amostre aleatoriamente uma fila durante seu perı́odo ocupado. Seja Xs o intervalo do serviço selecionado, Xr a vida residual do intervalo selecionado e Xi a idade do intervalo selecionado. Temos, Xs = Xi + Xr . Por simetria e reversibilidade do tempo, Xi e Xr têm igual pdf. Seja fXs (t) a pdf de Xs. Intervalos maiores terão maior probabilidade de serem selecionados e, então, intuitivamente, espera-se que P {t ≤ Xs ≤ t + dt} seja diretamente proporcional a t vezes a probabilidade de ocorrência de intervalos deste tamanho P {t ≤ X ≤ t + dt}. Assim, P {t ≤ Xs ≤ t + dt} = t P {t m ≤ X ≤ t + dt}, ou fXs (t) = t f (t). m X A constante m serve para normalização e 0∞ fXs (t)dt = 1 implica X (t) em m = E[X]. Consequentemente, fXs (t) = tfE[X] e R E[Xs] = Z ∞ 0 tfXs (t)dt = R∞ 0 t2fX (t)dt E[X 2] = E[X] E[X] Como E[Xs] = 2E[Xr ], temos E[Xr ] = NCE/UFRJ E[X 2 ] . 2E[X] Teoria das Filas tfila221.tex Densidade e Distribuição da Vida Residual P {Xr ≤ y} = Z ∞ P {Xr ≤ y|x < Xs ≤ x + dx}P {x < Xs ≤ x + dx}, mas x=0 Observando que a amostragem aleatória cai uniformemente em qualquer ponto do intervalo Xs , podemos então afirmar que: P {Xr ≤ y|x < Xs ≤ x + dx} = ( 1 para x < y para 0 ≤ y ≤ x y x Substituindo o valor da probabilidade condicional, e lembrando que a pdf do X (x) , obtemos: intervalo escolhido fXs (x) = xfE[X] P {Xr ≤ y} = Z y P {x < Xs ≤ x + dx} + 0 = = = = y Z ∞ y y P {x < Xs ≤ x + dx} x y fXs (x)dx + fX (x)dx x s 0 y Z ∞ yfX (x) dx FXs (y) + E[X] y Z ∞ y FXs (y) + fX (x)dx E[X] y y FXs (y) + (1 − FX (y)) E[X] Z Z ∞ fXr (y) é obtida derivando P {Xr ≤ y} em relação a y. Lembrando que X (y) , temos: fXs (y) = yfE[X] fXr (y) = dP {Xr ≤ y} yfX (y) 1 − FX (y) yfX (y) = + − dy E[X] E[X] E[X] 1 − FX (y) = E[X] NCE/UFRJ Teoria das Filas tfila222.tex Transformada de Laplace da Densidade da Vida Residual Pode-se facilmente mostrar que: f (t), t ≥ 0 ⇐⇒ F ∗(s), Rt F ∗ (s) f (y)dy ⇐⇒ 0 s . Usando esta propriedade e o fato de u−1(t) = 1, t ≥ 0 ⇐⇒ 1s , ∗ X (t) podemos inverter fXr (t) = 1−F E[X] e obter diretamente Xr (s). Assim, X ∗(s) 1 − X ∗(s) 1 ∗ − = Xr (s) = sE[X] sE[X] sE[X] onde fX (t) ⇐⇒ X ∗(s) é a T. L. da pdf do tempo de serviço X. Deduzindo diretamente: Xr∗ (s) = = = = = e−st (1 − FX (t))dt E[X] 0 Z t Z ∞ Z ∞ −st 1 e dt fX (y)dydt e−st dt − E[X] E[X] 0 0 0 Z ∞ Z ∞ 1 1 −st − e dt fX (y)dy sE[X] E[X] y=0 t=y Z ∞ Z ∞ 1 1 1 −st se dt fX (y)dy − sE[X] E[X] y=0 s t=y Z ∞ 1 1 − X ∗ (s) 1 e−sy fX (y)dy = − sE[X] sE[X] y=0 sE[X] Z ∞ NCE/UFRJ Teoria das Filas tfila223.tex Como Modelar um Canal de Comunicação de Capacidade C bps? • Suponha pacotes de dados de tamanho exponencial, com tamanho médio igual a 1/µ bits. O tempo médio de transmissão de um pacote será E[X] = E[Xr ] = 1/µ C = 1 . µC • Modelando o canal como uma fila M/M/1, obtemos: E[T ] = •ρ= E[X] 1−ρ = 1 µC−λ λ µC . NCE/UFRJ Teoria das Filas tfila16.tex Suposição de Independência (Kleinrock 64) • Num nó, os pacotes considerados para transmissão num determinado canal de comunicação podem ser pacotes locais originados de aplicações no próprio nó ou serem pacotes em trânsito pelo nó e oriundos de nós vizinhos. • A análise matemática exata de um sistema complexo em que pacotes de diferentes tamanhos circulam por uma rede de comunicação é em muitos casos intratável. • Para que haja tratabilidade nos sistemas de comunicação de dados e simplicidade das expressões matemáticas, o princı́pio da independência assume que: o pacote perde a sua identidade ao se propagar pela rede de comunicação, e que um novo tamanho é escolhido em cada nó intermediário (normalmente segundo uma distribuição exponencial) para efeito de modelagem. • Esta suposição de independência foi validada através de simulações e medidas feitas em sistemas reais têm demonstrado a eficácia da aproximação. NCE/UFRJ Teoria das Filas tfila17.tex Exemplo: Concentrador de Comunicação • Suponha um nó concentrador que recebe 4 fluxos Poisson de 4800 bps com taxa λi = 2 pacotes/s e transmite-os em um único canal de 9600 bps. Assuma que o tamanho médio de pacote é E[L] = 1000 bits e que a distribuição é exponencial com taxa µ = 1/1000. A taxa total é λt = 4λi = 8 pacotes/s. • Calculando E[T ] obtemos: 1 1 = 9,6−8 = 0, 625 E[T ] = µC−λ Tempo médio total no concentrador = 0,625 s • Número médio de pacotes no concentrador = E[N ] = λt E[T ] = 8 × 0, 625 = 5. • Utilização da linha = ρ = λ µC = 8 9,6 ≈ 83 %. A linha é vista como servidor, e o tempo de serviço é o tempo de transmissão do pacote. NCE/UFRJ Teoria das Filas tfila18.tex Quantos Buffers Devo Manter no Concentrador? E[N ] não indica o número máximo de pacotes que podem se enfileirar no concentrador, mas veremos que serve como uma indicação. Na prática o # de buffers teria um valor B, tal que a probabilidade de encontrar o sistema com B ou mais pacotes fosse menor que um valor determinado α, ou de forma equivalente, a probabilidade de encontrar o sistema com menos de B buffers ocupados seria igual ou maior que 1 − α. Para M/M/1, Pk = prob. de encontrar a fila com k pacotes = (1 − ρ)ρk . Modelando o sistema como uma fila M/M/1, Então, PB−1 k=0 Pk = 1 − ρB ≥ 1 − α. ρB ≤ α =⇒ Blog ρ ≤ log α , mas como log ρ < 0, resulta B≥ log α log ρ α ρ N B≥ 0,01 0,83 5 26 0,01 0,90 9 44 0,01 0,95 19 90 Assim, um # de buffers da ordem de pelo menos 5 vezes o número médio de pacotes no sistema seria razoável, como uma primeira aproximação. NCE/UFRJ Teoria das Filas tfila19.tex Dedicado versus Compartilhado Suponha que tenhamos uma linha de 64 Kbps e oito sessões abertas nesta linha. Se cada sessão tem tráfego de pacotes Poisson com taxa λs = 2 pacotes/s e tamanho médio L = 1/µ = 2000 bits, divido a linha em 8 fatias (usando TDM ou FDM), ou tento compartilhar usando ATDM? Ambas as soluções têm a mesma utilização nas filas. • Usando TDM ou FDM Temos: λs = 2 e capacidade do canal dedicado = Cs = 8 Kbps. 1 = 12 = 500 ms. Logo: Ts = µC−λ • Compartilhando Temos: λc = 8λs = 16 pacotes/s e Cc = 64 Kbps. Logo: Tc = µCc1−λc = 62, 5 ms e portanto o sistema compartilhado é 8 vezes melhor. NCE/UFRJ Teoria das Filas tfila20.tex Sistemas Maiores São Melhores Assuma um sistema A que atende a uma população de N pessoas e usa um canal de comunicação com capacidade de C bps. Assuma um sistema B que atende a uma população k vezes maior (kN) e possui um canal também k vezes mais rápido (kC bps), com a mesma utilização do sistema A. Do ponto de vista do usuário é melhor ele estar sendo atendido pelo sistema A ou pelo sistema B? Seja 1/µ o tamanho médio dos pacotes e vamos modelar os sistemas por uma fila M/M/1. Então: TA = 1 µC−λ e TB = 1 µkC−kλ = TA k . O sistema B é portanto k vezes melhor! NCE/UFRJ Teoria das Filas tfila21.tex