Sei sulla pagina 1di 29

GerenciamentoGerenciamento ee AvaliaAvaliaççãoão dede DesempenhoDesempenho dede RedesRedes

Teoria das Filas

Dênio Mariz denio@cefetpb.edu.br

Carlos Kamienski cak@cefetpb.edu.br

ModelagemModelagem analanalííticatica

Modelagem Modelagem anal anal í í tica tica Possibilita explorar um modelo sobre o qual se

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

TeoriaTeoria dasdas FilasFilas

Teoria Teoria das das Filas Filas Provê modelos para prever o comportamento de sistemas que oferecem

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

ResultadosResultados PossPossííveisveis

Resultados Resultados Poss Poss í í veis veis Tempo de espera de um cliente Quanto tempo

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

SistemasSistemas dede FilasFilas

Sistemas Sistemas de de Filas Filas Gerenciamento e Avaliação de Desempenho de Redes - Dênio Mariz

ModeloModelo dede FilasFilas BBáásicosico

Modelo Modelo de de Filas Filas B B á á sico sico Buffer Servidor(es) Chegadas Saídas

Buffer

Servidor(es)

Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço
Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço
Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço
Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço
Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço
Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço
Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço
Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço

Chegadas

Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço

Saídas

Buffer Servidor(es) Chegadas Saídas Na fila Em Serviço

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)

CaracterCaracteríísticassticas dede umum ModeloModelo dede FilasFilas

sticas de de um um Modelo Modelo de de Filas Filas Processo de chegada Distribuição do

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

ProcessoProcesso dede ChegadaChegada

Processo Processo de de Chegada Chegada Normalmente é um processo estocástico Necessário saber a distribuição de

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ãonão variavaria com o tempo (é independente do tempo)

Processo Não Estacionário

A distribuição variavaria com o tempo (depende do tempo)

ProcessoProcesso dede ChegadaChegada

Processo Processo de de Chegada Chegada n +1 n n −1 τ n t t n
n +1 n n −1 τ n t t n τ tempo decorrido entre as
n +1
n n −1
τ
n
t
t
n
τ
tempo decorrido entre as chegadas dos clientes n e n+1
n
{
τ
,
n ≥
1}
é um processo estocástico
n
Tempos entre chegadas são identicamente distribuídos e têm a
mesma média

Taxa de chegada = λλλλλλλλ

[

E τ

n

]

[

= E τ

]

=

1/

λ

TempoTempo dede ServiServiççoo

Tempo Tempo de de Servi Servi ç ç o o Tempo que cada cliente leva para

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

TempoTempo dede ServiServiççoo

Tempo Tempo de de Servi Servi ç ç o o n +1 n n −1 t
n +1 n n −1 t s n s é tempo que o cliente n
n +1
n n −1
t
s
n
s
é tempo que o cliente n passa no servidor
n
{
s
n ≥
1}
é um processo estocástico
n ,

Tempos de serviço são identicamente distribuídos com uma média comum

Taxa de serviço: µµµµ

Os tempos de serviço são aleatórios para pacotes?

[

E s

n

]

[

= E s

]

= µ

NNúúmeromero dede ServidoresServidores

N N ú ú mero mero de de Servidores Servidores Representa situações com filas únicas para

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”

CapacidadeCapacidade dodo SistemaSistema

Capacidade Capacidade do do Sistema Sistema Em alguns sistemas de filas, existe limitação física da quantidade

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

TamanhoTamanho dada PopulaPopulaççãoão

Tamanho Tamanho da da Popula Popula ç ç ão ão Número total de clientes que podem

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

DisciplinaDisciplina dede ServiServiççoo

Disciplina Disciplina de de Servi Servi ç ç o o Modo como os clientes são selecionados

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)

NotaNotaççãoão dede KendallKendall

Nota Nota ç ç ão ão de de Kendall Kendall A/S/NS/B/K/SD A,S = Tempo entre chegadas,

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

DescriDescriççãoão dasdas filas:filas: ExemplosExemplos

ç ç ão ão das das filas: filas: Exemplos Exemplos M/M/1: chegadas Poisson, tempo de serviço

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

VariVariááveisveis GeraisGerais

Vari Vari á á veis veis Gerais Gerais λ = (Lambda) Taxa média de chegada τ

λ = (Lambda) Taxa média de chegada τ = (Tau) Tempo entre chegadas = 1/ λ

s = Tempo médio de serviço µ = (Mi) Taxa de serviço (vazão ou taxa de saída) = 1/s n = Número médio de clientes no sistema

n q n s

= Número médio de clientes na fila

= 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ô) Carga (ou fator de utilização) = λ/µ = λs

AA ChegadaChegada ee oo ComportamentoComportamento dada FilaFila

e e o o Comportamento Comportamento da da Fila Fila n=usuários no sistema 3 2 1

n=usuários

no sistema

3

2

1

0

da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
da da Fila Fila n=usuários no sistema 3 2 1 0 t 1 t 2 1
t 1 t 2 1 2
t 1
t 2
1
2

t 3 t 4

1 3
1
3
t 5 t 6 4 2
t 5
t 6
4
2
T t 7 3 4
T
t 7
3
4

