Você está na página 1de 72

Universidade de São Paulo

Instituto de Ciências Matemáticas e de Computação


Departamento de Sistemas de Computação

SSC643 – Avaliação de
Desempenho de Sistemas
Computacionais
Aula 6
Sarita Mazzini Bruschi
Material baseado nos slides de:
Marcos José Santana
Regina Helena Carlucci Santana
Técnicas de Avaliação de
Desempenho

Aferição
Aferição Modelagem

Protótipos Rede de Filas


Simulação
Benchmarks Redes de Petri
Analítica
Coleta de Dados Statecharts

Sistema Medições Dados 2


Técnicas de Avaliação de
Desempenho

Aferição Modelagem
Modelagem

Protótipos Rede de Filas


Simulação
Benchmarks Redes de Petri
Analítica
Coleta de Dados Statecharts

Métodos Analíticos
Sistema Modelo Solução
3
Simulação
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 são
dependentes do tempo.
4
Técnica de Modelagem

5
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,


uma vez que a alteração de estado em computadores
ocorre a intervalos discretos de tempo 7
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.

10
Técnica de Modelagem
• Conjunto de etapas independentes, mas inter-
relacionadas

Especificação do M odelo RP, RF, SC, D E...

Param etrização do M odelo p, λ, t ...


Solução do M odelo CM , TF, PE, Sim ..
A presentação dos Resultados Texto, G ráfico...

RP (Redes de Petri), R F (Redes de Filas), SC (Statecharts), D E (D iagrama de Estados)


p (Probabilidades), λ (Taxas), t (Tem pos)
CM (Cadeias de M arkov), TF (Teoria de Filas), PE (Processos Estocásticos), Sim. (Simulação)

11
Etapa 1: Criar uma especificação condizente com
o sistema real
• Componentes do sistema relevantes à
avaliação
• Relacionamento entre eles
Especificação do M odelo RP, RF, SC, D E...

Parametrização do M odelo p, λ , t ...


So lução do M odelo CM , TF, PE , Sim..
Apresentação do s Resultado s Texto, G ráfico ...

RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), D E (Diagram a de Estados)


p (Probabilidades), λ (Taxas), t (Tem pos)
CM (Cadeias de M arkov), T F (T eoria de Filas), PE (Processos Estocásticos), Sim . (Sim ulação)
12
Etapa 2: Parametrizar o modelo com
elementos que serão dados de entrada para a
próxima fase (solução)

Especificação do M odelo RP, RF, SC, D E...

Parametrização do M odelo p, λ , t ...


So lução do M odelo CM , TF, PE , Sim..
Apresentação do s Resultado s Texto, G ráfico ...

RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), D E (Diagram a de Estados)


p (Probabilidades), λ (Taxas), t (Tem pos)
CM (Cadeias de M arkov), T F (T eoria de Filas), PE (Processos Estocásticos), Sim . (Sim ulação)
13
Etapa 3: Solução do modelo
• Aplicação de um método matemático
(estocástico), automatizado ou não, para
adquirir medidas de desempenho a partir
das entradas.

Especificação do M odelo RP, RF, SC, D E...

Parametrização do M odelo p, λ , t ...


So lução do M odelo CM , TF, PE , Sim..
Apresentação do s Resultado s Texto, G ráfico ...

RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), D E (Diagram a de Estados)


p (Probabilidades), λ (Taxas), t (Tem pos)
CM (Cadeias de M arkov), T F (T eoria de Filas), PE (Processos Estocásticos), Sim . (Sim ulação)
14
Etapa 4: Apresentar os resultados através de
uma maneira conveniente: gráficos, arquivos-
texto, etc.

Especificação do M odelo RP, RF, SC, D E...

Parametrização do M odelo p, λ , t ...


So lução do M odelo CM , TF, PE , Sim..
Apresentação do s Resultado s Texto, G ráfico ...

RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), D E (Diagram a de Estados)


p (Probabilidades), λ (Taxas), t (Tem pos)
CM (Cadeias de M arkov), T F (T eoria de Filas), PE (Processos Estocásticos), Sim . (Sim ulação)
15
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;
• Redes de Petri;
• Statecharts;
16
• 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 Partida dos


dos Processos
Processos

Fila de Espera Processador


de Processos

Centro de Serviço

17
Redes de Filas
• Um centro de serviços pode ter um ou mais
servidores e uma ou mais filas

