Você está na página 1de 66

Avaliação de Sistemas

Computacionais: Modelagem

Material baseado nos slides de:


Paulo Marciel
Marcos José Santana
Regina Helena Carlucci Santana
Técnica de Modelagem
• Técnica baseada na construção e análise de
um Modelo
• Abstração que contempla as
características essenciais de um sistema
real
• Aproximação de como o sistema se
comporta
• Depende dos objetivos da avaliação
• Sofrem alterações no decorrer do tempo,
pois as variáveis de estado de um sistema 4
são dependentes do tempo.
Técnica de Modelagem

• Vantagens:
• Flexibilidade
• Pode ser utilizada para sistema existente
ou não
• Custo X Precisão
• Dificuldades:
• Descrição das características principais
• Validação 6
Classificação dos modelos
• Quanto ao comportamento de suas variáveis
de estado em relação ao tempo
• Modelo de mudança discreta (ou modelo
discreto): variáveis dependentes variam
discretamente em pontos específicos do
tempo simulado
• Modelo de mudança contínuo: variáveis
dependentes podem variar continuamente ao
longo do tempo simulado

Sistemas computacionais utilizam-se modelos discretos, 7


uma vez que a alteração de estado em computadores
ocorre a intervalos discretos de tempo
Classificação dos Modelos
• Sistemas Abertos
• Número desconhecido e ilimitado de clientes
no sistema
• Carga no sistema – depende da taxa de chegada

• Sistemas Fechados
• Número limitado e conhecido de clientes no
sistema
• Carga do sistema depende do número de clientes 8
Classificação dos Modelos
Modelo Aberto Modelo Fechado Modelo Misto

Chegada
de Saída de
Subsistema Clientes Subsistema Clientes
Chegada de Central Central
Saída de
Subsistema
Clientes Central
Clientes

Percurso para todos os clientes


Percurso para clientes da classe A

Percurso para clientes da classe B


Classificação dos Modelos
• Classes de Clientes
• Um modelo pode possuir uma ou mais classes
de clientes
• Quando um modelo possui mais de uma classe
de clientes, pode-se estabelecer prioridades
entre as mesmas, trajetórias distintas para
cada delas, etc.

7
Técnicas de Modelagem
• Conjunto de etapas independentes, mas inter-relacionadas

Especificação do Modelo RP, RF, SC, DE, RBD...


Parametrização do M o delo p, , t ...
Solução do Modelo C M , T F, PE , Sim..
Apresentação dos Resultados Texto, Gráfico...

RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), DE (Diagrama de Estados), RBD


(Diagramas de bloco de confiabilidade)
p (Probabilidades),  (Taxas), t (Tempos)
CM(Cadeias de M arkov), TF (Teoria de Filas), PE (Processos Estocásticos), Sim. (Simulação)

8
Técnicas de Modelagem
• Etapa 1:
• Criar uma especificação condizente com o
sistema real
• Componentes do sistema relevantes à avaliação
• Relacionamento entre eles
• Como representar o modelo:
• Redes de Filas;
• Statecharts;
• Redes de Petri;
• RBDs
12
• etc.
Redes de Filas
• Ramo da probabilidade que estuda o fenômeno da formação
de filas de solicitantes de serviços, que são providos por um
determinado recurso

Chegada dos Partida dos


Processos Processos

Fila de Espera de Processador


Processos

Centro de Serviço
13
Redes de Filas
• Um centro de serviços pode ter um ou mais servidores e uma
ou mais filas

14
Redes de Filas
• Os centros de serviços podem ser de capacidade fixa ou
centros de delay

.
.
.

Centro de Capacidade Fixa Centro Delay

• Nos centro delay não há competição, pois existe um número


muito grande de servidores disponíveis, sendo que o serviço é 15
infinitamente disponível
Notação para Sistemas de Filas

A/B/c/K/m/Z
A ⇒ tempo entre chegadas;
B ⇒ distribuição tempo de serviço;
c ⇒ número de servidores;
K ⇒ capacidade do sistema;
m ⇒ número de clientes na fonte;
Z ⇒ disciplina da fila.

