You are on page 1of 52

Modelos Probabilsticos

de Desempenho
Profa. Jussara M. Almeida
1 Semestre de 2011

Modelos Probabilsticos
Processos Estocsticos
Processos de Poisson
Filas M/M/1, M/G/1...

Mais genericamente: modelos markovianos


Qual a probabilidade de um sistema estar em um
determinado estado?
Quantos e quais so os estados?
Quais as probabilidades de transio entre pares de
estados?

Modelos Markovianos
Exemplo : Servidor de Banco de Dados
Computador com uma CPU e dois discos rodando
um servidor de banco de dados.
Para manter QoS, apenas 2 usurios no banco de
dados por vez
Um disco 2x mais rpido que o outro
Transao tpica:

10 seg. de CPU
15 seg. no disco rpido (caso arquivo neste disco)
30 seg no disco lento

Transaes tm igual probabilidade de encontrar


os arquivos requisitados em qualquer um dos
discos

Modelos Markovianos
Exemplo : Servidor de Banco de Dados
Perguntas:
Usurio: Qual o tempo de resposta tpico?
Administrador do sistema: Qual a utilizao
de cada recurso do sistema?
Presidente da companhia: Qual desempenho
do sistema se eu dobrar o nmero de usurios
ativos no sistema
Qual o tempo de resposta se eu tiver que
migrar todos os arquivos do disco mais rpido
para o mais lento?

Construo de Modelos Markovianos


Servidor de Banco de Dados

Definio dos estados: (X,Y,Z)

X = # usurios na CPU
Y = # usurios no disco rpido
Z = # usurios no disco lento
(2,0,0), (1,1,0), (1,0,1), (0,2,0), (0,1,1), (0,0,2)
Outras opes de estados podem ser mais
complicadas

Construo de Modelos Markovianos

Servidor de Banco de Dados

Definio das transies entre estados

Se em estado (2,0,0), um usurio na CPU pode terminar


processamento e ir para disco rpido (estado (1,1,0)) ou para o
disco lento (estado (1,0,1))

Se em estado (1,1,0), ou usurio no disco rpido termina e vai para


CPU (estado (2,0,0)), ou usurio na CPU vai para um dos discos
(estado (0,1,1) ou (0,2,0))

Se em estado (1,0,1), ou usurio no disco lento termina e vai para


CPU (estado (2,0,0)), ou usurio na CPU vai para um dos discos
(estado (0,1,1) ou (0,0,2))

Se ambos usurios no disco rpido/lento (estado (0,2,0)/(0,0,2))


um usurio termina e vai para CPU (estado (1,1,0)/(1,0,1))

Se em estado (0,1,1), ou usurio do disco rpido retorna CPU


( estado (1,0,1)) ou usurio do disco lento retorna CPU (estado
(1,1,0))

Construo de Modelos Markovianos

Servidor de Banco de Dados

Parametrizao: taxas

Se em estado (2,0,0):

CPU ativa atende requisies de usurios taxa de 6 transaes por


min (cada uma tem demanda de 10 seg)

Cada transao pode acessar arquivos em qualquer disco com igual


probabilidade: taxa com que usurio migra da CPU para disco
rpido/lento = 3

Peso entre (2,0,0) e (1,0,1) = 3 (= para (2,0,0) e (1,1,0))

Se em estado (1,1,0):

Usurio deixa a CPU a uma taxa 6, metade do tempo indo para disco
lento, metade para disco rpido

(1,1,0) -> (0,2,0) = (1,1,0) -> (0,1,1) = 3

Disco rpido satisfaz requisio a uma taxa de 4 transaes por


minuto (cada uma tem demanda de 15 segundos) :

(1,1,0) -> (2,0,0) = 4

Soluo de Modelos Markovianos

Objetivo: achar as probabilidades a longo prazo de


estar em cada estado particular
Como fazer?

Estado estacionrio independe do estado inicial do sistema


Utilizar conjunto de equaes de equilbrio lineares

N estados -> N incgnitas (probabilidades) -> N equaes

Equaes derivadas a partir dos fluxos entrando e


saindo de cada estado
fluxo entrando = fluxo saindo (para cada estado)

Equao da conservao da probabilidade total

Soma das probabilidades a longo prazo = 1

Vide Performance by Design, Menasce & Almeida

Interpretando resultados...
Servidor de Banco de Dados

Qual o tempo de resposta tpico?

