Escolar Documentos
Profissional Documentos
Cultura Documentos
1
Planejamento de capacidade de sistemas através
de Cadeias de Markov
Resumo
1.1. Introdução
Em muitas atividades industriais, comerciais e humanas, bem como em fenômenos natu-
rais, está presente um alto grau de incerteza ou risco. Neste sentido, modelos matemáticos
probabilísticos têm sido utilizados para fazer previsões de valores para ajudar nas tomadas
de decisões. Dentre os modelos probabilísticos, um que se destaca é conhecido como pro-
cesso de Markov1 que corresponde a um fenômeno constituído de estados finitos e discre-
tos, e cuja probabilidade de transição entre tais estados, num intervalo de tempo também
discreto, depende apenas do estado corrente e do estado seguinte. Uma sequência de es-
tados seguindo este processo dá-se o nome de cadeia de Markov [20, 2, 4, 16, 22, 25]. Os
modelos Markovianos têm sido usados intensivamente na modelagem de desempenho e
dependabilidade desde a década de 50 [9]. As áreas onde os modelos de Markov podem
ser aplicados se incluem a Administração, Economia, Meteorologia, Física, Química e as
Engenharias.
1 Andrei Andrejevitch Markov (1856-1922) - matemático russo.
Markov obteve os primeiros resultados para estes processos em 1906. Uma gener-
alização para espaços de estados infinitos contáveis foi feita por Kolmogorov2 em 1936.
Cadeias de Markov estão relacionadas ao movimento Browniano e à hipótese ergódica,
dois importantes tópicos da Física nos primeiros anos do século XX, mas a motivação de
Markov para o desenvolvimento da teoria parece ter sido estender a teoria dos grandes
números a eventos dependentes.
Além do desempenho, aspectos de confiabilidade merecem grande atenção para a
garantia da qualidade do serviço prestado por um sistema. As cadeias de Markov podem
ser utilizadas para capturar o comportamento do sistema e permitir a descrição e previsão
de métricas de confiabilidade, como o tempo médio para falha, assim como a disponibil-
idade e o downtime anuais. A análise conjunta dos aspectos de desempenho e confiabil-
idade, chamada de análise de performabilidade, também será tratada neste estudo, uma
vez que muitos sistemas podem permanecer funcionais mesmo nas falhas. Além disso,
serão também apresentados os MRMs (Markov Reward Models) e uma introdução aos
modelos de
Neste capítulo, pretende-se mostrar como as cadeias de Markov podem ser uti-
lizadas no planejamento de capacidade de sistemas computacionais, auxiliando na garan-
tia de métricas de desempenho e disponibilidade almejadas. Serão apresentadas ferramen-
tas que facilitam a análise de uma grande variedade de sistemas. Como exemplos, serão
utilizados estudos de avaliação de desempenho com métricas que normalmente merecem
interesse em diversos ambientes, como tempo de resposta, taxa de conclusão de tare-
fas (throughput) e nível de utilização de recursos. Esses indicadores estão diretamente
relacionados à percepção do desempenho do sistema e podem indicar a necessidade de
mudanças, tais como upgrade de componentes ou ajustes na configuração.
P(A.B) P(A ∩ B)
P(A | B) = =
P(B) P(B)
A2 : P(S) = 1.
Exercícios resolvidos.
/ = 0.
2. Sendo 0/ o evento impossível, então P(0)
/ Logo, P(S) = 1 − P(S) = 1 − 1 = 0, pelo axioma A2.
Prova: Sabe-se que S = 0.
Variáveis aleatórias. Dado um experimento e um espaço amostral S a ele associado,
denomina-se variável aleatória à função X que associa a cada elemento s de S um número
real X(s). Como pode ser notado, a definição de uma variável aleatória é a mesma
definição de função, o que pode gerar alguma dúvida, notadamente aos iniciantes neste
estudo.
Seja X uma variável aleatória. Se os valores de X formarem um conjunto finito ou
infinito enumerável, então X é denominada variável aleatória discreta. Se, no entanto,
este conjunto for um intervalo ou uma coleção de intervalos, ela é denominada variável
aleatória contínua.
Função de probabilidade. Seja X uma variável aleatória discreta. Sejam x1 , x2 , x3 , · · · ,
seus possíveis valores. A cada resultado xi associamos um número real p(xi ) = P(X = xi ),
que é a probabilidade do ponto xi , de forma que:
2. ∑∞
i=1 p(xi ) = 1
que é conhecida como a lei da probabilidade total. Esta equação normalmente é apresen-
tada sob a forma de probabilidades condicionais, ou seja,
n n
P(A) = ∑ P(A ∩ Bi ) = ∑ P(A | Bi )P(Bi )
i=1 i=1
Distribuição das probabilidades. Uma distribuição de probabilidades é um modelo
matemático que relaciona o valor da variável aleatória com a probabilidade de ocorrên-
cia desse valor no espaço amostral ou na população. Estes pontos, na forma (xi , p(xi )) ∈
S ×R, podem ser plotados em um gráfico para se verificar a forma como eles se distribuem
ao londo do espaço amostral S. Esta distribuição pode ser discreta ou contínua.
Distribuição discreta de probabilidades. Quando o parâmetro que está sendo medido só
pode assumir certos valores, como por exemplo valores inteiros 0, 1, 2, . . . , a distribuição
de probabilidades é chamada discreta. Por exemplo, o lançamento de um dado só pode
apresentar os resultados 1, 2, 3, 4, 5 e 6. Portanto a distribuição de suas probabilidades é
discreta.
Exemplo. Seja encontrar a distribuição discreta das probabilidades da variável aleatória
discreta que consiste no lançamento de três moedas. Neste caso o espaço amostral S =
{HHH, HHT, HT H, T HH, HT T, T HT, T T H, T T T } e X = {0, 1, 2, 3} (o número de caras).
Ou seja,
X = 0 ⇒ {T T T }
X = 1 ⇒ {HT T, T HT, T T H}
X = 2 ⇒ {HHT, HT H, T HH}
X = 3 ⇒ {HHH}
xi 0 1 2 3
Desta forma, pode-se construir uma tabela como 1 3 3 1
p(xi ) 8 8 8 8
e plotar os pontos (xi , p(xi )) em um gráfico para se ter a noção da forma como a dis-
tribuição se comporta. Isto pode ser visto na Figura 1.1.
p(x i)
3/8
1/8
0 1 2 3 xi
a b x
minorizar este problema, evitando a tarefa de encontrar esta função para cada experi-
mento. No caso do exemplo de distribuição discreta mostrado anteriormente, a função é
dada por ( )
1 3
p(x) = para x = 0, 1, 2, 3
8 x
Entre as distribuições discretas de probabilidades se destacam a distribuição bi-
nomial, a distribuição de Poisson, a distribuição hipergeométrica e outras. Entre as dis-
tribuições contínuas, as mais comuns são a distribuição normal ou de Gauss, a distribuição
exponencial, a distribuição qui-quadrado, a distribuição t de Student, a distribuição Erlang
e outras. Este tema deve ser estudado na bibliografia adequada sobre Probabilidade e Es-
tatística.
Muitos sistemas têm a propriedade de que conhecendo-se seu estado atual, os es-
tados passados não têm qualquer influência sobre os estados futuros. Esta propriedade é
conhecida como propriedade Markoviana e sistemas com esta característica são descritos
como processos estocásticos Markovianos [1]. Dito de outra forma, um processo estocás-
tico é dito Markoviano se, dado o valor de Xt , o valor de Xs , onde s > t, não depende dos
valores de Xu , ∀u, tal que u < t.
Um processo Markoviano se caracteriza por esta “ausência de memória”, uma vez
que a distribuição condicional do estado no futuro depende apenas da informação mais
recente.
As cadeias de Markov são casos particulares de processos estocásticos Marko-
vianos, em que o número de estados possíveis é finito ou infinito enumerável. Na real-
idade, elas são tipos mais simples de processos estocásticos que possuem propriedades
importantes quando o número de transições cresce.
As propriedades a seguir são válidas para as cadeias de Markov.
Matriz de transição. Para efeito deste estudo, as probabilidades de transições dos estados
Xn = i para os estados Xn+1 = j são conhecidas como probabilidades de transições de
passo único ou apenas probabilidades de transições das cadeias de Markov, ou seja,
pi j = P{Xn+1 = j | Xn = i}, ∀n
p p 0,5 0,3
p 20 21 0,1
p 0,05
02 12
p
2
0,2
[0,8 0,15
P = 0,7 0,2
0,5 0,3
0,05
0,1
0,2
]
22
a) b) c)
(n-1)/n
Figure 1.4. Uma cadeia de Markov de dois estados.
P{X5 = b, X4 = b, X3 = a, X2 = a | X1 = a}
= paa (1)paa (2)pab (3)pbb (4)
= 1 × 1/2 × 2/3 × 1/4 = 1/12
q00 q01 q02 −0, 001 0, 001 0
Q = q10 q11 q12 = 0 −2 2
q20 q21 q22 0, 2 0 −0, 2
π Q = 0, ∑ πi = 1 (2)
i∈S
Explicações detalhadas sobre como chegar a essas equações podem ser encon-
tradas em [2].
Cadeias de Markov também podem ser classificadas de acordo com a frequência
com que seus estados podem ser alcançados ao longo do tempo. Em uma cadeia irre-
dutível, cada estado pode ser alcaçado a partir de qualquer outro estado, de forma que
todos os estados são recorrentes3 nesse tipo de modelo. Se, uma vez que o sistema deixa
um determinado estado, aquele estado não puder mais ser visitado, a cadeia de Markov é
dita acíclica. Se uma cadeia não for acíclica nem irredutível, é classificada como phase-
type [18]. Ela irá, eventualmente, alcançar um estado absorvente4 , mas enquanto isso
não acontece, a cadeia passa por um ou mais estados transientes5 . A Figura 1.6 mostra
exemplos dos três tipos de cadeias.
3 Um estado é chamado recorrente se o sistema é capaz de retornar a esse estado inúmeras vezes [18].
4 Um estado é chamado absorvente se uma vez que ele é alcançado, a cadeia não for capaz de sair desse
estado.
5 Um estado é chamado transiente se, durante um período de tempo finito, o sistema visitar esse estado
E[X(t)] pode ser considerado como a receita média obtida pela operação do sis-
tema no tempo t. Outros tipos de recompensa podem ser usados, tais como poder com-
putacional, status de disponibilidade do sistema, finalização de tarefas por unidade de
tempo. Independentemente da taxa de recompensa, ri que é adotada, a recompensa esper-
ada em estado estacionário pode ser computada na forma da Equação 4.
E[X] = ∑ ri πi (4)
i∈S
M0 = (1,0,0,0)
t0 t1
M1 = (0,1,0,0) M2 = (0,0,1,0)
t2 t3
M3 = (0,0,0,1)
t4
M0
(b) Árvore de alcançabilidade.
t0 0
t1
1 2 t4
t2 t3
3
(c) Cadeia de Markov.
λ0 λ1 λ2 λ3 λ4
0 1 2 3 4 ...........
μ1 μ2 μ3 μ4 μ5
Este tipo de cadeia de Markov é muito utilizado para representar sistemas que fun-
cionam com base na simples chegada de requisições, que serão atendidas por n servidores.
A chegada de uma nova requisição é um nascimento na cadeia e, portanto, acontece com
uma taxa λi , ocupando um servidor do sistema. Já o serviço oferecido pelo sistema é efe-
tuado a uma taxa µi , configurando-se como uma morte na cadeia, que libera um servidor
para atender outras possíveis requisições.
Aspectos importantes do desempenho do sistema podem ser conhecidos através
da probabilidade de se estar em determinados estados da cadeia de nascimento e morte.
Um exemplo é a probabilidade do sistema encontrar-se ocioso, que corresponde a π0 . Se
essa probabilidade for calculada para estado estacionário do sistema, ainda pode-se obter
o tempo médio (em horas) de ociosidade do sistema ao longo do período de um ano. Para
isso, basta multiplicar π0 por 8760 horas, que é corresponde ao número de horas de 1
ano. De forma semelhante, se o sistema possui somente n servidores e chegarem novas
requisições com uma taxa λn , que não poderão ser atendidas devido a todos os servidores
estarem ocupados, a probabilidade de uma requisição ser rejeitada devido ao sistema estar
completamente ocupado é calculada como πn · λn .
Sistemas de fila também podem ser representados por cadeias de nascimento e
morte, com a finalidade de se obter métricas como ocupação média da fila e nível de
utilização do sistema. O custo energético médio do sistema também pode ser calculado,
ao associar recompensas (rewards) referentes à energia consumida em cada estado da
cadeia.
1.4.2. Modelos simples de falha e reparo
Quando se deseja analisar aspectos relacionados a eventuais falhas e reparos de um sis-
tema computacional, um modelo simples como o apresentado na Figura 1.9 pode servir
como base para as construções de outras cadeias mais complexas. Nesse modelo, há
apenas 3 estados possíveis para o sistema: Funcionando, Quebrado, ou Em Reparo.
Considerando-se, por exemplo, que o sistema esteja funcionando, uma falha ocorrerá
com uma taxa λ , que deve ser igual ao inverso do tempo médio para falha do sistema,
conhecido como MTTF (Mean Time To Failure). Se o MTTF do sistema for 1000 horas,
então o valor de λ será 1/1000, ou 0, 001.
Figure 1.10. Cadeia de Markov para a disponibilidade de uma rede sem redundância
Figure 1.11. Cadeia de Markov para a disponibilidade de uma rede com re-
dundância no enlace
Os MTTFs dos componentes usados nas duas arquiteturas são: 131.000 horas para
os roteadores e 11.988 horas para os enlaces. O tempo médio para reparo (MTTR) é igual
a 12 horas, para todos os compoentes. Note que todos os λi nos modelos são iguais a
1/MT T Fi e todos os µi são iguais a 1/MT T Ri . As taxas são exibidas em vez dos tempos
devido à sua forma compacta, que facilita o entendimento dos modelos.
A análise do modelo sem redundância, em estado estacionário, provê um valor de
0,9980 para a disponibilidade desse sistema. Calculando a mesma métrica com o modelo
que possui redundância de enlace obtém-se 0,9995. Esse aumento na disponibilidade se
traduz em uma redução do downtime anual de 7,53 horas para 1,88 horas, configurando-se
num ganho importante para empresas e organizações que precisam manter sua infraestru-
tura de comunicação funcionando de forma ininterrupta, sob pena de degradação da im-
agem corporativa e grandes prejuízos financeiros por quebras de contrato e/ou perda de
possíveis clientes. Além de servir para comparar as métricas estimadas para diferentes
arquiteturas candidatas, as cadeias de Markov aqui poderiam ser usadas para verificar até
que ponto aumentos na confiabilidade de um determinado componente podem suprir os
requisitos do sistema sem a necessidade de comprar e instalar equipamentos para servir
de réplicas dos servidores e dados críticos presentes no sistema.
Inicialização
Reserva - Aérea
Reserva - Hotel
Resp. ao cliente
Os valores usados como base para a análise da cadeia de Markov são mostrados
na Tabela 1.1.
Analisando o modelo da Figura 1.13, se obtém, entre outras métricas, a proba-
bilidade do sistema encontrar-se no estado “Completo” no instante t (πCompleto (t)). O
valor de πCompleto (t) é equivalente à probabilidade do tempo de resposta do sistema ser
menor ou igual ao tempo t: P[Resp ≤ t]. Supondo que o projetista, ou desenvolvedor,
desse sistema esteja interessado num tempo de resposta de 8 segundos, calculamos então
πCompleto (8) = 0, 5173, ou seja, há 51,83% de probabilidade do sistema responder em 8
segundos ou menos. Calculando essa probabilidade para diferentes valores de tempo t,
obtém-se a curva apresentada na Figura 1.14. Através dela, percebe-se que há uma prob-
abilidade próxima a 100% de que o tempo de resposta seja no máximo 25 segundos. Esse
tipo de análise pode ser utilizada como base para a definição de contratos de nível de
serviço (SLA - Service Level Agreement) entre o provedor da aplicação de Agente de Vi-
agem e seus clientes, fornecendo estimativas concretas sobre o desempenho da aplicação
em questão, já levando em consideração aspectos de confiabilidade.
0,8
Probabilidade
0,6
0,4
0,2
0
0 5 10 15 20 25 30
Tempo de resposta (s)
References
[1] BARROS, Mônica; Processos Estocásticos; Papel Virtual Editora; Rio de Janeiro;
2004.
[2] BOLCH, G., GREINER, S., de MEER, H., and TRIVEDI, K. S.; Queuing Networks
and Markov Chains: modeling and performance evaluation with computer science
applications; John Wiley and Sons; 2 ed.; 2001.
[3] BERTOLI, Marco and CASALE, Giuliano and SERAZZI, Giuseppe; JMT: perfor-
mance engineering tools for system modeling; SIGMETRICS Perform. Eval. Rev.
vol36; March, 2009.
[4] GUNTER, B.; GREINER, S.; de MEER, H. and TRIVEDI, K. S.; Queueing Net-
works and Markov Chains: Modeling and Performance Evaluation with Computer
Science Applications; 2nd edition; John Wiley & Sons, Inc.; 2006.
[5] HAVERKORT, B. and MEEUWISSEN, A.; Sensitivity and uncertainty analysis of
Markov-reward models. IEEE Transactions on Reliability, 44(1):147–154; 1995.
[6] Isograph; Reliability Workbench 11 http://www.isograph-software.com/. Último
acesso em 09 de Outubro de 2011.
[7] KLEINROCK, L. Queueing Systems, volume 1. Wiley, New York; 1975.
[8] MACIEL, P. R. M.. LINS, R. D. and CUNHA, P. R. F.; Introdução às Redes de Petri
e Aplicações; Sociedade Brasileira de Computação; Campinas, São Paulo. 1996.
[9] MACIEL, P. R. M.; TRIVEDI, K.; MATIAS JR R.; and KIM, D.; Performance
and Dependability in Service Computing: Concepts, Techniques and Research Di-
rections; Dependability Modeling. IGI Global, Hershey, Pennsylvania; 2011.
[10] AJMONE MARSAN, M., CONTE, G., and BALBO, G.; A class of generalized
stochastic petri nets for the performance evaluation of multiprocessor systems. ACM
Trans. Comput. Syst., 2:93–122. 1984.
[11] MARSAN, M. A. and CHIOLA, G.; On petri nets with deterministic and expo-
nentially distributed firing times. In Advances in Petri Nets 1987, covers the 7th
European Workshop on Applications and Theory of Petri Nets, pages 132–145, Lon-
don, UK. Springer-Verlag. 1987.
[12] MATOS JÚNIOR, R. de S., GUIMARÃES, A. P., CAMBOIM, K. M. A., MA-
CIEL, P. R. M., TRIVEDI, K .S.; Sensitivity Analysis of Availability of Redun-
dancy in Computer Networks. In Proceedings of the Third International Conference
on Communication Theory, Reliability, and Quality of Service, CTRQ 2010, pages
115–121, Budapest. IARIA. 2011.
[13] MENASCÉ, D. A.; ALMEIDA, V. A.; and DOWDY, L. W.; Performance by Design:
Computer Capacity Planning by Example. Prentice Hall PTR.; 2004.
[14] MOLLOY, Michael Karl; On the integration of delay and throughput measures in
distributed processing models; Phd Thesis; University of California, Los Angeles,
1981.
[15] MOLLOY, M. K.; Performance analysis using stochastic petri nets. IEEE Trans.
Comput., 31:913–917. 1982.
[16] NORRIS, J. R.; Markov Chains; Cambridge Series in Statistical and Probabilistic
Mathematics; 2009.
[18] SAHNER, R. A., TRIVEDI, K. S., and PULIAFITO, A. Performance and reliabil-
ity analysis of computer systems: an example-based approach using the SHARPE
software package. Kluwer Academic Publishers, Norwell, MA, USA; 1996.
[19] SATO, N. and TRIVEDI, K. S.; Stochastic modeling of composite web services for
closed-form analysis of their performance and reliability bottlenecks. In ICSOC,
pages 107–118; 2007.
[20] SHAMBLIN, James E.; Pesquisa Operacional: uma abordagem básica; Editora
Atlas, São Paulo, 1979.
[21] SMITH, M. R., TRIVEDI, S. K., and NICOLA, F. V.; The analysis of computer
systems using markov reward processes. Technical report, Durham, NC, USA; 1987.
[22] STEWART, William J.; Probability, Markov chains, queues and simulation: the
mathematical basis of performance modeling. 2009.
[23] TRIVEDI, K. S., MUPPALA, J. K., WOOLET, S. P., and HAVERKORT, B. R.;
Composite performance and dependability analysis. Performance Evaluation, 14(2-
3):197–215; 1992.
[24] TRIVEDI, K. S., MALHOTRA, M., and FRICKS, R. M. Markov reward approach
to performability and reliability analysis. In Proceedings of the Second International
Workshop on Modeling, Analysis, and Simulation On Computer and Telecommu-
nication Systems, MASCOTS ’94, pages 7–11, Washington, DC, USA. IEEE Com-
puter Society. 1994.
[25] TRIVEDI, K. S.; Probability and Statistics with Reliability, Queuing, and Computer
Science Applications. John Wiley and Sons, 2nd. edition; 2002.
[26] TRIVEDI, K. S. and SAHNER, R.; SHARPE at the age of twenty two; doi =
http://doi.acm.org/10.1145/1530873.1530884; SIGMETRICS Perform. Eval. Rev.;
vol 36; ACM; March, 2009.