Processos Estocásticos aplicados à
Sistemas Computacionais
Magnos Martinello
Universidade Federal do Espírito Santo - UFES
Departamento de Informática - DI
Laboratório de Pesquisas em Redes Multimidia –
LPRM
Laboratório de Análise e Desempenho – LANDUFRJ
Teoria das Filas
■Aulas passadas
■Aula hoje
■ Cadeias de Markov
■ Parâmetros de uma fila
■ Equações de Chapman- ■ Introdução a modelos
Kolmogorov
analíticos de filas
■ Resolução de cadeias
de Markov
2
Parâmetros da Fila
chegada na fila
fila
recurso
saída da fila
Processo de chegada (como os pedidos chegam ao recurso)
Processo de serviço (como os pedidos são servidos)
Capacidade de armazenamento da fila
Número de recursos (estações de serviço)
Política de atendimento (como escolher o próximo da fila)
Martinello, Figueiredo – de Souza e
Silva – 2011
Fila – Processo de Chegada
chegada na fila
fila
recurso
saída da fila
Como definir processo de chegada (demanda)?
No banco, como pessoas chegam ao banco
Na rede, como pacotes chegam ao roteador
No disco, como pedidos de leitura chegam
Abstração matemática!
Martinello, Figueiredo – de Souza e
Silva – 2011
Fila – Processo de Chegada
chegada na fila
fila
recurso
saída da fila
Modelo matemático para abstrair processo de chegada
Chegada não é determinística
Necessidade de representação aleatória
Ex. processo de Poisson
Martinello, Figueiredo – de Souza e
Silva – 2011
Fila – Processo de Serviço
chegada na fila
fila
recurso
saída da fila
Como definir processo de serviço?
Quanto tempo leva para atender um pedido?
Depende do sistema, geralmente aleatório
Modelo matemático para abstrair o processo de serviço (distribuição exponencial)
Martinello, Figueiredo – de Souza e
Silva – 2011
Parâmetros de uma Fila
K
A
.
.
.
C
X
A
X
K
C
P
: intervalo de tempo entre chegadas
: tempo de serviço (de 1 pedido)
: capacidade de armazenamento da fila (infinito?)
: número de estações de serviço
: política de atendimento dos elementos em fila
A, X geralmente são variáveis aleatórias!
Martinello, Figueiredo – de Souza e
Silva – 2011
Notação de Filas
K
A
.
.
.
C
X
A / X / C / K – P
distribuição
do tempo
entre
chegadas
distribuição
do tempo
de serviço
M = exponencial
(memoryless)
D = determinístico
Er = Erlang
Exemplo: M/M/1
número de
estações de
serviço
capacidade de
armazenamento
default: infinito
Qual é a fila?
política de
atendimento
default: FIFO
Martinello, Figueiredo – de Souza e
Silva – 2011
Medidas de
Desempenho
em Filas

K

Utilização: fração de tempo que o servidor está ocupado
Tempo de espera: quantidade de tempo que cada elemento espera na fila
Vazão (Throughput): quantidade de elementos servidos pela fila por unidade de tempo
Fração de descarte: fração de elementos descartados por falta de espaço na fila
Martinello, Figueiredo – de Souza e
Silva – 2011
Medidas de Desempenho
em Filas
Comportamento típico
Tempo de
espera

K

Vazão



Tradeoff entre tempo de resposta e vazão
Martinello, Figueiredo – de Souza e
Silva – 2011
O Ciclo de Modelagem
Sistema real
Criação do Modelo
aproximação
Influência
no sistema
Solução do
Modelo
Martinello, Figueiredo – de Souza e
Silva – 2011
Modelagem do Servidor Web
Pedidos de objeto chegam ao servidor
Processar pedidos
Servidor Web
CPU, discos
Disco 1
pedidos
CPU
pedido
finalizado
Disco 2
Taxa de chegada
de pedidos
Modelagem através de filas!
Qual é o tempo médio de espera de um
pedido?
Martinello, Figueiredo – de Souza e
Silva – 2011
Avaliando o Desempenho
de uma Fila
Problema
Dado uma fila, qual seu desempenho?
Como assim?
Parâmetros da
fila (demanda,
capacidade, etc.)
Como assim?
Medida: Tempo
médio de espera
no sistema
Vamos calcular isto!
Martinello, Figueiredo – de Souza e
Silva – 2011
Tempo de Espera
Como calcular o tempo de espera em uma
fila?
tempo decorrido desde o instante de chegada
até o instante de saída
IDÉIA: Decompor o tempo de espera
em tempos menores
Tempo para finalizar o pedido sendo atendido
no instante de chegada
Tempo para atender cada um dos pedidos da
fila
Tempo para atender o pedido que acabou de
chegar
Martinello, Figueiredo – de Souza e
Silva – 2011
Variáveis Aleatórias de uma
Fila
W
A
Nc
X
Nc : número de pedidos na fila quando nosso pedido chega (incluindo o que está sendo atendido) R : tempo residual (tempo para finalizar atendimento do pedido sendo atendido)
Xi : tempo necessário para atender o i­ésimo pedido da fila (i=1, 2, ..., Nc ­ 1)
W : tempo de espera de um pedido (do instante de chegada até o instante de saída)
Martinello, Figueiredo – de Souza e
Silva – 2011
Tempo de
Espera
W
A
Nc
X
W: tempo de espera do pedido que chegou
Nc pedidos no sistema
1 em atendimento + Nc – 1 na fila
Quanto vale W?
W = R + X1 + X2 + ... + XNc­1 + X
tempo residual
do elemento em
atendimento
tempo de serviço
do i-ésimo elemento
da fila
tempo de serviço
do elemento que
acabouMartinello,
de chegar
Figueiredo – de Souza e
Silva – 2011
Tempo Médio de Espera
W
A
Nc
X
Aplicar valor esperado – E[.]
Tempo médio de espera: E[W]
E[W] = E[R + X1 + X2 + ... + XNc­1 + X]
E[W] = E[R] + E[X1]+ ... + E[XNc­1]+ E[X]
E[W] = E[R] + E[Nc]E[X]
Xi são idênticamente
distribuídas
Martinello, Figueiredo – de Souza e
Silva – 2011
Resultado de Little
E[W]