Lei de Little: R = N / X
N = 2, X = ?
Medir X na sada da CPU: Ucpu = X Scpu -> X = Ucpu 1/Scpu
Ucpu = soma das probs de todos estados onde
h pelo menos 1 usurio na CPU:
Ucpu = P(2,0,0) + P(1,0,1) + P(1,1,0) = 0.1391 + 0.2987 + 0.1043 = 0.4521
1/Scpu = service rate = 6 transaes por minuto
X = 0.4521 6 = 2.7126 transaes por min.
R = 2/2.7126 = 0.7373 minutos / transao

Interpretando resultados...
Servidor de Banco de Dados
Qual a utilizao de cada dispositivo?
Ucpu = P(2,0,0) + P(1,0,1) + P(1,1,0) =
0.1391 + 0.2987 + 0.1043 = 0.4521
Ufast_disk = P(1,1,0) + P(0,2,0) + P(0,1,1) =
0.1043 + 0.0783 + 0.1565 = 0.3391
Uslow_disk = P(1,0,1) + P(0,0,2) + P(0,1,1) =
0.2087 + 0.1565 + 0.3131 = 0.6783

Interpretando resultados...
Servidor de Banco de Dados

Qual desempenho se dobrar nmero de clientes ativos


Solucionar novo modelo com 15 estados
(4 clientes ativos)

Qual desempenho se migrar todos arquivos para disco


lento?
Solucionar novo modelo com 3 estados
(2,0), (0,2) e (1,1)

Premissas e Limitaes

Premissa de memoryless / sem memria:

Cada estado captura todas as infos importantes do


sistema.
Prximo estado s depende do estado corrente
(e no dos estados anteriores)

Limitao resultante:

Possvel exploso do espao de estados


Se ordem importante, se jobs so distintos (mltiplas
classes), estado tem que capturar isto:
Ex: 10 classes de clientes na CPU , FIFO (ordem importa):
nmero de estados = 10! = 3.6 milhes.

Se jobs estatisticamente iguais: estado pode ser


