análise de uma fila Única - ft | faculdade de tecnologiamarlih/st565/fila-unica.pdf · o modelo...

24
1 Análise de uma Fila Única “The Art of Computer Systems Performance Analysis” Raj Jain, Cap. 31 Fila Única O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos individuais em sistemas de computação Muitas filas podem ser modeladas como processos de nascimento e morte

Upload: others

Post on 10-Jan-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

1

Análise de uma Fila Única

“The Art of Computer SystemsPerformance Analysis”

Raj Jain, Cap. 31

Fila Única

� O modelo de filas mais simples contém apenas uma fila

� Pode ser usado para analisar recursos individuais em sistemas de computação

� Muitas filas podem ser modeladas como processos de nascimento e morte

Page 2: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

2

Processos de Nascimento e Morte

� Um processo de nascimento e morte é útil para modelar sistemas nos quais os jobs chegam um de cada vez (e não em lotes)

� O estado do sistema pode ser representado pelo número de jobs n no sistema

� A chegada de um novo job (nascimento) leva o estado para n+1

� A partida de um job (morte) leva o estado para n-1

Diagrama de Transição de Estados

0

λ0

µ1

1

λ1

µ2

2

λ2

µ3

λj-2

µj-1

j-1

λj-1

µj

j

λj

µj+1

j+1

λj+1

µj+2

... ...

� Quando o sistema está no estado n, significa que ele possui n jobs

� Taxa de novas chegadas: λn

� Taxa de serviço/atendimento: µn

� Assume-se que tanto os intervalos entre as chegadas quanto os tempos de serviço são exponencialmente distribuídos

Page 3: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

3

Probabilidade de Estados

� Teorema 31.1: A probabilidade em regime permanente pn de que um processo de nascimento e morte esteja no estado n é dada pelo teorema:

� onde p0 é a probabilidade de que o sistema se encontre no estado 0 (vazio)

∞== − ,,2,1 ,021

110 ��

�npp

n

nn µµµ

λλλ

Prova 31.1� Suponha que o sistema se encontre no estado j no instante t� Seja ∆t o próximo intervalo de tempo, com duração muito curta,

de modo que não haja dois eventos no mesmo intervalo� No próximo intervalo de tempo, o sistema pode transitar para o

estado j – 1 ou j + 1 com as seguintes probabilidades:

tt

jjtnjttnP

t

tjtnjttnP

t

tjtnjttnP

jj

j

j

∆−∆−====∆+

∆=∆==−=∆+

∆=∆==+=∆+

µλ

µ

λ

1