13
Notação para Sistemas de Filas
• Normalmente usa-se apenas A/B/c:
• não há limite para o tamanho da fila;
• fonte de clientes é infinita;
• disciplina da fila é FCFS

• M/M/1
• taxas de chegadas entre clientes - distribuição
exponencial
• tempo de serviço - distribuição exponencial
• um único servidor

14
Sistemas de Filas – Análise Operacional
■ Variáveis operacionais
▪ T: Período de observação
▪ K: Número de recursos do sistema
▪ 𝐴𝑖 : Número total de solicitações (ex:.chegadas) do
recurso i no período T.
▪ 𝐴0 : Número total de solicitações (ex:.chegadas) ao
sistema no período T.
▪ 𝐶𝑖 : Número total de serviços finalizados pelo
recurso i no período T.
▪ 𝐶0 : Número total de serviços finalizados pelo
sistema no período T.
▪ 𝐵𝑖 : Tempo de ocupação do recurso i no período T.

15
Sistemas de Filas – Análise Operacional
■ Métricas derivadas (derived measures)
▪ Si: Tempo médio de serviço por finalização relativa ao
recurso i; Si = Bi/Ci
▪ Ui: Tempo médio de serviço por finalização relativa ao
recurso i; Ui = Bi/T
▪ Xi: throughput (ex.: finalizações por unidade de tempo)
do recurso i; Xi = Ci/T
▪ λi: taxa de chegada (ex.:, chegadas por unidade de
tempo) ao recurso i; i = Ai/T
• X0: throughput do sistema; X0 = C0/T
▪ Vi: Número médio de visitas ao recurso i por solicitação;
Vi = Ci/CO

16
Sistemas de Filas – Análise Operacional
■ Exemplo1
Suponha que ao se monitorar uma processador por um
período de 1 min, verificou-se que o recurso esteve ocupado
por 36s. O número total de transações que chegaram ao
sistema é 1800. O sistema também finalizou a execução de
1800 transações no mesmo período.
1. Qual a taxa de chegada ao sistema (2)?
2. Qual é o throughput do sistema (X)?
3. Qual é a utilização da CPU(UCPU)?
4. Qual é o tempo médio por transações finalizadas pelo
sistema (So)?

17
Sistemas de Filas – Análise Operacional
■ Exemplo1-Soluções

18
Sistemas de Filas – Análise Operacional
▪ Exemplo 2
A banda passante de um link de comunicação é 56000 bps.
Pacotes de 1500 bytes são transmitidos ao link a uma taxa de
3 pacotes por segundo

Qual é a utilização do link?

19
Sistemas de Filas – Análise Operacional
▪ Exemplo 3
Considere que um Web Server foi monitorado por 10 min e
que a CPU esteve ocupada por 90%. O log do Web Server
registrou 30.000 solicitações processadas. Qual é a CPU
Service Demand (DCPU) relativa as solicitações ao Web
Server?

20
Sistemas de Filas – Análise Operacional

21
Sistemas de Filas – Análise Operacional

22
Exemplos – Redes de Filas
• Cinema com uma bilheteria
Chegada Partida dos
dos Processos
Processos

Fila de Espera Processador


de Processos

Centro de Serviço

• Quantos clientes são atendidos por unidade de tempo?


• Qual o número médio de clientes na fila?
• Qual o tempo médio de espera para compra do ingresso? 25
• Qual o tempo médio necessário para comprar o ingresso?
Exemplos – Redes de Filas
Banco com quatro caixas
• Qual o tempo médio de espera na fila?
• Qual o tempo de atendimento total?
• Tempo de atendimento/na fila
encontra-se em um patamar
desejado? Ponto A da figura
• Qual a consequência em se diminuir
um caixa?
• A fila e o tempo de atendimento Tempo de
Resposta
diminuirá substancialmente
aumentando um caixa? Compensa
aumentar um caixa?
• Quantos caixas devem ser abertos B
para trazer o sistema para próximo ao 26
A
ponto A?
Escoamento
Redes de Filas
• Exemplos:
• Sistema de arquivos com um processador e
quatro unidades de disco. Algumas requisições
(30%) não necessitam acessar os discos para
serem executadas.
• Sistema de arquivos onde um servidor central
recebe as requisições e redireciona para
outros quatro servidores.

