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 (padrão é FCFS se nada for dito) 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 um 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 com pdf bX (x) e T.L. X ∗(s). ′ O tempo médio de serviço dado por E[X] = −X ∗ (0). • Possui somente um servidor Casos particulares: • M/D/1: serviço determinı́stico • M/M/1: serviço exponencial 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 Em geral, estamos interessados ou nos valores médios destas grandezas ou nas transformadas correspondentes 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 E[W ] para M/G/1 FCFS? Para um freguês genérico, o seu tempo médio de espera E[W ] será a soma das seguintes parcelas • tempo médio para servir os fregueses que são encontrados na fila de espera • tempo médio do serviço residual (= E[Xr ]) do servidor encontrado ocupado (prob. = ρ). E[W ] = E[Nq ]E[X] + E[Ns]E[Xr ] = λE[W ]E[X] + λE[X]E[Xr ] r] = ρE[W ] + ρE[Xr ] = ρE[X 1−ρ = λE[X 2 ] 2(1−ρ) E[T ] = E[W ] + E[X], E[N ] = λE[T ], E[Nq ] = λE[W ] • Para M/D/1 (serviço determinı́stico) X = E[X] = 1/µ (constante), E[X 2] = 1/µ2. E[WM/D/1] = ρ λ = 2µ2(1 − ρ) 2µ(1 − ρ) • Para M/M/1, com E[X] = 1/µ, 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. • Xs, o serviço selecionado • Xr , a vida residual do serviço selecionado (quanto falta até o seu término ) • Xi, a idade do serviço selecionado (quanto tempo do serviço já transcorrido) Xs = Xi + Xr . Por simetria e reversibilidade do tempo, Xi e Xr têm igual pdf. NCE/UFRJ Teoria das Filas tfila221.tex Vida Residual de uma Distribuição Qualquer Seja fXs (t) a pdf de Xs, o intervalo selecionado. • Intervalos de tamanho t terão maior probabilidade de serem selecionados quanto maior for t e quanto maior for a probabilidade de ocorrência de intervalos deste tamanho ( P {t ≤ X ≤ t + dt} • Intuitivamente, P {t ≤ Xs ≤ t + dt} será diretamente proporcio-nal a tP {t ≤ X ≤ t + dt} . P {t ≤ Xs ≤ t + dt} = t m P {t ≤ X ≤ t + dt}, ou fXs (t) = t m fX (t). A constante m serve para normalização. ∫∞ A conservação de probabilidade 0 fXs (t)dt = 1 =⇒ m = E[X]. X (t) Consequentemente, fXs (t) = tfE[X] e ∫∞ 2 ∫ ∞ E[X 2] 0 t fX (t)dt E[Xs] = tfXs (t)dt = = E[X] E[X] 0 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} = P {Xr ≤ y|x < Xs ≤ x + dx}P {x < Xs ≤ x + dx} x=0 Condicionando no valor de Xs e observando que a amostragem aleatória cai uniformemente em qualquer ponto do intervalo, obtemos { P {Xr ≤ y|x < Xs ≤ x + dx} = 1 y x para x < y para 0 ≤ y ≤ x Substituindo o valor da probabilidade condicional, e lembrando que a pdf do X (x) intervalo escolhido fXs (x) = xfE[X] , obtemos: ∫ P {Xr ≤ y} = = = = = ∫ ∞ y P {x < Xs ≤ x + dx} + P {x < Xs ≤ x + dx} x=0 x=y x ∫ y ∫ ∞ y fX (x)dx fXs (x)dx + x s 0 y ∫ ∞ yfX (x) FXs (y) + dx E[X] y ∫ ∞ y FXs (y) + fX (x)dx E[X] y y (1 − FX (y)) FXs (y) + E[X] y fXr (y) é obtida derivando P {Xr ≤ y} em relação a y. Lembrando que fXs (y) = fXr (y) = yfX (y) E[X] , temos: 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), t F ∗ (s) f (y)dy ⇐⇒ 0 s . Usando esta propriedade e o fato de u−1(t) = 1, t ≥ 0 ⇐⇒ 1s , podemos inverter fXr (t) = sim, Xr∗(s) 1−FX (t) E[X] e obter diretamente Xr∗(s). As- 1 X ∗(s) 1 − X ∗(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 ∫ t ∫ ∞ −st ∫ ∞ e dt 1 −st − e dt fX (y)dydt E[X] E[X] 0 0 0 ) ∫ ∞ (∫ ∞ 1 1 −st − e dt fX (y)dy sE[X] E[X] y=0 t=y ) ∫ ∞( ∫ ∞ 1 1 1 − se−st dt fX (y)dy sE[X] E[X] y=0 s t=y ∫ ∞ 1 1 1 − X ∗ (s) − e−sy fX (y)dy = sE[X] sE[X] y=0 sE[X] 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. A linha é vista como servidor, e o tempo de serviço é o tempo de transmissão do pacote. • Calculando E[T ] obtemos: E[T ] = 1 1 = = 0, 625 µC − λ 9, 6 − 8 Tempo médio total no concentrador = 0,625 s • Número médio de pacotes no concentrador = E[N ] = λtE[T ] = 8 × 0, 625 = 5. • Utilização da linha = ρ = λ µC = NCE/UFRJ 8 9,6 ≈ 83 %. Teoria das Filas tfila18.tex Quantos Buffers Devo Manter no Concentrador? • Na prática o # de buffers teria um valor B, tal que P { encontrar o sistema com B ou mais pacotes } < α P { encontrar o sistema com menos de B buffers ocupados } ≥ 1 − α • Para M/M/1, Pk = P { encontrar a fila com k pacotes } = (1 − ρ)ρk . ∑ B • Modelando o sistema como uma fila M/M/1, B−1 k=0 Pk = 1 − ρ ≥ 1 − α. ρB ≤ α =⇒ Blog ρ ≤ log α , mas como log ρ < 0, resulta B≥ log α log ρ α ρ E[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 num condomı́nio com 40 apartamentos é oferta uma banda larga individual de 1M bps. Pelo mesmo preço de 40 assinaturas individuais é possı́vel comprar uma assinatura predial com 40M bps compartilhada entre todos os condôminos. Pensando apenas no desempenho percebido por cada indivı́duo, qual solução seria mais efetiva? Assuma que o tráfego de cada condômino é Poisson com taxa λi = 1000 pacotes/s e tamanho médio L = 1/µ = 800 bits. Modelando com M/M/1, as duas soluções possuem a mesma utilização, pois o tráfego e a capacidade do canal são proporcionais. • Usando assinatura individual Temos: λi = 1000 e capacidade do canal dedicado = Cs = 1 Mbps. 1 1 Logo: Ti = µC−λ = 250 = 4ms. • Compartilhando na assinatura predial Temos: λp = 40λi = 40.000 pacotes/s e Cp = 40M bps. Logo: Tc = µCp1−λp = 0, 1ms e portanto o sistema compartilhado é 40 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