em permanecer de adeprobabilid})(|)({

em partida uma de adeprobabilid })(|1)({

em chegada uma de adeprobabilid })(|1)({

Page 4: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

4

Prova 31.1

� Chamando de pj(t) a probabilidade de estar no estado jno instante t, podemos escrever o seguinte conjunto de equações lineares:

)()()1()()(

)()()1()()(

)()()1()()(

)()()1()(

1111

33222112

22111001

11000

tpttptttptttp

tpttptttptttp

tpttptttptttp

tpttptttp

jjjjjjjj ++−− ∆+∆−∆−+∆=∆+

∆+∆−∆−+∆=∆+∆+∆−∆−+∆=∆+

∆+∆−=∆+

µλµλ

µλµλµλµλ

µλ

Prova 31.1� A j-ésima equação pode ser escrita da seguinte forma:

� Em regime permanente, pj(t) aproxima-se do valor constante pj, isto é:

)()()()()(

)()()()()()(

lim

1111

11110t

tptptpdt

tpd

tptptpt

tpttp

jjjjjjjj

jjjjjjjjj

++−−

++−−→∆

++−=

++−=∆

−∆+

µλµλ

µλµλ

0)(

lim

e

)(lim

0t

0t

=

=

→∆

→∆

dt

tpd

ptp

j

jj

Page 5: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

5

Prova 31.1

� Substituindo estes valores na j-ésima equação, obtemos:

� A solução para este conjunto de equações é a seguinte:

(31.1)

01

01

11

1

11

1111

,3,2,1,

)(0

pp

jppp

ppp

jj

jj

j

jjj

jjjjjjj

µλ

µλ

µλµ

µλµλ

=

=−��

��

� +=

++−=

−+

++

++−−

∞=== ∏−

= +

− ,,2,1,1

0 100

21

110�

�nppp

n

j j

j

n

nn µ

λµµµ

λλλ

P0

� O Teorema 31.1 permite determinar a probabilidade de equilíbrio pn em termos de p0 . Usando a condição adicional de que a soma de todas as probabilidades deve ser 1, obtemos:

� A partir dessas probabilidades de estado, podemos calcular muitas outras medidas de desempenho, para diferentes tipos de sistemas de filas. Ex: M/M/1, M/M/m, M/M/m/K

[ ]� ∏∞

=

= ++=

1

1

0 1

01

1

n

n

j jj

pµλ

Page 6: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

6

Fila M/M/1

Fila M/M/1

0

λ

µ1

λ

µ2

λ

µ

λ

µj-1

λ

µj

λ

µj+1

λ

µ

... ...

� Modelada como um processo de nascimento e morte, onde:

� Utilizando o Teorema 31.1, obtemos:

∞==∞==

,,2,1,

,,2,1,0,

n

n

n

n

µµλλ

∞=���

����

�= ,,2,1,0 �npp

n

n µλ

ρ= intensidade de tráfego

Page 7: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

7

Fila M/M/1

� Portanto:

� Como a soma das probabilidades deve ser igual 1, obtemos:

� Esta soma infinita é a soma de uma série geométrica, que só converge se (equilíbrio!)

� Substituindo na expressão para pn, obtemos:

∞== ,,2,1,0 �npp nn ρ

ρρρρ

−=++++

= ∞ 11

120

�p

∞=−= ,,2,1,0,)1( �np nn ρρ

1/ <µλ

� Utilização do servidor (probabilidade de ter um ou mais jobs no sistema):

� Número médio de jobs no sistema:

� Variância do número de jobs no sistema:

ρ=−= 01 pU

Outras Propriedades daFila M/M/1

��∞

=

= −=−==

11 1)1(][

n

n

nn nnpnE

ρρρρ

22

1

222

)1(])[()1(])[(][][Var

ρρρρ

−=−�

���

� −=−= �∞

=

nEnnEnEnn

n

Page 8: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

8

� Probabilidade de ter n ou mais jobs no sistema:

� O Tempo médio de resposta pode ser calculado usando a Lei de Little:

Outras Propriedades daFila M/M/1

��∞

=

=

=−==≥nj

nj

njjpnP ρρρ)1()sistema no jobs (

ρρµ

λρρ

λ

λ

−=

−=��

����

−==

=

11

11

1

][][

][][

SnErE

rEnE

Outras Propriedades daFila M/M/1

� A função de distribuição de probabilidade acumulada (CDF),, do tempo de resposta é dada por:

� Note que o tempo de resposta é distribuído exponencialmente

� Posto percentil q :

)1(1)( ρµ −−−= rerF

���

����

−−=

=− −−

qr

qe

q

rq

100

100ln

)1(

1

1001 )1(

ρµ

ρµ

)()( axPaFx ≤=

Page 9: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

9

� Do mesmo modo, pode ser mostrado que a CDF do tempo de espera é dada por:

� Esta é uma distribuição exponencial truncada. O seu Posto percentil q é dado por:

� Esta fórmula se aplica apenas se q for maior do que 100(1-ρ). Todos os postos percentis mais baixos são 0

Outras Propriedades daFila M/M/1

)1(1)( ρµρ −−−= wewF

���

����

−−=

qwq 100

100ln

)1(

1 ρρµ

� Número médio de jobs na fila:

� O servidor é dito ocioso quando não houver nenhum job no sistema; em todos os demais momentos ele é dito ocupado

� O intervalo de tempo entre dois intervalos ociosos sucessivos é denominado de período ocupado

Outras Propriedades daFila M/M/1

��∞

=

= −=−−=−=

1

2

1 1)1)(1()1(][

n

n

nnq npnnE

ρρρρ

Page 10: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

10

Exemplo 31.1

� Medições efetuadas em um roteador indicaram que os pacotes chegam a uma taxa média de 125 pacotes por segundo (pps) e o roteador leva aproximadamente 2 ms para encaminhá-los.

a) Analise o roteador segundo um modelo M/M/1.

b) Qual a probabilidade de estouro do buffer se o roteador tiverapenas 13 buffers?