25
Redes de Filas
• Restrições das redes de filas:
• Representação gráfica oferece
apenas os elementos fila e
servidor
• Não permite posse simultânea de recursos
• Necessidade de representação mais
minuciosa de filas e servidores
• Isso leva a uma perda da realidade quando
representando sistemas reais.

26
Redes de Filas

• Por outro lado...


• a representação do caminho linear que
os clientes traçam através do sistema é
descrita com bastante propriedade,
noção que na maioria das técnicas é
perdida com facilidade
• possuem uma base matemática
bastante solidificada

27
Statecharts

• Técnica de Representação de sistemas


através da visão de seus estados e a
modificação deles em conseqüência da
ocorrência de uma determinada
interferência (evento).

28
Statecharts
• Desenvolvido inicialmente para
representar sistemas reativos
complexos
• Técnica de alto nível, permitindo:
• agrupar estados num superestado;
• representar atividades paralelas;
• representar transições mais gerais do
que um evento único e simples;
• manter a forma visual de um diagrama
de estado

29
Statecharts - Elementos Básicos
• Estados - representam a situação do sistema; estado
inicial ou estado default
• Eventos - estímulos que provocam uma transição;
representados por rótulos um arco direcionado de
uma transição
• Transições - realizam as mudanças de um estado para
outro; representadas por um arco direcionado

30
Statecharts - Superestados
• Agrupamento de diversos estados abstraindo
detalhes não necessários
• Ao observar o sistema numa visão mais ampla,
único estado visível é o superestado

• No exemplo anterior
pode-se definir o
superestado Máquina

31
Statecharts - Paralelismo
• Duas máquinas trabalhando em paralelo.
• Graficamente o paralelismo é descrito através de
linhas tracejadas entre vários estados

32
Statecharts - Exemplo

CPU

CPU
Livre

Fila de Saída
Processos

CPU
Ocupada

33
Statecharts

• Representam de forma explícita


características como paralelismo e
hierarquia entre estados
• Relacionamentos complexos entre
componentes de um determinado sistema são
mostrados de maneira mais efetiva
• Não contemplam o caminho linear seguido
por um determinado cliente e ainda, a
individualização de clientes

34
Redes de Petri

• Ferramenta de modelagem efetiva para a


descrição e a análise de concorrência e
sincronização em sistemas paralelos,
demonstrando ações cooperativas de
diferentes entidades

35
Redes de Petri
• Elementos básicos de uma Rede de Petri
pontos onde
elementos
dinâmicos são
armazenados;
variáveis de
estado
determinam as mudanças do
sistema; 30

ações realizadas pelo sistema


Redes de Petri
• Formalmente, a rede de Petri é dada por uma
quíntupla: RP = (P, T, A, V, K )
• onde:
• P é um conjunto finito de lugares;
• T conjunto finito de transições;
• A conjunto de arcos;
• V função de pesos;
• K capacidade dos lugares;

37
Redes de Petri - Exemplo

• Representação do ano letivo de


uma Universidade.
• O ano letivo começa com o primeiro
período (semestre) letivo, seguido das
primeiras férias (de julho), logo após,
tem-se o segundo período letivo, e
finalmente as férias de final de ano

38
Redes de Petri - Exemplo
Férias2
Retornar 1oPeríodo
1oPeríodo

TirarFérias2

TirarFérias1

Retornar 2oPeríodo 2oPeríodo


Férias1

33
RP = (P, T, A, V, K)
Redes de Petri - Exemplo
Retornar 1oPeríodo Férias2
1oPeríodo

TirarFérias2

TirarFérias1

2oPeríodo
Férias1
Retornar 2oPeríodo