18
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 é 19
infinitamente disponível
Redes de Filas
• Exemplos:
• Cinema com uma bilheteria
• Banco com quatro caixas
• Correio tipo 1 – Agência de Água Vermelha,
com:
• 1 caixa
• Dois tipos de cliente: comum e preferencial

20
Redes de Filas
• Exemplos:
• Correio tipo 2 – Agência de São Carlos com:
• Dois tipos de serviço: comum (5 caixas) e sedex
(2 caixas)
• Dois tipos de cliente: comum e preferencial
• Incluir reserva de recurso para cliente preferencial

Use fila única sempre que possível!!!


21
Redes de Filas
• Exemplos:
• Correio tipo 3 – Agência de São Paulo, com:
• Três tipos de serviço: comum (10 caixas), sedex (2
caixas), encomendas (2 caixas)
• Dois tipos de clientes: comum e preferencial
• Parte dos clientes passam pelo balcão para fechar
envelope (eu possui infinitos tubos de cola) antes
de ir para as filas dos caixas

22
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.

23
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
24
Notação para Sistemas de Filas
• Parâmetros A e B são normalmente
representados por Distribuições de
Probabilidade
• Uniforme
• Exponencial
• Erlang
• Triangular

25
Notação para Sistemas de Filas
• Distribuição uniforme
• a probabilidade de se gerar qualquer ponto em
um intervalo contido no espaço amostral é
proporcional ao tamanho do intervalo
A função de distribuição acumulada:
F(x) = 0 para x < a
F(x) = (x - a) / (b - a) para a ≤ x < b
F(x) = 1 para x ≥ b

Função densidade de probabilidade:


f(x)= 1(b-a), para a ≤ x ≤ b
26
f(x) = 0, cc
Notação para Sistemas de Filas
• Distribuição Exponencial
A função de distribuição acumulada:
F(x) = P(X ≤ x) = 1 - e- λ x para x ≥ 0

Média – 1 / λ
Função densidade de probabilidade:
f(x) = λ e- λ x para x ≥ 0 e
f(x) = 0 para x < 0
• Exemplo: O tempo de espera para se obter um arquivo em um
servidor, segue uma distribuição exponencial e, em média, leva
80mseg para ser atendido. Qual a probabilidade de levar mais de 27
100mseg?
• P(X > 100) = 1 - P(X ≤ 100) = 1 - F(100) = 1 - 1 + e- (1/80) 100 ≈ 0,2865
Notação para Sistemas de Filas
Erlang

Triangular
28
Notação para Sistemas de Filas
• Disciplinas de Atendimento de Clientes
• FCFS - First Come First Served;
• LCFS - Last Come First Served;
• RR - Round Robin (Circular);
• Prioridades e Preempção.

29
Variáveis Aleatórias em
um Sistema de Filas Número de
clientes no
sistema
n

Servidor
1
Número de
clientes na fila
ns
nq Número de
clientes
recebendo serviço
Chegada de
Clientes
.
Sistema descrito .
τ
Tempo entre
por uma combinação chegadas w .
Tempo de
Tempo na fila serviço
s
de variáveis aleatórias e
Servidor
respectivas distribuições c
30
r
Tempo no
sistema
Exemplos – Redes de Filas
• Cinema com uma bilheteria
Chegada Partida dos
dos Clientes Clientes

Fila de Espera Caixa

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? 31
• 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 A 32
ponto A?
Escoamento
Exemplos - Redes de Filas
• 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.

33
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.

34
Redes de Filas
• Considere o exemplo anterior:
• Sistema de arquivos com um processador e quatro
unidades de disco. Algumas requisições (30%)
encontram as informações necessárias no cache e
não necessitam acessar os discos.
• Represente esse sistema em Redes de Filas
considerando que o cache também é um
recurso do sistema

35
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

36
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.

37
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; 38

ações realizadas pelo sistema


Redes de Petri
• Formalmente, a rede de Petri é dada por uma
quíntupla:
• RP = (P, T, A, V, K )
• 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;

39
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

40
Redes de Petri - Exemplo

Retornar 1oPeríodo Férias2


o
1 Período

TirarFérias2

TirarFérias1

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

41
RP = (P, T, A, V, K)
Redes de Petri - Exemplo
Retornar 1oPeríodo Férias2
o
1 Perí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}; 42
T = {TirarFérias1, Retornar2oPeríodo, TirarFérias2, Retornar1oPeríodo};
Redes de Petri - Exemplo
Retornar 1oPeríodo Férias2
o
1 Perí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,
43
TirarFérias2), (TirarFérias2, Férias2), (Férias2,
Retornar1oPeríodo), (Retornar1oPeríodo, 1oPeríodo) }
Redes de Petri - Exemplo
Retornar 1oPeríodo Férias2
o
1 Período