ExemplosPlanejamento de Capacidade para Serviços na WebMenascé & Almeida, 2003

� Exemplo 8.1: As requisições chegam a um servidor web a uma taxa de de 30 requisições/segundo. Cada requisição gasta 0,02 segundo, em média, para ser processada. Qual a fração de tempo em que k (k = 0, 1, ... ) requisições se encontram no servidor web? Qual o número médio de requisições no servidor?

� Exemplo 8.2: Considere o exemplo 8.1 acima. Responda:a) Qual o tempo médio de resposta no servidor?b) Qual seria o tempo médio de resposta se o servidor fosse substituído por outro duas vezes mais rápido?c) Qual seria o tempo de resposta se a taxa de chegada dobrasse quando o servidor fosse duas vezes mais rápido?

Page 11: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

11

Fila M/M/m

� Existem m servidores idênticos e uma única fila:

� Modelada como um processo de nascimento e morte onde:

Fila M/M/m

0

λ

µ1

λ

2µ2

λ

λ

(m-1)µm-1

λ

m µm

λ

m µm+1

λ

m µ

... ...

∞+=−=

=

∞==

,,1,,

1,,2,1,

,,2,1,0,

mmnm

mnn

n

n

n

µµ

µ

λλ

Page 12: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

12

Fila M/M/m

� Utilizando o Teorema 31.1, obtemos:

� Em termos da intensidade de tráfego ρ=λ/mµ :

���

��

∞+=

−==

− ,,1,,!

1,,2,1,!

0

0

mmnpmm

mnpnp

nmn

n

n

n

n

µλ

µλ

���

��

∞+=

−==

,,1,,!