Caixa Preta
E[N]

: taxa média de chegada
E[W] : tempo médio que cada pedido permanece
dentro da caixa preta
E[N] : número médio de pedidos dentro da caixa
(depois de um tempo muito grande)
Qual é a relação entre eles?
E[N] =
 E[W]
Vamos provar
isto hoje! Martinello, Figueiredo – de Souza e
Silva – 2011
Resultado de Little
E[W]

Caixa Preta
E[N]
Número médio dentro do sistema é igual ao
produto da taxa média de chegada pelo tempo
médio de permanência no sistema
Intuitivo, mas poderoso (não depende de
nenhuma distribuição)
Exemplo:
E[W] = 3.5 minutos
=2
E[N] = ?
clientes por minuto
Martinello, Figueiredo – de Souza e
Silva – 2011
Resolvendo o Tempo
Média de Espera
Duas equações:
E[W] = E[R] + E[Nc]E[X]
E[N] =

E[W]
Suposição (I) :
E[N] = E[Nc]
Suposição (II) :
E[R] = E[X]
Substituindo nas equações acima, temos
E[W] = E[X] +
E[W] =
 E[W]E[X]
E[X]
1 –  E[X]
equação em função dos
parâmetros da fila
Martinello, Figueiredo – de Souza e
Silva – 2011
Gráfico do Tempo
Médio de Espera
E[W] =
E[X]
1 –  E[X]
E[W]
1/E[X]

Tempo de espera explode!
Martinello, Figueiredo – de Souza e
Silva – 2011
Suposição I: E[N] = E[Nc]
Duas variáveis (medidas)
Número de elementos no sistema
N – em um instante de tempo qualquer
Nc – no instante de uma chegada
Em geral, E[N] é diferente de E[Nc]
Exemplo?
Martinello, Figueiredo – de Souza e
Silva – 2011
Exemplo
Suponha sistema de fila determinístico
tempo entre chegadas 1s, tempo de serviço 0.5s
Evolução do sistema no tempo?
0
0.5
1.0
1.5
2.0
2.5
t
Quanto vale E[N] e E[Nc]?
E[N] = 0.5
E[Nc] = 0
Diferentes!
Martinello, Figueiredo – de Souza e
Silva – 2011
Suposição I
E[N] = E[Nc]
Quando isto é verdade?
PASTA
Poisson Arrivals See
Time Averages
pas
Quando o processo de chegada é Poisson
E[N] = E[Nc]
Martinello, Figueiredo – de Souza e
Silva – 2011
Suposição II
E[R] = E[X]
Quando isto é verdade?
Memoryless
Distribuição não tem
memória
Quando o tempo de serviço é exponencial
Martinello, Figueiredo – de Souza e
Silva – 2011
Propriedade Memoryless
Propriedade de memoryless
Distribuição da probabilidade condicional é igual
a distribuição da probabilidade original (para o
restante do tempo)
P [T s t∣T s ]=P [T t ]
s , t 0
Exemplo
P [T 4 0∣T 3 0]=P [T 1 0]
Correto
P [T 4 0∣T 3 0]=P [T 4 0]
Errado!
A chance de um evento não ocorrer nos próximos 10
segundos é igual a dos primeiros 10 segundos!
Martinello, Figueiredo – de Souza e
Silva – 2011
Provando a Propriedade
Memoryless para Exponencial
Distribuição exponencial (parâmetro
P [T t ]=e
)
−t
Propriedade
P [T s t∣T s ]=P [T t ]
Prova (aplicar definições)
−s t 
P [T st ∩T s ]
P [T s t ]
e
=
=
=
P [T s t∣T s ] =
−s 
P [T s ]
P [T s ]
e
−t 
e
=
= P [T t ]
Martinello, Figueiredo – de Souza e
Silva – 2011
Download

Aula10 - Informática