Avaliação de Desempenho
Universidade de São PauloInstituto de Ciências Matemáticas e de Computação
Departamento de Sistemas de Computação
Marcos José Santana
Regina Helena Carlucci Santana
Modelagem de Sistemas Computacionais
Técnicas de Avaliação de Desempenho
Sistema Medições Dados
Protótipos
Benchmarcks
Coleta de Dados
Aferição
Rede de Filas
Redes de Petri
Statecharts
Modelagem
Simulação
Analítica
Aferição
Técnicas de Avaliação de Desempenho
Modelo SoluçãoMétodos Analíticos
Simulação
Sistema
Protótipos
Benchmarcks
Coleta de Dados
Aferição
Rede de Filas
Redes de Petri
Statecharts
Modelagem
Simulação
Analítica
Modelagem
Técnica baseada na contruçã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.
Técnica de Modelagem
Técnica de Modelagem
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
Classificação dos ModelosModelos 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.
Classificação dos Modelos
Chegada de
Clientes
Saída de
Clientes
Subsistema
Central
Subsistema
Central
Chegada de
Clientes
Saída de
ClientesSubsistema
Central
Percurso para todos os clientes
Percurso para clientes da classe A
Percurso para clientes da classe B
Modelo Aberto Modelo Fechado Modelo Misto
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
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.
Classificação dos Modelos
Especificação do Modelo RP, RF, SC, DE...
p, , t ...Parametrização do Modelo
CM, TF, PE, Sim..Solução do Modelo
Texto, Gráfico...Apresentação dos Resultados
RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), DE (Diagrama de Estados) p (Probabilidades), (Taxas), t (Tempos) CM(Cadeias de Markov), TF (Teoria de Filas), PE (Processos Estocásticos), Sim. (Simulação)
Conjunto de etapas independentes, mas inter-relacionadas
Técnica de Modelagem
Especificação do Modelo RP, RF, SC, DE...
p, , t ...Parametrização do Modelo
CM, TF, PE, Sim..Solução do Modelo
Texto, Gráfico...Apresentação dos Resultados
RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), DE (Diagrama de Estados) p (Probabilidades), (Taxas), t (Tempos) CM(Cadeias de Markov), TF (Teoria de Filas), PE (Processos Estocásticos), Sim. (Simulação)
Conjunto de etapas independentes, mas inter-relacionadas
Técnica de ModelagemEtapa 1 - Criar uma especificação condizente com o sistema real
Componentes do sistema relevantes à avaliação
Relacionamento entre eles
Especificação do Modelo RP, RF, SC, DE...
p, , t ...Parametrização do Modelo
CM, TF, PE, Sim..Solução do Modelo
Texto, Gráfico...Apresentação dos Resultados
RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), DE (Diagrama de Estados) p (Probabilidades), (Taxas), t (Tempos) CM(Cadeias de Markov), TF (Teoria de Filas), PE (Processos Estocásticos), Sim. (Simulação)
Conjunto de etapas independentes, mas inter-relacionadas
Técnica de ModelagemEtapa 2- Parametrizar o modelo com elementos que serão dados de entrada para a próxima fase (solução)
Especificação do Modelo RP, RF, SC, DE...
p, , t ...Parametrização do Modelo
CM, TF, PE, Sim..Solução do Modelo
Texto, Gráfico...Apresentação dos Resultados
RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), DE (Diagrama de Estados) p (Probabilidades), (Taxas), t (Tempos) CM(Cadeias de Markov), TF (Teoria de Filas), PE (Processos Estocásticos), Sim. (Simulação)
Conjunto de etapas independentes, mas inter-relacionadas
Técnica de ModelagemEtapa 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 Modelo RP, RF, SC, DE...
p, , t ...Parametrização do Modelo
CM, TF, PE, Sim..Solução do Modelo
Texto, Gráfico...Apresentação dos Resultados
RP (Redes de Petri), RF (Redes de Filas), SC (Statecharts), DE (Diagrama de Estados) p (Probabilidades), (Taxas), t (Tempos) CM(Cadeias de Markov), TF (Teoria de Filas), PE (Processos Estocásticos), Sim. (Simulação)
Conjunto de etapas independentes, mas inter-relacionadas
Técnica de ModelagemEtapa 4 - Apresentar os resultados através de uma maneira conveniente: gráficos, arquivos-texto, etc.
Técnica de ModelagemEtapa 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;etc.
Redes de Filas
Chegada dos Processos
Partida dos Processos
Fila de Espera de Processos Processador
Centro de Serviço
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
Redes de Filas
Chegada dos Processos
Partida dos Processos
Fila de Espera de Processos Processador
Centro de Serviço
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
Redes de Filas
Um centro de serviços pode ter um ou mais servidores e uma ou mais filas
Redes de Filas
os centros podem ser de capacidade fixa ou centros delay
.
.
.
Centro de Capacidade Fixa Centro Delay
• Não há competição por existir um número muito grande de servidores disponíveis,
• Serviço infinitamente disponível
Redes de FilasExemplos:
• Cinema com uma bilheteria
• Banco com quatro caixas
• Correio tipo 1 - Agência de Água Vermelha – 1 caixa
• Incluir dois tipos de cliente: comum e preferencial
Redes de Filas
Exemplos:
• Correio tipo 2 - Agência de São Carlos com:
•Dois tipos de serviço: comum (5 caixas), sedex (2 caixas)
•Dois tipos de clientes: comum, preferencial
• Incluir reserva de recurso para cliente preferencial
Use fila única sempre que possível
Redes de FilasExemplos:
• 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, preferencial
•Parte dos clientes passam pelo balcão para fechar envelope (que possui infinitos tubos de cola) antes de ir para as filas dos caixas
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.
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.
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
Notação para Sistemas de Filas
Notação para Sistemas de Filas
Parâmetros A e B são normalmente representados por Distribuições
de Probabilidade
• Uniforme
• Exponencial
• Erlang
• Triangular
Notação para Sistemas de Filas
a probabilidade de se gerar qualquer ponto em um intervalo contido no espaço amostral é proporcional
ao tamanho do intervalo
Distribuição uniforme
Função densidade de probabilidade:
f(x)= 1(b-a), para ≤ x ≤ bf(x) = 0, cc
A função de distribuição acumulada:F(x) = 0 para x < aF(x) = (x - a) / (b - a) para a ≤ x < bF(x) = 1 para x ≥ b
Notação para Sistemas de FilasDistribuição exponencial
Função densidade de probabilidade:
f(x) = λ e- λ x para x ≥ 0 e
f(x) = 0 para x < 0
A função de distribuição acumulada:F(x) = P(X ≤ x) = 1 - e- λ x para x ≥ 0
Exemplo: O tempo de espera para obtenção de 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 100mseg?
P(X > 100) = 1 - P(X ≤ 100) = 1 - F(100) = 1 - 1 + e- (1/80) 100 ≈ 0,2865
Média – 1 / λ
Notação para Sistemas de Filas
Erlang
Triangular
Disciplinas de Atendimento de Clientes
• FCFS - First Come First Served;
• LCFS - Last Come Last Served;
• RR - Round Robin (Circular);
• Prioridades e Preempção.
Notação para Sistemas de Filas
Servidor1
Número declientes na fila
nq
Servidorc
.
.
.
Chegada deClientes
Tempo entre
chegadas
Número declientes no
sistema
n
nsNúmero de
clientesrecebendo serviço
rTempo no
sistema
Tempo deserviço
s
wTempo na fila
Variáveis Aleatórias em um Sistema de Filas
Sistema descrito por uma combinação de variáveis aleatórias e
respectivas distribuições
Exemplos – Redes de Filas
• Cinema com uma bilheteria
Chegada dos Processos
Partida dos Processos
Fila de Espera de Processos
Processador
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?Qual o tempo médio necessário para comprar o ingresso?
Exemplos – Redes de FilasBanco 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 conseqüência em se diminuir um caixa?
• A fila e o tempo de atendimento diminuirá substancialmente aumentando um caixa? Compensa aumentar um caixa?
• Quantos caixas devem ser abertos para trazer o sistema para próximo ao ponto A?
A
B
Tempo deResposta
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.
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.
Redes de FilasConsidere 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
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
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.
Redes de PetriElementos básicos de uma Rede de Petri
determinam as mudanças do sistema;
ações realizadas pelo sistema
pontos onde elementos dinâmicos são armazenados;
variáveis de estado
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;
Redes de Petri
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
Redes de Petri - Exemplo
Redes de Petri - Exemplo
1oPeríodo
2oPeríodo Férias1
Férias2
GozarFérias1
GozarFérias2
Retornar 2oPeríodo
Retornar 1oPeríodo
RP = (P, T, A, V, K)
Redes de Petri - Exemplo
1oPeríodo
2oPeríodo Férias1
Férias2
GozarFérias1
GozarFérias2
Retornar 2oPeríodo
Retornar 1oPeríodo
RPAno_Letivo = (P, T, A, V, K)
P = {1oPeríodo, Férias1, 2oPeríodo, Férias2};
T = {GozarFérias1, Retornar2oPeríodo, GozarFérias2, Retornar1oPeríodo};
Redes de Petri - Exemplo
1oPeríodo
2oPeríodo Férias1
Férias2
GozarFérias1
GozarFérias2
Retornar 2oPeríodo
Retornar 1oPeríodo
A = { (1oPeríodo, GozarFérias1), (GozarFérias1, Férias1), (Férias1, Retornar2oPeríodo), (Retornar2oPeríodo, 2oPeríodo), (2oPeríodo, GozarFérias2), (GozarFérias2, Férias2), (Férias2, Retornar1oPeríodo), (Retornar1oPeríodo, 1oPeríodo) }
Redes de Petri - Exemplo
1oPeríodo
2oPeríodo Férias1
Férias2
GozarFérias1
GozarFérias2
Retornar 2oPeríodo
Retornar 1oPeríodo
V = {1, 1, 1, 1, 1, 1, 1, 1}
K = { K1oPeríodo = 1, K Férias1 = 1, K2oPeríodo = 1, K Férias2 = 1}.
• Marcas (tokens) - informações atribuídas aos lugares, para representar a situação (estado) da rede em um determinado momento.
• Elementos dinâmicos. 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.
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
Redes de Petri Marcadas
P1
P2
P3 t1
t2
Redes de Petri Marcadas
Exemplo
Redes Elementares – DistribuiçãoUtilizada 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
Redes de Petri
P1
P2 P3
t1
Redes Elementares – JunçãoModela a sincronização entre atividades concorrentes.
A transição t1 só dispara quando existirem tokens
tanto em P1, quanto em P2.
Redes de Petri
P3
P2 P1
t1
Redes Elementares – não determinística
uma rede que ao se disparar uma transição, inabilita-se a outra
Redes de Petri
P1
P2 P3
t1 t2
Redes não determinísticaExemplo – Protocolo de Comunicação
Redes de Petri
P4
P5
t4
t5
Transmissor
Receptor 1 Receptor 2
P2 P3
t2 t3
P6
P7
P0 P1
t0 t1
Rede de Petri Temporizada Determinística Redes de Petri
t1, d1 t2 , d2
P1 P2
P0
•Tempo associado com as transições
•Tempo pode ser uma distribuição de probabilidade
•Redes de Petri estocásticas,
Redes de Petri - Exemplo
Fila de Processos
CPU Ocupada
Processar
CPU Livre
Liberar
Saída
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.
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 hierárquicas, que possibilitam uma maior compactação do modelo.
Redes de Petri
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).
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
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
Statecharts - Elementos Básicos
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
Estados - representam a situação do sistema; estado inicial ou estado default
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
Statecharts - Paralelismo– Duas máquinas trabalhando em paralelo. – Graficamente o paralelismo é descrito
através de linhas tracejadas entre vários estados
Statecharts
C
D
B11
B12
B21
B22
E
A1 A2
B1 B2
e1[c1] e2 e5 e6
e4 e3
B
A
C
D
B11
B12
B21
B22
E
A1 A2
B1 B2
e1[c1] e2 e5 e6
e4 e3
B
A
Ocorre evento e1
Condição c1 é satisfeita
Ocorre evento e2
Configuração após a ocorrência de e1[c1] e e5
Statecharts - Exemplo
Fila de Processos
CPU Livre
CPU Ocupada
Saída
CPU
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
Chegada dos Processos
Partida dos Processos
Fila de Espera de Processos
Processador
Centro de Serviço
Fila de Processos
CPU Ocupada
Processar
CPU Livre
Reprocessar
Liberar
Saída
Fila de Processos
CPU Livre
CPU Ocupada
Saída
CPU
Técnicas de Modelagem
• Técnicas de Avaliação de desempenhoTécnicas de Avaliação de desempenho
P ro tó tip os
B e n chm a rcks
C o le ta de D a d os
A fe rição
R e d e d e F ilas
R e d es d e P e tri
S ta te cha rts
M o de lag em
Modelo SoluçãoMétodos Analíticos
Simulação
Modelagem
Solução Analítica
A n á lise d o V a lo r M é d io (A V M )
E q u açã o G lob a l d e E q u ilíb rio
R ed es B C M P
D ecom p os içã o H ie rá rq u ica
L im ites d e D esem p en h o
R ed e d e Jackson
P rocesso N asc im en to -e -M orte
M od e lo A b erto
A n á lise d o V a lo r M é d io (A V M )
E q u açã o G lob a l d e E q u ilíb rio
R ed es B C M P
D ecom p os içã o H ie rá rq u ica
L im ites d e D esem p en h o
M é tod o d e G ord on e N ew e ll
M od e lo F ech ad o
M é tod os d e S o lu çã o A n a lít ica
Solução Analítica
A n á lise d o V a lo r M é d io (A V M )
E q u açã o G lob a l d e E q u ilíb rio
R ed es B C M P
D ecom p os içã o H ie rá rq u ica
L im ites d e D esem p en h o
R ed e d e Jackson
P rocesso N asc im en to -e -M orte
M od e lo A b erto
A n á lise d o V a lo r M é d io (A V M )
E q u açã o G lob a l d e E q u ilíb rio
R ed es B C M P
D ecom p os içã o H ie rá rq u ica
L im ites d e D esem p en h o
M é tod o d e G ord on e N ew e ll
M od e lo F ech ad o
M é tod os d e S o lu çã o A n a lít icaDetalhes em....
The art of computer systems performance analysis......
Raj Jain, John Wiley & Sons, 1991
Ou então...
Modelos de Redes de Filas ....
Andrezza R. F. da Silva
Dissertação de Mestrado, ICMC, 2000