Sie sind auf Seite 1von 50

Planejamento de Capacidade

de Sistemas atravs de
Cadeias de Markov
Rubens Matos
Francisco Vieira
Carlos Julian
Paulo Maciel

Apresentao

Rubens de Souza Matos Jr.

Doutorando em Cincia da Computao / UFPE


Mestre em Cincia da Computao / UFPE
Bacharel em Cincia da Computao / UFS
Atuao em projetos de pesquisa nas seguintes reas:

Medio, modelagem e simulao de trfego de


redes
Avaliao de desempenho de sistemas distribudos
Envelhecimento/rejuvenescimento de software
Sistemas de armazenamento distribudo

Agenda

Introduo ao planejamento de capacidade


Conceitos bsicos de probabilidade
Fundamentos de Cadeias de Markov
Modelos clssicos de desempenho e disponibilidade
Ferramentas
Estudos de caso

O que Planejamento de Capacidade?


Sistemas de TI precisam operar de
maneira confivel, atendendo s
necessidades de seus usurios.
No basta atender os requisitos
funcionais,
esquecendo
os
requisitos no-funcionais.
O conceito de QoS (Qualidade de
Servio) deve estar presente em
todas as fases do ciclo de vida de um
sistema.

O que Planejamento de Capacidade?

Tempo de resposta

QoS

Disponibilidade

Vazo
Confiabilidade

Escalabilidade
Segurana

O que Planejamento de Capacidade?


Para realizar o planejamento de capacidade
necessrio prever como um sistema vai se comportar
Antes dele ser implementado
Aps alguma mudana de configurao
Aps alguma mudana na carga

Quantos atendentes eu
preciso pra que no
haja filas?

Planejando a capacidade de um banco


Sabendo que:
Chega um novo cliente a cada 2 minutos exatamente.
Cada atendente leva 3 minutos pra realizar o servio
pedido pelo cliente.

Facilmente descobre-se que so necessrios 2


atendentes:
Tempo (min.)
0 1 2 3 4 5 6 7 8 9 10 11 12 ...

Chegada
Sada

3
1

4
2

Planejando a capacidade de um banco


Sabendo que:
Chega um novo cliente a cada 2 minutos, exatamente.
Cada atendente leva 3 minutos pra realizar o servio
pedido pelo cliente.

Facilmente descobre-se que so necessrios 2


atendentes:
Tempo (min.)
0 1 2 3 4 5 6 7 8 9 10 11 12 ...

Desafios vista
No mundo real os acontecimentos no so
determinsticos.
Requisies/clientes no chegam em intervalos de tempo
regulares/fixos
O tempo necessrio para realizar uma tarefa varivel
Falhas no ocorrem em perodos pr-determinados

Precisamos trabalhar com modelos probabilsticos.

O que um modelo probabilstico?


Os eventos ocorrem aleatoriamente, porm
seguindo uma distribuio de probabilidade.

Distribuio normal

Distribuio exponencial

Conceitos bsicos de probabilidade


Espao amostral. O conjunto de todas os eventos
simples de uma experincia aleatria chamado de
Espao amostral, normalmente denotado por S.

Exemplos:

O lanamento de um dado.
S = {1,2,3,4,5,6}

O lanamento de uma moeda.

S = {H, T}, sendo H = cara e T = coroa


A escolha aleatria de uma carta em um baralho de 52
cartas.
S = {s de paus, ..., reis de copas}

Conceitos bsicos de probabilidade


Exemplo. O espao amostral que consiste na observao do
nmero de e-mails chegados ao provedor do NPD da UFPI em
cada dia. Este espao amostral infinito enumervel porque
pode-se rotular cada e-mail que chega com um nico nmero
natural, n N, ou seja,
S = {n|n N}

Exemplo. A medida dos tempos de espera em um ponto de


nibus. Neste caso, S infinito no enumervel e cada
resultado um nmero real no negativo, ou seja,
S = {t|t 0}

Conceitos bsicos de probabilidade


Clculo de probabilidades.
A forma clssica de se calcular a probabilidade de um evento A,
denotada por P(A), com m elementos em um espao amostral finito S =
{a1, a2, ..., an}, onde os n pontos amostrais ai (i = 1, 2, ..., n) devem ter a
mesma probabilidade de ocorrer, ou seja, eles so equiprov-veis, dada
pela relao entre a quantidade de casos favorveis ao evento A e a
quantidade de elementos do espao amostral S, apresentada como um
nmero real ou em percentagem. P(A) = m/n.
Exemplo. Ao se retirar aleatoriamente uma carta de um baralho com 52
cartas, todas elas tm a mesma probabilidade de ser a carta escolhida, ou
seja, 1/52. No entanto, a probabilidade de que esta carta seja uma dama
4/52, porque existem 4 damas em um baralho.

Conceitos bsicos de probabilidade


Eventos independentes.

Diz-se que dois eventos so estatisticamente independentes se a


ocorrncia de um deles no afeta a ocorrncia do outro.
Exemplo. Dois lanamentos seguidos de um mesmo dado constituem dois
eventos independentes porque o resultado do primeiro lanamento no
tem qualquer influncia sobre o resultado do segundo, e vice-versa.
Dados dois eventos independentes A e B, a probabilidade da ocorrncia
conjunta dada pela regra da multiplicao
P(A.B) = P(A B) = P(A).P(B)
Dados dois eventos no independentes A e B, a probabilidade
condicionada de A, dado que B j aconteceu dada por
P(A|B) = P(A.B)/P(B) = P(A B)/P(B)

Conceitos bsicos de probabilidade