TirarFérias2

TirarFérias1

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

V = {1, 1, 1, 1, 1, 1, 1, 1}
44
K = { K1oPeríodo = 1, K Férias1 = 1, K2oPeríodo = 1, K Férias2 = 1}.
Redes de Petri Marcadas
• Marcas (tokens) - informações atribuídas aos
lugares, para representar a situação (estado) da
rede em um determinado momento.
• São elementos dinâmicos e podem se mover pela
rede.
• Podem ser de várias classes.
• Representada pela dupla RM = (R, Mo), onde R é a
estrutura da rede e Mo a marcação inicial.

45
Redes de Petri Marcadas
• Disparo das transições depende de:
• número de marcas
• distribuição das marcas nos lugares.
• uma transição t está habilitada se, e somente se
todos os lugares de entrada (pi pertence a P) de t
são tais que M(pi)≥ 1
• a marcação da rede de Petri é modificada a cada
transição disparada

46
Redes de Petri Marcadas
• Exemplo

P1

• P3
t1 •

P2
t2

47
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 48
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

49
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

50
Redes de Petri
• Redes 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
51
Transmissor
Redes de Petri
• Rede de Petri Temporizada Determinística
 P0


t1, d1 t2 , d2

P1 P2

• Tempo associado com as transições


• Tempo pode ser uma distribuição de
probabilidade 52

• Redes de Petri estocásticas


Redes de Petri - Exemplo
Fila de Processos

Saída
CPU
Ocupada Liberar
Processar

CPU Livre

53
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.
54
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 extensões 55
hierárquicas, que possibilitam uma maior
compactação do modelo
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).

56
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

57
Statecharts
Statecharts = Diagrama de Estados + Hierarquia +
Concorrência + Mecanismos de Comunicação

• Hierarquia entre estados (agrupamento, abstração e


refinamento de estados)
• Ortogonalidade (poder de visualizar estados paralelos)
• Representação de comunicação entre os diversos
estados de um determinado sistema

58
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

59
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

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

61
Statecharts - Exemplo
CPU

CPU
Livre

Fila de Saída
Processos

CPU
Ocupada

62
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

63
Chegada Partida dos
dos Processos

Conclusão Processos

Fila de Espera Processador


de Processos
Centro de Serviço

Fila de Reprocessar
Processos

CPU Saída
Processar Ocupada Liberar

CPU Livre

CPU
CPU
Livre
Fila de Saída
Processos
CPU
Ocupada
64
Técnicas de Avaliação de
Desempenho

Aferição Modelagem
Modelagem

Protótipos Rede de Filas


Simulação
Benchmarks Redes de Petri
Analítica
Coleta de Dados Statecharts

Métodos Analíticos
Sistema Modelo Solução
65
Simulação
Soluções para o Modelo
• Solução Analítica
• Modelos analíticos descrevem a operação do
sistema e sua carga em termos completamente
abstratos.

66
Soluções para o Modelo
• Solução Analítica
• Estimativas de desempenho são obtidas através
da resolução analítica ou numérica do modelo
matemático
• Relação funcional entre parâmetros do sistema e
critérios de desempenho escolhidos
• Rápido
• Resultados exatos
• Restrição - Simplificações
• Modelo baseado em redes de filas 67
Solução Analítica
Métodos de Solução Analítica

Modelo Aberto Modelo Fechado

Análise do Valor Médio (AVM) Análise do Valor Médio (AVM)

Equação Global de Equilíbrio Equação Global de Equilíbrio

Redes BCMP Redes BCMP

Decomposição Hierárquica Decomposição Hierárquica

Limites de Desempenho Limites de Desempenho


68
Rede de Jackson Método de Gordon e Newell

Processo Nascimento-e-Morte
Soluções para o Modelo
• Solução por Simulação
• Modelos de simulação são programas de
computador nos quais a operação de um sistema
e sua carga são descritas utilizando-se algoritmos
apropriados.

69
Soluções para o Modelo
• Solução por simulação
• Estimativas de desempenho são obtidas através
da execução de um programa que simula o
modelo
• Resultados estocásticos
• Necessidade de tratamento estatístico
• Tempo para obtenção dos resultados
• Flexível

70
Soluções para o Modelo

71

Uso preferencial das técnicas de modelagem


Soluções para o Modelo

Solução por
Simulação
72

Uso preferencial das técnicas de modelagem

Você também pode gostar