Filas finitas e redes de Jackson
Poisson, capacidade limitada, bloqueio, M/G/1 e taxas numa rede de filas.
Uma interface com espaço total para dois pacotes rejeita uma chegada quando já há um pacote em transmissão e outro à espera. A taxa oferecida conta também essa chegada, enquanto a taxa admitida só conta os pacotes que entram; esta diferença muda a aplicação da lei de Little.
Poisson e serviço
A contagem Poisson e os tempos entre chegadas já permitem calcular silêncio: . A taxa média não impõe intervalos fixos entre pacotes.
Duas fontes Poisson independentes, de 20 e 30 pacotes/s, formam um processo Poisson de 50 pacotes/s quando se juntam. Se cada chegada desse agregado escolher uma saída com probabilidade 0,4, independentemente das outras, essa saída recebe um processo Poisson de 20 pacotes/s e a outra de 30; somar fluxos dependentes ou escolher uma saída conforme o estado das filas não garante estas propriedades.
A letra M em M/M/1 refere-se a processos sem memória: o tempo decorrido não altera a distribuição do tempo restante. O primeiro M descreve as chegadas; o segundo descreve o serviço. Alterar só os comprimentos de pacotes para constantes muda M/M/1 para M/D/1, mantendo a hipótese Poisson à entrada. As distribuições seguintes precisam de ser escolhidas pelas duas condições, não apenas pela taxa média.
M/M/1/B e bloqueio
Nesta página, B é a capacidade total do sistema, incluindo serviço. Se um enunciado usar B só para espera, substitui por B+1. Confirma a convenção antes de usares fórmulas.
Por exemplo, com , «um buffer» como um lugar total dá e bloqueio . Se significar um lugar de espera além do servidor, e o bloqueio é . Não resolves a ambiguidade do enunciado escolhendo uma das fórmulas sem declarar a interpretação.
Em equilíbrio, cada fronteira entre estados n−1 e n equilibra subidas e descidas (), daqui resulta e sai da normalização da soma até B. Com , existem estados 0 até B. Para :
Para , todos os estados têm probabilidade . A probabilidade de bloqueio é , porque uma chegada Poisson observa as probabilidades estacionárias do sistema.
A taxa admitida é . Calcula o número médio como e aplica Little aos pacotes admitidos: . Se pedirem só fila, subtrai do número médio a probabilidade de o servidor estar ocupado, , e do tempo médio o serviço .
Exemplo. pacotes/s e B=2. O estado conta todos os pacotes no sistema, incluindo o que está em serviço.
Os três estados têm probabilidade 1/3; bloqueio 1/3, taxa admitida , N=1, então s. O serviço médio é 0,1 s e a espera média é 0,05 s. Usar daria 0,1 s e ignoraria que um terço das entradas foi rejeitado.
Ao contrário de M/M/1 com capacidade infinita, a fila finita admite uma distribuição estacionária mesmo com . O excesso de procura aparece como bloqueio. Isso não torna a taxa oferecida integralmente atendida.
Dimensionamento de buffers
Adaptação do problema 5 e da resolução docente. Uma saída de 256 kbit/s recebe pacotes com comprimento exponencial médio de 4000 bits e chegadas Poisson. Com tráfego oferecido de 192 kbit/s, pacotes/s, e . Na fila ilimitada, ms, dos quais 15,625 ms são serviço.
Mantendo capacidade e tráfego em bits/s, duplicar o comprimento médio divide ambas as taxas de pacotes por dois. A carga mantém-se, mas T duplica para 125 ms. Reduzir o comprimento para metade dá T=31,25 ms. Fixar a taxa de pacotes, em vez do tráfego em bits/s, seria outro problema.
Com capacidade total B=24 pacotes, passamos a M/M/1/B:
| Tráfego oferecido | Carga oferecida | Probabilidade de bloqueio |
|---|---|---|
| 192 kbit/s | 0,75 | |
| 256 kbit/s | 1 | |
| 320 kbit/s | 1,25 |
A carga aqui é a razão oferecida, não a fração efetiva de ocupação do servidor da fila finita. Mesmo com mais buffers, no último caso o bloqueio tende a : o canal não consegue servir todo o tráfego sustentado.
O bloqueio depende de e B. Se mantivermos tráfego em bits/s e B em pacotes, mudar o comprimento não muda nem o bloqueio deste modelo, mas altera a memória em bytes necessária para o mesmo número de pacotes. Com memória física fixa em bytes, B também pode mudar, por isso não podemos então concluir que a perda fica igual.
Inferir a ligação a partir do tempo ocioso
Numa M/M/1 estável, . Se o servidor está ocioso 20% do tempo e chegam 360 pacotes/s, e pacotes/s. Com comprimento médio de 800 bytes, a capacidade é Mbit/s. Ocupação, taxa de chegada e comprimento médio bastam para inferir a capacidade, sem medir diretamente o débito da ligação.
Doze portas de entrada geram cada uma 200 kbit/s para a mesma saída, com pacotes médios de 1000 bytes. O tráfego oferecido é kbit/s, ou 300 pacotes/s. Para uma ocupação média de 80%, a saída precisa de kbit/s, servindo pacotes/s; o tempo médio no sistema é então ms. Dimensionar pela ocupação inverte a conta habitual: fixa primeiro a fração de tempo ocupada e deduz a capacidade.
O número de pacotes no sistema, incluindo o que está em serviço, tem cauda geométrica:
Nos mesmos dados, . Se a pergunta disser «três em espera», há também o pacote em serviço: . Escrever a fronteira evita deslocar o expoente uma posição.
M/M/1 dá ms e ms. Se apenas o serviço passar a constante, mantendo chegadas Poisson, FIFO e capacidade ilimitada, M/D/1 dá ms e ms. A capacidade e a carga mantêm-se; a variabilidade muda.
Espera limitada com serviço constante
Imagina serviço constante s e capacidade total de quatro pacotes, incluindo serviço, FIFO sem preempção. Um admitido encontra no máximo três à frente, por isso a fila fica limitada por ms. É um limite superior, não a espera média.
Se os quatro lugares forem apenas de espera, a capacidade total é cinco e o limite muda. A distribuição estacionária de M/M/1/B não se aplica automaticamente à fila M/D/1/B: mudar o serviço muda o modelo.
M/G/1 e variância do serviço
Seja o tempo de serviço. é a média, a variância e a média do quadrado. O tempo residual médio que uma chegada encontra é , pois cada serviço contribui com metade do seu quadrado, porque serviços longos são mais prováveis de estar em curso. Com Poisson, serviços iid independentes das chegadas, um servidor, FIFO ilimitada sem preempção e :
Como , maior variância pode aumentar a espera mesmo mantendo serviço médio e carga. Para serviço constante, ; para exponencial, . Estas substituições recuperam M/D/1 e M/M/1.
Exemplo. s, variância s² e . Então , s² e s. O tempo total é 0,02 s. Quadrados de tempos usam s²; somar uma variância a uma média sem elevar esta ao quadrado não faz sentido.
Filas em série e independência
Duas ligações em série não tornam automaticamente a segunda fila M/M/1. Se a primeira transmitir pacotes de comprimento constante em segundos, as suas saídas ficam separadas por pelo menos . Não são Poisson, que permite chegadas arbitrariamente próximas.
Com segunda ligação mais rápida, serviço , propagação constante e sem outro tráfego, cada pacote termina antes de o próximo chegar. A segunda fila não acumula espera, apesar de a primeira poder ter espera M/D/1. Somar duas fórmulas M/D/1 inventaria uma chegada Poisson que a segunda não tem.
Com comprimentos variáveis conservados entre saltos, um pacote longo exige serviço longo em ambos. As chegadas e os serviços na segunda fila podem estar relacionados. A aproximação de independência de Kleinrock permite modelar cada ligação por M/M/1 quando a mistura de vários fluxos torna essa dependência menos importante. É uma aproximação, usada nos slides para redes com mistura de tráfego, não uma consequência apenas de .
As taxas de cada ligação somam os fluxos dos percursos que a atravessam. Calcula por ligação e soma-os; para obter o tempo médio na rede, divide essa soma pela taxa de pacotes que entram do exterior. Contar cada salto como uma nova entrada externa reduziria artificialmente o atraso.
Redes abertas de Jackson
Uma rede aberta tem chegadas externas, várias filas e saídas. Nos modelos de Jackson usados aqui, as chegadas externas são Poisson, cada nó tem um servidor com serviço exponencial, independente dos restantes processos, o encaminhamento tem probabilidades fixas e as filas têm capacidade infinita. Todos os nós precisam de carga inferior a um.
Desenha primeiro entradas externas, visitas e saídas de cada nó. Só depois escreve as equações. Se for a taxa externa do nó i e a probabilidade de um pacote que sai de j seguir para i, as taxas totais satisfazem:
Resolve estas equações antes de usares fórmulas de filas, porque a taxa interna pode exceder a externa quando há visitas repetidas.
Exemplo. Entram 40 pacotes/s em A. Metade vai depois para B; um quarto das saídas de B regressa a A e o resto sai. Assim e , logo e .
Se e , os tempos por visita são s e s. O número médio de pacotes em toda a rede é . Por Little na fronteira externa, o tempo médio por pacote externo é s. Somar simplesmente seria errado, porque nem todos visitam B e alguns regressam.
Num percurso fixo sem retornos, o atraso soma os tempos das filas visitadas e as propagações. A forma produto de Jackson permite calcular médias por nó, mas não autoriza tratar qualquer tráfego real como Poisson. Filas finitas, prioridades ou serviços correlacionados pedem outro modelo.
Exercícios
Inferir a capacidade e comparar o serviço
Uma M/M/1 estável recebe 360 pacotes/s, tem comprimento médio 800 bytes e fica ociosa 20% do tempo. Calcula a taxa de serviço e a capacidade da ligação. Compara os tempos médios no sistema e em fila com uma M/D/1 que mantenha a mesma chegada e serviço médio, FIFO e capacidade ilimitada.
Pista
Relaciona a fração de tempo ocupada com as taxas de chegada e serviço.
Solução
rho=0,8, mu=360/0,8=450 pacotes/s. C=450×800×8=2 880 000 bit/s, ou 2,88 Mbit/s. Serviço médio 1/450 s≈2,222 ms.
M/M/1: T=1/(450−360)≈11,111 ms e Tq≈8,889 ms. M/D/1: Tq≈4,444 ms e T≈6,667 ms. A carga continua 0,8; a menor variabilidade reduz a espera.
Confere a tua resposta:
- Deduzo rho a partir da fração ociosa, antes de calcular mu.
- Converto bytes em bits para a capacidade.
- Distingo tempo em fila de tempo no sistema.
- Mudo a fórmula de espera quando o serviço passa de exponencial a constante.
Mudar a fronteira de uma probabilidade
Numa M/M/1 ilimitada com carga 0,8, qual a probabilidade estacionária de haver pelo menos três pacotes em espera, excluindo o que está em serviço?
Pista
Três em espera implicam quatro ou mais no sistema.
Solução
P(Nq≥3)=P(N≥4)=0,8⁴=0,4096. Se a pergunta fosse três no sistema, o resultado seria 0,512.
Erros frequentes
Usar o mesmo expoente para fila e sistema, ou aplicar esta distribuição à fila finita M/D/1/B.
Limitar a espera de um pacote admitido
Um servidor FIFO demora exatamente 1/450 s por pacote, sem interrupções. Cabem quatro pacotes no sistema, incluindo o que está em serviço. Qual o limite superior do tempo em fila de um novo pacote admitido, em ms?
Pista
Separa o pacote em serviço dos que esperam e usa a capacidade total para decidir se a chegada é admitida.
Mais uma pista
Conta o serviço residual do primeiro e os serviços completos dos outros dois.
Solução
O limite é 3/450 s=6,6667 ms. Pode ser aproximado quando a chegada ocorre logo após começar o primeiro serviço. Não é uma espera média nem inclui o próprio serviço do pacote novo.
Erros frequentes
Contar quatro serviços à frente, esquecer o residual ou tratar capacidade total como quatro lugares apenas de espera.
Comparar silêncio, chegadas e intervalos
Chegadas Poisson de 30 pacotes/s. Calcula a probabilidade de zero e de pelo menos uma chegada num intervalo de 0,1 s, e a média do tempo entre chegadas. Compara com chegadas exatamente periódicas de intervalo 1/30 s: pode haver um intervalo de 0,1 s sem nenhuma chegada? Ignora os extremos do intervalo e assume o processo periódico já em funcionamento.
Pista
Solução
O número médio de chegadas no intervalo é , mas a contagem é aleatória. A probabilidade de zero é ; de pelo menos uma é . O tempo médio entre chegadas é s, cerca de 33,33 ms.
No processo periódico, os espaços entre chegadas têm exatamente 33,33 ms. Um intervalo de 100 ms contém chegadas e não pode estar vazio. A mesma taxa média não implica a mesma distribuição nem a mesma possibilidade de rajadas ou silêncio.
Confere a tua resposta:
- Uso lambda vezes a duração como média da contagem.
- Calculo o complemento para pelo menos uma chegada.
- Distingo tempo médio de intervalo fixo.
Calcular bloqueio e atraso dos admitidos
M/M/1/B, capacidade total B=3 incluindo serviço, FIFO, lambda=mu=12 pacotes/s. Obtém as probabilidades dos estados, bloqueio, taxa admitida, número médio no sistema e tempo médio dos pacotes admitidos. Explica por que usar a taxa oferecida em Little daria outro resultado.
Pista
Solução
Com carga 1 e capacidade finita, os quatro estados 0 a 3 têm probabilidade 1/4. O bloqueio é 1/4; a taxa admitida é pacotes/s. O número médio é .
Little dá s, cerca de 166,67 ms. Inclui 83,33 ms de serviço e 83,33 ms de fila. Usar 12 no denominador daria 125 ms e contaria chegadas rejeitadas, que nunca estiveram dentro desta fronteira.
Confere a tua resposta:
- Uso quatro estados equiprováveis.
- Calculo a taxa admitida.
- Aplico Little aos pacotes admitidos.
Erros frequentes
Calcular visitas, estabilidade e atraso global
Uma rede aberta de Jackson recebe chegadas externas Poisson de 20 pacotes/s em A. Metade das saídas de A vai para B, a outra metade deixa a rede. Metade das saídas de B regressa a A, a outra metade deixa a rede. As escolhas são independentes. Cada nó tem um servidor exponencial independente, FIFO e capacidade infinita: A serve 40 pacotes/s, B serve 30.
Calcula as taxas totais de ambos os nós, verifica a estabilidade e obtém o tempo médio que um pacote externo passa na rede, incluindo todas as visitas. Explica por que não basta somar os tempos médios de uma visita a A e B.
Pista
Solução
As equações são e . Daqui , logo e pacotes/s. Ambas são inferiores às respetivas taxas de serviço.
Em A, s e . Em B, s e .
Há em média pacotes na rede. Little na fronteira externa dá s, ou 140 ms. Somar 75+60=135 ms conta uma visita a cada nó, mas alguns pacotes não visitam B e outros regressam. As taxas totais já incluem essas visitas; a taxa externa conta cada pacote uma só vez.
Confere a tua resposta:
- Resolvo as taxas totais de A e B.
- Verifico a estabilidade de ambos os nós.
- Aplico Little na fronteira externa, usando 20 pacotes/s.
Comparar chegadas desfasadas e em grupo
Uma ligação de 2 Mbit/s transmite pacotes de 1000 bytes. O servidor FIFO começa vazio, tem espaço para um pacote em serviço e outro à espera, e não sofre interrupções. Quatro fontes enviam cada uma um pacote a cada 20 ms.
- As fases são 0, 5, 10 e 15 ms. Calcula serviço, carga agregada, espera e perdas.
- As quatro fontes passam a enviar juntas aos 0, 20, 40 ms, e assim sucessivamente. Quantos pacotes entram e se perdem por grupo? Quais as esperas dos admitidos? As chegadas simultâneas são processadas por ordem fixa, iniciando o serviço do primeiro imediatamente.
- Agora substitui o agregado por chegadas Poisson e comprimentos exponenciais, mantendo as médias. Calcula o bloqueio M/M/1/B. Que resultado daria interpretar «um buffer» como apenas um lugar total?
Pista
Solução
O serviço constante é ms. Chegam em média pacotes/s, a capacidade é 250 pacotes/s e a carga oferecida é 0,8.
Com fases distintas, o agregado chega a cada 5 ms. Cada serviço termina 1 ms antes da próxima chegada, por isso não há espera nem perda.
Com fases alinhadas, o primeiro começa a ser servido e o segundo ocupa a espera. Os outros dois são rejeitados: perda de 50% por grupo. Os admitidos esperam 0 e 4 ms e terminam aos 4 e 8 ms depois do início do grupo. O sistema volta a ficar vazio antes dos 20 ms. A carga oferecida é igual, mas só metade dos pacotes é admitida.
No modelo aleatório, há dois lugares totais, . Os pesos estacionários são , e , pelo que . Com apenas um lugar total, seria e . Nenhum destes valores é a perda dos dois calendários anteriores.
Confere a tua resposta:
- Uso dois lugares totais quando existe um de espera.
- No agregado desfasado, o serviço termina antes da próxima chegada.
- No agregado alinhado, admito dois e rejeito dois por grupo.
- Distingo os dois modelos aleatórios conforme a convenção de buffer.
Calcular o efeito da variância
Duas filas M/G/1 recebem 50 pacotes/s. Ambas têm serviço médio 10 ms, FIFO ilimitada, sem preempção, com serviços iid independentes das chegadas Poisson. Na primeira o serviço é constante; na segunda metade dos serviços demora 5 ms e metade 15 ms. Calcula E[S²], a espera média e o tempo no sistema em ambas. Usa segundos nas fórmulas.
Pista
Solução
A carga das duas é . No serviço constante, s²; s e T=15 ms.
Na mistura, s². A espera é 6,25 ms e o tempo total 16,25 ms. A média de serviço é igual, mas os serviços longos aumentam o segundo momento e a espera.
Confere a tua resposta:
- Calculo o segundo momento a partir dos tempos, sem elevar apenas a média ao quadrado.
- Uso a mesma carga.
- Obtenho 5 e 6,25 ms de espera.
Dimensionar buffers e reconhecer sobrecarga
Uma saída tem capacidade 256 kbit/s e pacotes de comprimento exponencial médio 4000 bits. O tráfego oferecido é 192 kbit/s, com chegadas Poisson. Usa M/M/1/B, com B como capacidade total em pacotes.
- Escolhe o menor B que dá bloqueio inferior a 0,1%.
- Mantendo esse B, calcula o bloqueio se o tráfego subir para 256 kbit/s.
- Com 320 kbit/s, que limite de perdas permanece mesmo quando aumentamos muito B? Explica se acrescentar memória pode resolver a falta de capacidade.
Pista
Solução
A carga original é . Usamos . B=19 dá cerca de 0,1060%; B=20 dá cerca de 0,07947%, logo o mínimo é 20.
A 256 kbit/s, a carga é 1 e o bloqueio com B=20 é . A 320 kbit/s, a carga oferecida é 1,25. Quando B cresce, o bloqueio tende a . O canal só pode servir 256 dos 320 kbit/s oferecidos; mais memória adia a perda e aumenta a espera, mas não transmite o excesso sustentado.
Confere a tua resposta:
- Verifico B=19 e B=20 para provar o mínimo.
- Uso a expressão particular na carga 1.
- Identifico 20% de perda limite sob sobrecarga sustentada.