Teoria das Filas

Download Report

Transcript Teoria das Filas

Carlos Alberto Kamienski ([email protected])
UFABC
INF-103: Avaliação de Desempenho
Teoria das Filas
Modelagem analítica
Possibilita explorar um modelo sobre o qual se tem controle
Modelos matemáticos simplificados geram resultados
rapidamente
Técnica barata: lápis, papel e cérebro
Muitos pressupostos e abstrações são feitas

Pode-se perder o comportamento original
Exemplo: sistemas de filas
2
Teoria das Filas
Provê modelos para prever o comportamento
de sistemas que oferecem serviço para
demandas com taxas de chegadas aleatórias
Utilizada para modelar sistemas onde:

Clientes chegam para ser atendidos

Esperam sua vez de ser atendidos

São atendidos e vão embora
Sistema telefônico: A. K. Erlang - 1909
3
Resultados Possíveis
Tempo de espera de um cliente


Quanto tempo um cliente espera no banco
Quanto tempo um pacote passa em um roteador
Acúmulo de clientes na fila


Qual o tamanho médio da fila do banco
Como a fila do roteador se comporta
Tempo ocioso/ocupado dos servidores


Quanto tempo o caixa fica livre
Qual a utilização do roteador
Taxa de saída (vazão)


Quantos clientes são atendidos por hora
Quantos pacotes são encaminhados por segundo
4
Sistemas de Filas
5
Modelo de Filas Básico
Buffer
Servidor(es)
Saídas
Chegadas
Na fila
Em Serviço
Modela qualquer serviço com:

Um ou mais servidores

Uma área de espera (buffer)
“Clientes” chegam para receber um “serviço”
Um cliente que não encontra um servidor livre espera na
fila (buffer)
6
Características de um Modelo de Filas
Processo de chegada
Distribuição do tempo de serviço
Número de servidores
Capacidade do sistema
Tamanho da população
Disciplina de serviço
7
Processo de Chegada
Normalmente é um processo estocástico
Necessário saber a distribuição de
probabilidade do tempo entre chegadas

Normalmente é Exponencial
Processo Estacionário

A distribuição de probabilidade que descreve a chegada
não varia com o tempo (é independente do tempo)
Processo Não Estacionário

A distribuição varia com o tempo (depende do tempo)
8
Processo de Chegada
n 1
n
n
tn
n 1
t
 n tempo decorrido entre as chegadas dos clientes n e n+1
{ n , n  1}é um processo estocástico
Tempos entre chegadas são identicamente distribuídos e têm a
mesma média
Taxa de chegada = l
E[ n ]  E[ ]  1/ l
9
Tempo de Serviço
Tempo que cada cliente leva para ser atendido

Ex: tempo que o cliente do banco passa no caixa

Ex: tempo para o roteador encaminhar um pacote
Semelhante ao processo de chegada
Distribuição de probabilidade para o tamanho
das filas depende de:

o processo de chegada

o tempo de serviço
10
Tempo de Serviço
n 1
n
n 1
sn
t
sn é tempo que o cliente n passa no servidor
{sn , n  1}é um processo estocástico
Tempos de serviço são identicamente distribuídos com uma
média comum
Taxa de serviço: m
E[sn ]  E[s]  m
11
Número de Servidores
Representa situações com filas únicas para
múltiplos servidores


Exemplos: supermercados, bancos, etc.
Computadores multiprocessados são exemplos de
múltiplos servidores
Em redes, freqüentemente há somente 1
servidor (um roteador, hub, switch, etc.)
Infinitos servidores também são possíveis


Ex: sistema onde o cliente tem atendimento imediato
Ex: um “self service”
12
Capacidade do Sistema
Em alguns sistemas de filas, existe limitação física
da quantidade de espaço de buffer



Ex: memória de um roteador
Ex: lista de espera de companhias aéreas
Ex: número de cadeiras na sala de espera
Se um cliente chega e não há espaço no buffer, ele
tem que desistir do serviço