RPAno_Letivo = (P, T, A, V, K)
P = {1oPeríodo, Férias1, 2oPeríodo, Férias2}; 34
T = {TirarFérias1, Retornar2oPeríodo, TirarFérias2, Retornar1oPeríodo};
Redes de Petri - Exemplo
Retornar 1oPeríodo Férias2
1oPeríodo

TirarFérias2

TirarFérias1

2oPeríodo
Férias1
Retornar 2oPeríodo

A={ (1oPeríodo, TirarFérias1), (TirarFérias1, Férias1), (Férias1,


Retornar2oPeríodo), (Retornar2oPeríodo, 2oPeríodo), (2oPeríodo,
TirarFérias2), (TirarFérias2, Férias2), (Férias2, 35
Retornar1oPeríodo), (Retornar1oPeríodo, 1oPeríodo) }
Redes de Petri - Exemplo
Retornar 1oPeríodo Férias2
1oPeríodo

TirarFérias2

TirarFérias1

2oPeríodo
Férias1
Retornar 2oPeríodo

V = {1, 1, 1, 1, 1, 1, 1, 1}
36
K = { K1oPeríodo = 1, K Férias1 = 1, K2oPeríodo = 1, K Férias2 = 1}.
Redes de Petri
• Redes Elementares – Distribuição
• Utilizada na criação de processos paralelos a partir de
um processo pai. Os processos filhos são criados
através da distribuição dos tokens encontrados no
processo (lugar) pai

P1

t1

P2
P3 37
Redes de Petri
• Redes Elementares – Junção
• Modela a sincronização entre atividades concorrentes.
• A transição t1 só dispara quando existirem tokens
tanto em P1, quanto em P2.

P1
P2

t1

38
P3
Redes de Petri
• Redes Elementares – não determinística
• uma rede que ao se disparar uma transição, inabilita-
se a outra

P1

t1 t2

P2 P3

39
Redes de Petri
• Rede não determinística
• Exemplo: protocolo de comunicação

Receptor 1 Receptor 2

t2 t3 t5

P2 P3 P5
P7
P6 t4

P0 P1
P4 •

t0 t1
40
Transmissor
Redes de Petri - Exemplo
Fila de Processos

Saída
CPU
Ocupada Liberar
Processar

CPU Livre

47
Redes de Petri

• Vantagens de Redes de Petri


• Representação gráfica;
• Fácil aprendizado;
• Utilizadas em diversas áreas;
• Podem representar aspectos estáticos e
dinâmicos do sistema;
• Formalismo matemático;
• Adequada para sistemas paralelos,
concorrentes, assíncronos, não
determinísticos, etc.
48
Redes de Petri
• Desvantagens de Redes de Petri
• Não possuem uma representação para tratar filas -
um lugar com vários tokens não possui um
algoritmo de escalonamento, uma taxa de chegada
e prioridades para clientes;
• A representação de paralelismo não é explícita;
• Um lugar não pode ser subdividido em
sublugares, o que pode levar à explosão do
número de lugares e transições do modelo;
• Poucas ferramentas implementam 43
extensões hierárquicas, que possibilitam
uma maior compactação do modelo.
Redes de Petri Temporizadas
Redes de Petri Coloridas
Diagramas de Blocos de Confiabilidade (RBDs)

DIAGRAMAS DE BLOCOS
Técnica de representação bastante útil para identificar-
se o comportamento lógico de um sistema constituído
por poucos componentes, onde os mesmos são
representados por blocos.
Um bloco pode representar:
 Um sistema
 Um subsistema;
Um equipamento;
 Um componente.
Um bloco de Confiabilidade deve possuir, no mínimo,
informações sobre como este item falha (Ex: a performance
de vida ou a Confiabilidade do item).
52
Diagramas de Blocos de Confiabilidade (RBDs)
❑ Blocos de Confiabilidade tem propriedades.
▪ Distribuições de Falha (informação mínima
obrigatória);
▪ Outras propriedades (opcionais).

Distribuição
de Falha
Válvula de
controle
Outras
propriedades