identificado por um nmero (# clientes na CPU)

Premissas e Limitaes

Premissa exponencial:

Tempo gasto entre eventos relevantes (tempo gasto em


um estado) segue distribuio exponencial : modelos de
markov com tempo contnuo (servidor de banco de
dados)
Prob (T > s + t | T > s] = Prob (T > t)

Limitao resultante:

Exponencial pode no ser uma boa aproximao


Possvel soluo: estgios

Conceitos Avanados

Estado recorrente: estado que pode sempre ser


revisitado no futuro, independentemente dos
estados visitados aps o sistema deix-lo.
Estado transiente: dependendo dos prximos
estados visitados, pode no ser possvel retornar
a um estado transiente.
Fato: Cada estado em um modelo de Markov ou
transiente ou recorrente
Fato: Todos estados alcanveis a partir de um
estado recorrente so recorrentes
Fato: Todos estados dos quais se podem alcanar
um estado transiente so transientes.

Conceitos Avanados

Estado peridico: estado recorrente onde o


sistema s pode retornar a ele em p, 2p, 3p ...
passos, onde p o perodo (p > 1)
Fato: Todos estados alcanveis de um estado
peridico so peridicos com mesmo perodo
Cadeia: conjunto de estados recorrentes que
podem alcanar uns aos outros.
Estados discretos, transies discretas/contnuas
Fato: modelos de markov com transies contnuas
no tm estados peridicos

Conceitos Avanados

Fato principal:
Qualquer modelo de Markov finito sem estados peridicos e
cujos estados recorrentes esto todos na mesma cadeia
tero probabilidades a longo prazo que independem do
estado inicial. Isto , o modelo tem estado estacionrio
Os modelos de Markov de interesse so aqueles que tm
comportamento estacionrio definido.

Fato: a probabilidade estacionria de um estado


transiente 0.

Modelos Birth-Death

Classe de modelos de Markov com soluo geral.

Dado um sistema em um estado k (onde k indica o


nmero de clientes no sistema), um de dois
eventos pode ocorrer para mudar o estado

Birth: chegada de novo cliente -> estado k+1

Death: sada de um cliente do sistema -> estado k-1

Taxa de chegadas de novos clientes quando


sistema est no estado k = k (exponencial)

Taxa de sadas de clientes (trmino de execuo)


quando sistema est no estado k = k (exponencial)

Modelos Birth-Death
0
0

1
1

1
2
2

Soluo de Modelos Birth-Death


Fluxo entrando = fluxo saindo
1 P1 = 0 P0
0 P0 + 2 P2 = 1 P1 + 1 P1
.....
k-1 Pk-1 + k+1 Pk+1 = k Pk + k Pk

P0

P0 + P1 + P2 + .... = 1
1

k 1

1
k 0 i 0

i 1

k 1
0 1 ...k 1
Pk Pk-1
P0
k 1,2,...
k
1 2 ... k

Soluo de Modelos Birth-Death


Utilizao = P1 + P2 + ..... = 1 - P0
Estado estacionrio existe se P0 0
Throughput = 1 P1 + 2 P2 + .....
Tamanho da fila = 0P0 + 1P1 + 2P2 + .... + kPk + ....
Tempo de resposta = Tamanho da fila / throughput

Modelos Markovianos
Processos de Markov
Processos
Poisson
Processos Birth and Death

Processo Poisson

Processo de contagem {N(t), t 0}:

N(0) = 0

N(t) 0

s t N(s) N(t)

N(t) N(s) = # eventos ocorridos no intervalo (s, t]

Processo Poisson

Um processo de contagem um processo Poisson com


taxa 0 se:
O processo tem incrementos independentes: eventos
ocorrendos em intervalos de tempo disjuntos so
independentes

Os incrementos do processo so estacionrios: a


distribuio do nmero de eventos em qualquer intervalo
de tempo depende somente da durao do intervalo e no
de quando ele comea

Probabilidade de que exatamente um evento ocorra em


um intervalo de durao h: P[N(h) = 1] = h + o(h)

Probabilidade de que mais que um evento ocorra em um


intervalo de durao h : P[N(h) 2] = o(h)
P[N(h) = 0] = 1 P[N(h) = 1] P[N(h) 2]
= 1 - h - o(h) o(h) = 1 - h + o(h)

Processo Poisson

Processo Poisson

Teorema 1: Seja {N(t), t 0} um processo

Poisson com taxa 0. Ento a V.A. Y que descreve o


# de eventos em um intervalo de tempo de durao t
0 tem distribuio Poisson com parmetro t

P (Y k ) e t

( t ) k
k!

k 0,1,2....

Logo o # mdio de eventos que ocorre no intervalo de


durao t t

Processo Poisson

Prova:

Pn (t ) P[ N (t ) n ]
P0 (t h ) P0 (t ) P[ N (t h ) N (t ) 0)
P0 (t ) P[ N ( h ) 0] P0 (t )(1 h o( h ))
P0 (t h ) P0 (t )
o( h )
P0 (t )
h
h
dP0 (t )
h 0:
P0 (t )
dt
P0 (t ) e t

Processo Poisson

Prova:

Pn (t h ) Pn (t ) P[ N (t h ) N (t ) 0]
Pn 1 (t ) P[ N (t h ) N (t ) 1]
Pn k (t ) P[ N (t h ) N (t ) k ]
Pn (t )(1 t o( h )) hPn 1 (t ) o( h )
Pn (t h ) Pn (t )
o( h )
Pn (t ) hPn 1 (t )
h
h
dPn (t )
h 0:
Pn (t ) hPn 1 (t )
dt
e t ( t ) n
Pn (t )
( Pn (0) 0)
n!

Processo Poisson

Teorema 2: Seja {N(t), t 0} um processo


Poisson com taxa 0.

Sejam 0 t1 t2 t3 ... os momentos de ocorrncia


de eventos.
Sejam os tempos entre chegadas {n} definidos como
1 = t1, 2 = t2 - t1, ...
Ento os tempos entre chegadas {n} so mutuamente
independentes e identicamente distribudos, cada um
seguindo uma distribuio exponencial com mdia 1/

Processo Poisson

Prova:
Uma vez que um processo Poisson tem incrementos
independentes, os eventos ocorrendo depois de tn so
independentes daqueles ocorrendo antes de tn, n=1,2,....
Logo, {n} so V.A. independentes
{n s} {N(tn-1+s) - N(tn-1) = 0}.

Logo:

P(n s) = P(N(tn-1+s) - N(tn-1) = 0) = P(N(s) = 0) = e- s


(processo tem incrementos estacionrios)

P(n s) = 1 - e- s, s 0

Processo Poisson

Teorema 3: Seja {N(t), t 0} um processo de


contagem tal que os tempos entre chegadas de
eventos {n} so independentes, identicamente

distribudos e seguem distribuio exponencial, cada


um com valor mdio 1/ . Ento {N(t), t 0} um
processo Poisson com taxa 0

Processo Poisson
Processo de
chegadas
Poisson

Taxa de
chegadas
constante

Tempo entre
chegadas
Exponencial

Processo Poisson

Teorema 3: Seja {N(t), t 0} um processo

Poisson e suponha que um evento tenha ocorrido no


intervalo de 0 a t.
Ento, Y, a V.A. que descreve o momento em que o
evento Poisson ocorreu, tem uma distribuio
uniforme contnua no intervalo 0 a t.
Isto , se 0 t, qualquer subintervalo de (0,t]
de tamanho tem probabilidade /t de conter o
momento em que o evento ocorreu.

Processo Poisson

Prova:

P(Y x ) P ( 1 x |N (t ) 1)
P[ N ( x ) 1 e ( N (t ) N ( x ) 0)]
P( 1 x |N (t ) 1)
P[ N (t ) 1]
P[ N ( x ) 1]P[( N (t x ) 0)]

P[ N (t ) 1]

xe x e ( t x ) x

t
te
t

Modelos de Markov:
Uma Outra Soluo
Formal

At agora vimos que para solucionar um modelo


de Markov (determinar probabilidades em
estado estacionrio), bastava solucionar
conjunto de equaes de equilbrio linear.

Agora, vamos chegar s mesmas equaes


partindo de outra interpretao.

Modelos de Markov:
Uma Outra Soluo
Formal

Definio: Uma sequncia de V.As. X1, X2, ..., formam uma


cadeia de Markov com tempo discreto se para todo n {n =
1, 2, ...} e todos os possveis valores das V.As. tem-se que
(para i1 i2 i3 ... in) que:
P[Xn = j | X1 = i1, X2 = i2, ... Xn-1 = in-1] = P[Xn = j | Xn-1 = in-1]

P[Xn = j | Xn-1 = in-1]: probabilidade de transio em um


passo.

Cadeia de Markov homognea: probabilidades de transio


independem de n : pij

Matriz de probabilidades P = [pij]

Modelos de Markov:
Uma Outra Soluo
Formal

Probabilidade de transio em m passos:

pi(,mj ) P X n m j | X n i
pi(,mj ) pi(,mk 1) pki

m 2,3,...

Probabilidade de encontrar sistema em estado j no


n-simo passo (comportamento transiente)

(j n ) P X n j

( n ) 0( n ) , 1( n ) , 2( n ) ,...

Modelos de Markov:
Uma Outra Soluo
Formal

Probabilidade de encontrar sistema em estado j no


n-simo passo

(1) (0)P
(2) (1)P (0)P P (0)P 2

(n )

(n1)

P P
(0)

n 1,2,3,...

Modelos de Markov:
Uma Outra Soluo
Formal

Probabilidade limite no estado estacionrio

lim

(n)

lim
n

(n)

j ij pi , j
lim
n

( n 1)

Modelos de Markov:
Exemplo
Zeus (1)

Abra (0)

Sucsamad (2)

Modelos de Markov: Exemplo

0
3 / 4 1 / 4
P 1/ 4
0
3/ 4

1 / 4 1 / 4 1 / 2
P

1 2 0 1 2

0 = 00 + 1 + 2
1 = 0 + 0 1 + 2
2 = 0 + 1 + 2
1 = 0 + 1 + 2

0
3 / 4 1 / 4
1/ 4
0 3/ 4

1 / 4 1 / 4 1 / 2

Mesmo conjunto de equaes


0 = 1/5 = 0.2
1 = 7/25 = 0.28
2 = 13/25 = 0.52

Modelos de Markov: Exemplo


(0) = [1, 0 ,0 ]

0( n )
1( n )
2( n )

0
1
2
3
4
...
1
0
0.250 0.187 0.203
0.20
0 0.75 0.062 0.359 0.254
0.28
0 0.25 0.688 0.454 0.543
0.52

Modelos de Markov: Exemplo


(0) = [0, 1 ,0 ]

0( n )
1( n )
2( n )

0
1
2
3
4
...
0 0.25 0.187 0.203 0.199
0.20
1
0
0.375 0.250 0.289
0.28
0 0.75 0.438 0.547 0.512
0.52
(0) = [0, 0 ,1 ]

0( n )
1( n )
2( n )

0
1
2
3
4
...
0 0.25 0.187 0.203 0.199
0.20
0 0.25 0.313 0.266 0.285
0.28
1 0.50 0.500 0.531 0.516
0.52

Modelos de Markov:
Uma Outra Soluo
Formal

A mesma derivao se estende para cadeias de Markov


no homogneas: probabilidades de transio entre
dois estados pode mudar com o tempo.

Probabilidade de transio em um passo (matriz):

P ( n ) [ pi , j ( n, n 1)]

Probabilidades de transio em m passos (matriz):

H ( m, n ) [ pi , j ( m, n )]

Modelos de Markov:
Uma Outra Soluo
Formal

Equaes de Chapman-Komogorov

H ( m , n ) H ( m , q ) H ( q, n )

ou

p i , j ( m , n ) p i , k ( m , q ) p k , j ( q, n )
k

Soluo: expressar H(m,n) em termos das matrizes de


probabilidades P(n) (entrada)

H ( m, n ) H ( m, n 1) P( n 1)
H ( m, n ) P ( m ) H ( m 1, n )

( forward )

ou

(backward )

H ( m, n ) P ( m ) P( m 1).... P ( n 1)

m n 1

Modelos de Markov:
Uma Outra Soluo
Formal

Podemos determinar as probabilidades de estar em


cada estado em determinado instante (probabilidades
dependem do tempo)

( n 1) ( n ) P( n ) ( 0 ) P(0) P(1) P( 2) P(3)... P( n )

Modelos de Markov:
Uma Outra Soluo
Formal

Uma derivao semelhante feita para o caso do


cadeias de Markov com tempo contnuo.

Definio: Um processo aleatrio X(t) forma uma


cadeia de Markov de tempo contnuo, se para todos os
inteiros n, e para qualquer sequncia t1, t2, t3, ..., tn,

tal que t1 t2 t3 ... tn, tem-se:

P[X(tn+1) = j | X(t1) = i1, X (t2) = i2, ... X(tn) = in] =


P[X(tn+1) = j | X(tn) = in]

Modelos de Markov:
Uma Outra Soluo
Formal
Probabilidades de transio p (s,t)
i,j

pi,j(s,t) = P(X(t)=j | X(s)=i)

ts

Equaes de Chapman-Kolmogorov

p i , j ( s , t ) pi ,k ( s , u ) p k , j ( u , t )
k

matriz : H ( s, t ) pi , j ( s, t ) H ( s, t ) H ( s, u ) H (u, t )

sut

No caso de Cadeias de Markov com tempo contnuo, as


probabilidades de transio de um passo so substitudas
pelas taxas infinitesimais, calculadas em funo das
derivadas de pi,j(s,t) quando t s

Modelos de Markov:
Uma Outra Soluo
Formal
Equaes de Chapman-Kolmogorov (forward)
P(t ) p (t , t t )
i, j

H ( s, t ) H ( s, t t ) P(t )
H ( s, t ) H ( s, t t ) H ( s, t t ) P( t ) H ( s, t t )
H ( s, t t ) P( t ) I
H ( s, t ) H ( s, t t ) H ( s, t t ) P( t ) I

t
t
dH ( s, t )
t 0 :
H ( s, t )Q (t )
st
dt
P(t ) I Matriz Q(t): gerador infinitesimal da
Q (t ) lim
matriz de transio H(s,t)
t 0
t
Ou matriz de taxa de transio

Modelos de Markov:
Uma Outra Soluo
Formal
P (t ) I
Q (t ) lim
t 0
t
pi ,i (t , t t ) 1
qi ,i (t ) lim
t 0
t

qi , j (t ) lim

pi , j (t , t t )

t 0

Taxas infinitesimais de transio entre estados


Note que:

p
j

i, j

( s, t ) 1 qi , j (t ) 0
j

i j

Modelos de Markov:
Uma Outra Soluo
Formal
Se cadeia de Markov homognea: taxas de transio
independem do tempo

H ( t ) H ( s , s t ) pi , j ( t )
Q Q (t )
dH (t )
d ( t )
H (t )Q
(t )Q
dt
dt

lim (t )
t

d (t )
lim (t )Q lim
t
t
dt

Q 0

Modelos de Birth and Death:


Exemplo
0

1
1

0
Q 1

2
2

0
0
( 1 1 ) 1 qi , j 0

j
2
2

Modelos de Birth and Death:


Exemplo
Q 0

0
2 1

0
0
( 1 1 ) 1 0

2
2

-0 0 + 1 1 = 0
0 0 (1 + 1) 1 + 2 2 = 0
1 1 - 2 2 = 0
1 + 2 + 3 = 0

Mesmas equaes
obtidas fazendo
Fluxo entrando = fluxo saindo