Variveis aleatrias
Dado um experimento e um espao amostral S a ele associado,
denomina-se varivel aleatria funo X que associa a cada elemento
s de S um nmero real X(s).
Variveis aleatrias discretas ou contnuas

Seja X uma varivel aleatria. Se os valores de X formarem um


conjunto finito ou infinito enumervel, ento X denominada varivel
aleatria discreta. Se, no entanto, este conjunto for um intervalo ou
uma coleo de intervalos, ela denominada varivel aleatria
contnua.

Cadeias de Markov
Viso simplista:
Mquina de estados, com arcos indicando a
probabilidade de transio entre os estados

Modelo climtico

Cadeias de Markov: Aplicaes


Page Rank do Google: Random Surfer

Cadeias de Markov: Aplicaes

Qumica
Economia
Telecomunicaes
Computao
Reconhecimento de fala
Bioinformtica
Compresso de dados

Viso real das cadeias de Markov


Modelo matemtico
Processo aleatrio
Discreto
Contnuo

Ausncia de memria
Distribuio exponencial
(CTMC)

Definio formal

Ausncia de memria

Pr (Clima07/11 = chuva | Clima04/11 = chuva, Clima05/11 = sol, Clima06/11 = sol ) =


Pr (Clima07/11 = chuva | Clima06/11 = sol ) = pij = 0.2

Resoluo de uma cadeia de Markov

Tipos possveis de anlise


possvel encontrar medidas
Transientes (para um tempo t especfico)
Quantos servidores estaro ocupados aps 1 hora do
incio do atendimento?

Estacionrias (para um intervalo de tempo


grande/ tendendo ao infinito)
Qual a porcentagem de tempo em que meu sistema
estar disponvel ao longo do ano?

Tipos possveis de anlise


H dois aspectos principais quanto ao
comportamento de um sistema:
Desempenho
Tempo de resposta, nvel de utilizao de recursos,
perda ou descarte de requisies

Dependabilidade
Tempo de indisponibilidade, probabilidade de falha,
tempo at a primeira falha.

Modelos para desempenho de sistemas


Requisio chega = +1
thread ocupada

Servidor web (Apache) com 3 threads

Requisio sai = -1
thread ocupada

Tempo entre requisies:


0.5 segundos
Tempo de servio:
0.33 segundos

O sistema est superdimensionado?

Modelos para desempenho de sistemas

Matriz Q
-2 2 0 0
3 -5 2 0
0 6 -8 2
0 0 9 -9

Vetor P: [P0 P1 P2 P3] = [0.51 0.35 0.12 0.02]


Probabilidade das 3 threads estarem ocupadas: 0.02, ou 2%
Quantidade mdia de threads ocupadas: 0.65

Modelo para desempenho de sistemas

E se a quantidade de
acessos ao site
aumentar?

Anlise do desempenho com o aumento


da carga

De acordo com o modelo,


o sistema suporta bem
mais carga!

Modelos para desempenho de sistemas


O quanto d pra confiar nos resultados de um
modelo de cadeia de Markov?
As taxas/probabilidades das transies tm uma distribuio
prxima exponencial?
Os resultados foram validados com dados experimentais (i.e.
medio do sistema real)?
O ideal usar um processo cclico de modelagem /
validao / refinamento.

Metodologia para modelagem de


desempenho

Adaptado de: (Menasc et al, 2004)

Modelo clssico para disponibilidade

= 1/MTTF
= 1/MTTA
= 1/MTTR

Modelo para disponibilidade de um sistema


com 2 processadores

CPU =1 falha a cada 2anos= 1/17520


SP =1/2=0.5
CPU =1/0.5=2
Disponibilidade: 99.9857326 %

Ferramentas para modelagem com


cadeias de Markov
SHARPE
Reliability Workbench (ISOGRAPH)
PEPA
MATLAB
R
RAM Commander
JMT (Java Modelling Tools)/ JMCH

Ferramentas para modelagem com


cadeias de Markov
Clientes do RAM Commander

Clientes do SHARPE

Java Modelling Tools / jMCH

SHARPE

Symbolic Hierarchical Automated Reliability and


Performance Evaluator

SHARPE
Desenvolvido pelo grupo do prof. Kishor Trivedi, na
Universidade de Duke, NC, USA.
Duke High Availability Assurance Lab (DHAAL)

SHARPE
Modos de utilizao
GUI (Windows)
Console: Scripts com linguagem prpria (Linux,
Windows, Solaris)

SHARPE
Sites da ferramenta:
http://people.ee.duke.edu/~kst/software_packages.html
http://sharpe.pratt.duke.edu

Estudos de caso
Planejamento de redundncia em uma rede de
computadores
Desempenho e confiabilidade de uma composio
de web services

Planejamento de redundncia em redes

Modelo sem redundncia

Tempo mdio de reparo = 12 horas


Tempo mdio para falha do roteador = 131000 horas
Tempo mdio para falha do enlace = 11988 horas

Anlise do downtime do sistema

Modelo com redundncia de enlace

Anlise do downtime do sistema

Planejamento de redundncia em redes

Podemos querer saber o retorno financeiro esperado


para um perodo de 1 ano

Rewards podem ser usados para isso


Receita gerada durante estados operacionais
Perda durante estados de reparo

Desempenho e confiabilidade de uma


composio de web services
Sistema de agente
de viagens

Probabilidade do tempo de resposta

Dvidas

Contato:
rsmj@cin.ufpe.br
rubens.matos@gmail.com
www.modcs.org

Das könnte Ihnen auch gefallen