Ex: o pacote é descartado! (Drop Tail)
Freqüentemente usa-se capacidade infinita

A análise é mais fácil quando a fila é grande
13
Tamanho da População
Número total de clientes que podem entrar no
sistema

Ex: pacotes que podem chegar no roteador
Quando o número é grande (ou desconhecido)
é mais fácil considerar tamanho infinito
14
Disciplina de Serviço
Modo como os clientes são selecionados para
receber o serviço quando há uma fila

Ou seja, em redes, maneira como os pacotes são
retirados da fila para serem transmitidos
Disciplinas comuns:

FCFS: First Come, First Served (FIFO)

LCFS: Last Come, First Served (LIFO)

Prioridade: Clientes com mais prioridade primeiro

Circular: Um pouquinho de cada tipo (Round Robin)
15
Notação de Kendall
A/S/NS/B/K/SD

A,S = Tempo entre chegadas, tempo de serviço









M = Exponencial (Markov, Memoryless)
Ek = Erlang
Hk = Hyperexponential
D = Determinístico
G = Geral (para todas as distribuições)
NS = Número de servidores
B = Número de buffers (lugares na fila)
K = Tamanho da população
SD = Disciplina de Serviço
 FCFS,FCLS…
Defaults B= , K= , SD=FCFS
M/M/1 = M/M/1///FCFS
16
Descrição das filas: Exemplos
M/M/1:

chegadas Poisson, tempo de serviço exponencial, 1 servidor, buffer
infinito, FCFS
M/M/m:

Igual ao anterior, com m servidores
M/G/1:

chegadas Poisson, tempo de serviço geral, 1 servidor, buffer infinito
17
Variáveis Gerais
l = (Lambda) Taxa média de chegada
 = (Tau) Tempo entre chegadas  1/ l
s = Tempo médio de serviço
m = (Mi) Taxa de serviço (vazão ou taxa de saída) = 1/s
n = Número médio de clientes no sistema
nq = Número médio de clientes na fila
ns = Número de clientes recebendo serviço
W = Tempo médio de resposta (fila + serviço)
W q= Tempo médio de espera na fila
r = (Rô) Carga (ou fator de utilização) = l/m  ls
18
A Chegada e o Comportamento da Fila
n=usuários
no sistema
3
2
1
0
t1
t2
t3 t4
t5
t6
t7
T
1
2
1 3
4
2
3
4
t=Tempo
n=(área abaixo da curva)/T
19
Lei de Little
n
l
m
Tempo Total
(fila+serviço)= W
o número médio de elementos no sistema é igual à
taxa de chegada vezes o tempo de permanência
no sistema
 n=lW
Lei de Little funciona para sistemas no estado
estável
1
nq  lsq
W  Wq 
m
20
Lei de Little – Exemplo 1
Sistema de Telefonia
Taxa de chegada

l = 100 chamadas por minuto
Duração das chamadas (permanência):

s = 1/m = 2 minutos
Número médio de chamadas simultâneas

n = ls = 100 x 2 = 200 chamadas
21
Lei de Little – Exemplo 2
Uma Loja no Shopping
Taxa de chegada

l = 10 usuários por hora
Tempo que passa dentro da loja
(permanência):

s = 1/m = 30 minutos = ½ hora
Número médio clientes dentro da loja
 n = ls = 10 x ½ = 5 clientes
23
Lei de Little – Exemplo 3
Um roteador
Taxa de chegada

l = 3000 pacotes por segundo
Tempo que demora para ser encaminhado
(serviço):

s = 1/m = 2ms = 0.002 segundo
Número médio de pacotes dentro do roteador
 n = ls = 3000 x 0.002 = 6 pacotes
24
Resultados Gerais para Filas M/M/1
M/M/1 é um tipo de fila muito usada na prática
Probabilidade de haver exatamente n clientes no sistema:

pn = (1 – r) rn
r  carga do sistema = l/m
Probabilidade de haver n ou mais clientes no sistema:

pn = rn
Número médio de clientes no sistema:

E[n] = r / (1 – r)
Tempo médio de resposta (permanência no sistema)

W = (1/m) / (1 – r)
25
Filas M/M/1 - Exemplo
Dados de um Roteador:


Taxa de chegadas = 400 pacotes por segundo
Roteador leva 2 ms para encaminhar pacotes
Calcular usando uma fila M/M/1:




Número médio de pacotes na fila
Probabilidade de descarte no caso de haver espaço para
10 pacotes
Qual a probabilidade de um pacote encontrar a fila
vazia?
Quanto espaço na fila seria necessário para que a taxa
de perda fosse inferior a 0,1%?
26
Filas M/M/1 – Exemplo 1/2
l = 400 pps
s = 0.002 s
m = 1/s = 1/0.002 = 500 pps
r = l/m = 0,8
Número médio de pacotes na fila:

E[n] = r / (1 – r) = pacotes no sistema (roteador)

Assumindo que tem um pacote “sendo servido”, temos

nq=E[n] -1 = 0,8 / (1 – 0,8) – 1 = 3
Probabilidade de descarte (buffer para 10 pacotes):

P(mais que 11 pacotes no roteador)

pn = rn  p12 = r12 = 0,812 = 0,0687
27
Filas M/M/1 – Exemplo 2/2
Probabilidade de uma fila vazia

P[fila vazia] = P[um ou zero pacote em atendimento] =

pn = (1 – r) rn

P[fila vazia] = (1 - 0.8) r0 + (1 - 0.8) r1 = 0.2 + 0.2*0.8 = 0.36
Buffers para uma perda máxima de 0,01% (0,0001)

rn < 10-4

n > logr(10-4)  n > log(10-4)/log(0,8)  n > 30.95

Resposta: n>31  buffer para 30 pacotes
x  bn  n  logb ( x) log b ( x)  log k ( x)
log k (b)
28
E se a chegada não for Poisson?
Com chegadas Poisson, a agregação de várias
fontes de tráfego é suavizada, de acordo com o
Teorema Central do Limite (TCL)
Quando os tempos em chegadas seguem uma
distribuição de cauda pesada (ex: Pareto), a
convergência para o TCL é muito mais lenta!
29
Auto-Similaridade
Fenômeno de preservar as principais características de
alguma entidade quando observada em escalas distintas
(de tempo)
Se a realização de um processo estocástico (série
temporal) é agregada em escalas de tempo distintas e
mantém suas propriedades estatísticas mais importantes
(ex: momentos de primeira ou segunda ordem), ela é
considerada um processo fractal ou auto-similar
30
Auto-Similaridade
Existem evidências de comportamento auto-similar no
tráfego de redes de computadores
Conseqüência: filas dos roteadores trabalham com altos
níveis de ocupação



Pela presença de tráfego em rajadas em várias escalas de
tempo
Causando alta taxa de perda de pacotes e atraso fim a fim
Gerando baixo índice de utilização dos enlaces de
comunicação
Conhecer a fundo esse fenômeno é vital para o
gerenciamento de redes e planejamento de capacidade
31
Ocupação das filas
32
Tráfego Auto-Similar
33
33
Tráfego Auto-Similar
Escala de
tempo (s)
Ethernet Real
Média Variância
Artificial (exponencial)
Média
Variância
100
3,1818
6,8029
3,1837
3,1817
10
3,1819
3,2355
3,1837
0,3195
1
3,1817
1,3108
3,1837
0,0325
0.1
3,1818
0,6384
3,1836
0,0037
0.01
3,1697
0,3044
3,1840
0,0003
34
Carlos Alberto Kamienski ([email protected])
UFABC
INF-103: Avaliação de Desempenho
Teoria das Filas