53
Diagramas de Blocos de Confiabilidade (RBDs)
❑ Uma vez determinadas as características de
confiabilidade dos blocos, eles podem ser
conectados em relação à confiabilidade,
modelando-se o Diagrama de Blocos de
Confiabilidade (RBD) do Sistema.

❑ Uma vez criado o RBD do Sistema, este pode ser


analisado a fim de se determinar a Confiabilidade
de seu respectivo Sistema.
54
Diagramas de Blocos de Confiabilidade (RBDs)
Tipos de configurações utilizadas

❑ Série
❑ Paralelo
❑ k-de-n
❑ Combinado (Série e Paralelo)
❑ Complexo

55
Diagramas de Blocos de Confiabilidade (RBDs)
SISTEMAS SÉRIE

A representação por diagrama de blocos de um


sistema com (n) componentes de comportamento
lógico em série será:

1 2 3 4 n

Imagine uma corrente:


Quebrando-se qualquer
elo, o sistema falha

56
Diagramas de Blocos de Confiabilidade (RBDs)
 Neste sistema, a falha de qualquer dos
componentes implica na falha do sistema.
 Já que todos os itens devem obter sucesso para
que a missão obtenha sucesso:
◼ A confiabilidade do Sistema é a probabilidade de
sucesso do item 1 e de sucesso do item 2 …, e de
sucesso de todos os itens da série.

Portanto, o sistema terá:


Confiabilidade
R(t) = R1(t). R2(t). R3(t). ... Rn(t)
Disponibilidade
A(t) = A1(t) . A2(t) . A3(t) . ... An(t)
57
Diagramas de Blocos de Confiabilidade (RBDs)
Devido à natureza do sistema série, a confiabilidade
do sistema é determinada por 2 fatores:
 nível de confiabilidade do componente
 número de componentes.

A confiabilidade do sistema pode


ser melhorada através de:

  diminuição do número de
componentes em série
 aumento da confiabilidade dos
componentes.

58
Diagramas de Blocos de Confiabilidade (RBDs)
Sistema em Paralelo
A representação por diagrama de blocos de
um sistema com (n) componentes em
paralelo será:
1

n
Neste diagrama pelo menos um dos componentes
deve funcionar para que o sistema funcione,
portanto, ele só falhará quando todos os

componentes falharem simultaneamente. 59
Diagramas de Blocos de Confiabilidade (RBDs)

 Portanto, a confiabilidade do sistema


(assumindo independência), será dada por:

60
Diagramas de Blocos de Confiabilidade (RBDs)

 Dispondo-se os componentes em paralelo,


obtém-se uma melhoria da confiabilidade.
 Melhora da Confiabilidade pela colocação de “m”
Componentes em paralelo
 Algumas formas de arranjo em paralelo, como por
exemplo os que possuem componentes em stand-by
ou então onde há carga repartida, são mais
representativas da situação prática. Um exemplo do
primeiro tipo de arranjo em paralelo pode ser
encontrado com frequência em sistemas elétricos.

61
Diagramas de Blocos de Confiabilidade (RBDs)

Exemplo:
Circuito interruptor dual

 Se a preocupação básica se relaciona ao fechamento


do circuito quando necessário, então o diagrama de
blocos seria um arranjo em série.
 Se a preocupação fundamental fosse que o circuito
estivesse aberto quando necessário, o diagrama de
blocos seria um arranjo em paralelo.
62
Diagramas de Blocos de Confiabilidade (RBDs)

Diagramas de Blocos para o Circuito Interruptor Dual

Sucesso = sistema Fechado (“E”)

A B

63
Diagramas de Blocos de Confiabilidade (RBDs)

Diagramas de Blocos para o Circuito Interruptor Dual

Sucesso = sistema Aberto (“OU”)

64
Cadeias de Marcov ... CTMC

65
Conclusão Chegada
dos
Processos
Partida dos
Processos

Fila de Espera Processador


Fila de Reprocessar de Processos
Processos
Centro de Serviço

CPU
CPU Saída
Ocupada Liberar CPU
Processar
Livre
Fila de Saída
CPU Livre
Processos
CPU
Ocupada

66

Você também pode gostar