1,,2,1,!

)(

0

0

mmnpm

m

mnpn

m

p mn

n

n ρ

ρ

� A probabilidade de haver 0 jobs no sistema é calculada pela relação:

� Que resulta em:

ou

Fila M/M/m

10

=�∞

=nnp

1!

)(

!

)(1

1000 =++ ��

=

−−

= mn

mnm

n

mn

m

mp

n

mpp ρρρ

11

10 !

)(

)1(!

)(1

−−

=�

���

�+

−+= �

m

n

nm

n

m

m

mp

ρρ

ρ

Page 13: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

13

� A probabilidade de que um job tenha que esperar na fila (todos os servidores ocupados) é dada por:

� Para m=1 (servidor único), C(m, � ) é dada por � .

Fórmula C de Erlang

)1(!

)(

!

)(

)jobs (),(

0

0

21

ρρ

ρρρ

−=

=

+++=≥=

�∞

=

++

m

mp

m

mp

pppmPmC

m

mn

mnm

mmm �

Número médio de jobs em espera

ρρρ

ρρρ

ρρ

−=

−=

−=−= ��∞

+=

−∞

+=

1

),(

)1(!

)(

)(!

)()(][

20

110

mC

m

mp

mnm

mppmnnE

m

mn

mn

mn

m

nq

Page 14: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

14

Número médio de jobs em atendimento

1

1

1

2210

2

0

2

000

21

1

0

2

00

1

1

)1)(,( que dado

)1)(,(

),()],(1[

),()(

),()!2(

)(

!2

)(

!1

)(

)(

)!1(

)()1(

!2

)(2

!1

)(1

][

++

=

=

==−=−+−=

+−−=+++++=

+���

����

−++++=

+++++−

−+++=

+=� �

mm

m

m

m

m

mmm

m

m

n mnnns

pmmpmmCm

mmCpmm

mmCmCpm

mmCppppm

mmCm

mp

mp

mppm

pppm

m

mpm

mp

mp

mpnpnE

ρρρρρρρρ

ρρρρρ

ρρρρρ

ρρρ

Número de Jobs no Sistema

� Número médio de jobs no sistema:

� Pode-se mostrar que a variância de n e nq são dadas por:

ρρρρ

−+=+=

1

),(][][][

mCmnEnEnE sq

2

2

)1(

)],(1[),(][Var

)1(

),(1),(][Var

ρρρρρρ

ρρρρρρρ

−−+=

���

�+

−−++=

mCmCn

mmC

mCmn

q

Page 15: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

15

Utilização da Fila M/M/m

� Se observarmos o sistema por um tempo longo (p.ex., T segundos), � o número total de jobs chegando e recebendo serviço será λT

� O tempo total ocupado dos m servidores para atender esses jobsserá λT/µ

� A utilização de cada servidor será dada por:

� Portanto, cada novo servidor acrescentado ao sistema diminui proporcionalmente sua utilização

ρµ

λµλ ====mT

mTU

/)/(

totaltempo

servidorpor ocupado tempo

Tempos Médios

� Tempo médio de resposta usando a Lei de Little:

� Do mesmo modo, o tempo médio de espera em fila é dado por:

���

����

−+=

−+==

)1(

),(1

1

1

/),(1][][

ρρ

µρµρ

µλ m

mCmmCnErE

)1(

),(][][

ρµρ

λ −==

m

mCnEwE q

Page 16: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

16

FDP do Tempo de Resposta

� O tempo de resposta r não é exponencialmente distribuído, a não

ser que m=1

� Em geral, o coeficiente de variação, isto é, a razão entre o desvio padrão e a média, de r é menor do que 1

��

−=−−

−≠−+−

−−=

−−

−−−−

mmremCe

mmeemm

mCe

rFrr

rrmr

/)1(,),(1

/)1(,1

),(1

][)1(

ρµρ

ρρ

ρ

µµ

µρµµ

Tempo de Espera

� A função distribuição de probabilidade do tempo de espera é dadopor:

� Dado que w possui uma função distribuição exponencial truncada, o posto percentil q pode ser calculado do seguinte modo:

wmemCwF )1(),(1)( ρµρ −−−=

���

���

����

−−=

q

mC

mwq 100

),(100ln

)1(

1,0max

ρρµ

Page 17: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

17

Exemplo 31.2

� Estudantes chegam a um laboratório de computação de acordo com Poisson a uma taxa média de 10 por hora. Cada estudante gasta em média 20 minutos no computador e assume-se que este tempo seja exponencialmente distribuído. O laboratório tem atualmente 5 computadores e alguns alunos têm reclamado que os tempos de espera são muito longos.

� Analise o laboratório usando um modelo de filas M/M/m.

Exemplo 31.3

� Os estudantes querem limitar o seu tempo de espera para uma média de 2 minutos e não mais do que 5 minutos em 90% dos casos.

� Isso é viável? Se for, quantos computadores seriam necessários?

� Sugestão: analise o sistema com m=6,7... computadores, mantendo as mesmas taxas de chegada e atendimento de � =0,167 e � =0,05, respectivamente.

Page 18: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

18

M/M/1 vs. M/M/m

� Com m servidores, qual a melhor alternativa?� manter filas separadas para cada servidor, ou

� manter uma única fila para todos os servidores

� Para chegadas de Poisson e tempos de serviço exponenciais:� m filas M/M/1 com taxa de chegada λ/ m

� uma fila M/M/m com taxa de chegada λ

� Vamos verificar que uma única fila é melhor quando os jobssão homogêneos

Exemplo 31.4

� No exemplo 31.2, considere que os 5 computadores estão localizados em 5 diferentes unidades do campus, portanto é necessário manter filas separada para cada um.

� Neste caso, o sistema é modelado como 5 filas M/M/1 separadas. Usando m=1, λ=0,167/5=0,0333 e µ=0,05, temos:

67,005,0

0333,0 tráfegode eIntensidad ==ρ

3600)067,01(

05,01

)1(

1][Var

60067,01

05,01

1

1][

2

2

2

2

=−

=−

=

=−

=−

=

ρµ

ρµ

r

rEM/M/5

24

479

Page 19: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

19

Fila M/M/∞∞∞∞

� Número infinito de servidores.� É um caso especial das filas M/M/m� Os jobs nunca têm que esperar, pois há sempre um

servidor disponível� O tempo de resposta (R) é igual ao tempo de serviço (S)� São também chamadas de centros de atraso� São utilizadas para representar recursos dedicados, tais

como terminais num sistema de tempo compartilhado� Suas equações podem ser derivadas das utilizadas para

filas M/M/m

Fila M/M/m/B

Page 20: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

20

� Número de buffers B (≥ m) é finito� Quando todos os buffers estiverem ocupados, novas chegadas

serão perdidas:

� Modelada como um processo de nascimento e morte, onde:

Fila M/M/m/B (buffers finitos)

+=−=

=

−==

Bmmnm

mnn

Bn

n

n

,,1,,

1,,2,1,

1,,2,1,0,

µµ

µ

λλ

0

λ

µ1

λ

2µ2

λ

λ

(m-1)µm-1

λ

m µm

λ

m µm+1

λ

m µ

... ...λ

m µB

Fila M/M/m/B

� Utilizando o Teorema 31.1, obtém-se:

� Em termos da intensidade de tráfego ρ=λ/mµ :

���

��

+=

−==

− Bmmnpmm

mnpnp

nmn

n

n

n

n

,,1,,!

1,,2,1,!

0

0

µλ

µλ

���

��

+=

−==

Bmmnpm

m

mnpn

m

p mn

n

n

,,1,,!

1,,2,1,!

)(

0

0

ρ

ρ

Page 21: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

21

� A probabilidade de haver 0 jobs no sistema é calculada pela relação:

� Que resulta em:

� ou

Fila M/M/m/B

10

=�=

B

nnp

1!

)(

!

)(1

1000 =++ ��

=

−−

=

B

mn

mnm

n

mn

m

mp

n

mpp ρρρ

11

1

1

0 !

)(

)1(!

))(1(1

−−

=

+−

���

�+

−−+= �

m

n

nmmB

n

m

m

mp

ρρ

ρρ

Número Médio de Jobs

+=

=

−=

=

B

mnnq

B

nn

pmnnE

npnE

1

1

)(][

][

� A variância e outras estatísticas de n e nq podem ser calculadas de forma semelhante

Page 22: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

22

Taxa Efetiva de Chegadas

� Todas as chegadas que ocorrem enquanto o sistema está cheio (n=B) são perdidas

� A taxa dos jobs que efetivamente entram no sistema é dada por:

� A diferença λ − λ’ = λ pB representa a taxa de perda de pacotes

)1('1

0

1

0B

B

nn

B

nn ppp −=== ��

=

=

λλλλ

Tempos Médios

� Tempo médio de resposta usando a Lei de Little:

� Do mesmo modo, o tempo médio de espera é dado por:

)1(

][

'

][][

Bp

nEnErE

−==

λλ

)1(

][

'

][][

B

qq

p

nEnEwE

−==

λλ

Page 23: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

23

Utilização da Fila M/M/m/B

� Se observarmos o sistema por um tempo longo, por exemplo, T segundos, � o número total de jobs chegando e recebendo serviço será λ’T

� O tempo total ocupado dos m servidores para atender esses jobs será λ’T/µ

� A utilização de cada servidor será dada por:

� pB é a probabilidade de o sistema estar cheio

)1('/)/'(

totaltempo

servidorpor ocupado tempo

BpmT

mT

U

−===

=

ρµ

λµλ

� Em um sistema M/M/m/m, o número de buffers é exatamente igual ao número de servidores. A proba-bilidade de perda é dada por:

� As fórmulas aqui apresentadas podem ser reduzidas ao caso de 1 servidor, caracterizando um sistema M/M/1/B

Fórmula de Perdas de Erlang

�=

== m

j

j

mm

m

jm

mmp

m

mp

0

0

]!/)[(

!/)(

!

)(

ρ

ρρ

Page 24: Análise de uma Fila Única - FT | Faculdade de Tecnologiamarlih/ST565/fila-unica.pdf · O modelo de filas mais simples contém apenas uma fila Pode ser usado para analisar recursos

24

Exemplo 31.5

� Considere novamente o roteador do Exemplo 31.1. Analise o roteador assumindo que este possua apenas 2 buffers.

� A taxa média de chegadas e a taxa média de serviço, são, como antes, 125 pps e 500 pps, respectivamente.

Outros Sistemas de Filas

� G/M/1� M/G/1 (M/D/1, caso especial)� G/G/1� G/G/m