t=Tempo

n=(área abaixo da curva)/T

LeiLei dede LittleLittle

Lei Lei de de Little Little n Tempo Total (fila+serviço)= W λ µ o número médio
n
n

Tempo Total (fila+serviço)= W

Lei de de Little Little n Tempo Total (fila+serviço)= W λ µ o número médio de

λ

µ

o número médio de elementos no sistema é igual à taxa de chegada vezes o tempo de permanência no sistema

n=λW

Lei de Little funciona para sistemas no estado estável

n

q

= λs

q

W

=

W

q

+

1

µ

LeiLei dede LittleLittle ExemploExemplo 11

Lei Lei de de Little Little – – Exemplo Exemplo 1 1 Sistema de Telefonia Taxa

Sistema de Telefonia Taxa de chegada

λ = 100 chamadas por minuto

Duração das chamadas (permanência):

s = 1/µ = 2 minutos

Número médio de chamadas simultâneas

n = λs = 100 x 2 = 200 chamadas

LeiLei dede LittleLittle ExemploExemplo 22

Lei Lei de de Little Little – – Exemplo Exemplo 2 2 Uma Loja no Shopping

Uma Loja no Shopping Taxa de chegada

λ = 10 usuários por hora

Tempo que passa dentro da loja (permanência):

s = 1/µ = 30 minutos = ½ hora

Número médio clientes dentro da loja

n = λs = 10 x ½ = 5 clientes

LeiLei dede LittleLittle ExemploExemplo 33

Lei Lei de de Little Little – – Exemplo Exemplo 3 3 Um roteador Taxa de

Um roteador Taxa de chegada

λ = 3000 pacotes por segundo

Tempo que demora para ser encaminhado (serviço):

s = 1/µ = 2ms = 0.002 segundo

Número médio de pacotes dentro do roteador

n = λs = 3000 x 0.002 = 6 pacotes

ResultadosResultados GeraisGerais parapara FilasFilas M/M/1M/M/1

Gerais Gerais para para Filas Filas M/M/1 M/M/1 M/M/1 é um tipo de fila muito usada

M/M/1 é um tipo de fila muito usada na prática

Probabilidade de haver exatamente n clientes no sistema:

p n = (1 – ρ) ρ n

ρ = carga do sistema = λ/µ

Probabilidade de haver n ou mais clientes no sistema:

p n = ρ n

Número médio de clientes no sistema:

E[n] = ρ / (1 – ρ)

Tempo médio de resposta (permanência no sistema)

W = (1/µ) / (1 – ρ)

FilasFilas M/M/1M/M/1 -- ExemploExemplo

Filas Filas M/M/1 M/M/1 - - Exemplo Exemplo Dados de um Roteador: Taxa de chegadas =

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%?

FilasFilas M/M/1M/M/1 ExemploExemplo

1/21/2

Filas Filas M/M/1 M/M/1 – – Exemplo Exemplo 1/2 1/2 λ = 400 pps s =

λ = 400 pps s = 0.002 s µ = 1/s = 1/0.002 = 500 pps ρ = λ/µ = 0,8

Número médio de pacotes na filafila:

E[n] = ρ / (1 – ρ) = pacotes no sistema (roteador) Assumindo que tem um pacote “sendo servido”, temos n q =E[n] -1 = 0,8 / (1 – 0,8) – 1 = 3

Probabilidade de descarte (buffer para 10 pacotes):

P(mais que 11 pacotes no roteador) p n = ρ n p 12 = ρ 12 = 0,8 12 = 0,0687

FilasFilas M/M/1M/M/1 ExemploExemplo

2/22/2

Filas Filas M/M/1 M/M/1 – – Exemplo Exemplo 2/2 2/2 Probabilidade de uma fila vazia P[fila

Probabilidade de uma fila vazia

P[fila vazia] = P[um ou zero pacote em atendimento] = p n = (1 – ρ) ρ n P[fila vazia] = (1 - 0.8) ρ 0 + (1 - 0.8) ρ 1 = 0.2 + 0.2*0.8 = 0.36

Buffers para uma perda máxima de 0,1%

ρ n < 10 -4 n > log ρ (10 -4 ) n > log(10 -4 )/log(0,8) n > 30.95 Resposta: n>31 buffer para 30 pacotes

x =

b

n

n

=

log (x)

b

log

b (

x )

=

log

k

(

x

)

log

k

(

b

)

SimuladorSimulador dede FilasFilas

Simulador Simulador de de Filas Filas Gerenciamento e Avaliação de Desempenho de Redes - Dênio Mariz
Simulador Simulador de de Filas Filas Gerenciamento e Avaliação de Desempenho de Redes - Dênio Mariz

ComentComentááriosrios FinaisFinais

Coment Coment á á rios rios Finais Finais Grandes provedores (ATT, SPRINT, etc.), empregam matemáticos e

Grandes provedores (ATT, SPRINT, etc.), empregam matemáticos e estatísticos

Para modelar e avaliar as suas redes Para descobrir novas tecnologias

Possibilidades importantes para profissionais da área de matemática/estatística Ou para profissionais da área de redes com conhecimentos de matemática/estatística