Você está na página 1de 41

UNIVERSIDADE FEDERAL DO PARÁ

FACULDADE DE COMPUTAÇÃO

ANÁ LISE E DESEMPENHO


DE SISTEMAS
Prof. Msc. Felipe Brito
Número (91) 98140-0437
E-mail: felipeandrecb@hotmail.com
Técnicas de Avaliação de Sistemas
• Existem diferentes técnicas de avaliação de
desempenho de sistemas, que são
tradicionalmente divididas em três abordagens
distintas:
• Monitoração
• Simulação
• Métodos Analíticos
Monitoração
• Esta técnica, como o próprio nome sugere,
consiste na observação (monitoração) de sistemas
reais.
• Dentre as técnicas citadas, esta é a que propicia
maior fidelidade dos índices obtidos, pois não é
feita nenhuma abstração (modelagem) do sistema
em questão.
• Porém, há algumas desvantagens visíveis desta
abordagem, como por exemplo, a necessidade da
existência do sistema a ser avaliado.
Monitoração
• Isto pode gerar problemas em relação ao custo e
ao tempo, pois o sistema implementado pode não
satisfazer as necessidades, tendo que ser
abandonado.
• Uma outra desvantagem é a questão da
amostragem.
• É necessário que se faça o uso correto de técnicas
de estatística para que os dados recolhidos
tenham validade.
Simulação
• Esta abordagem consiste em construir um modelo
que simule o funcionamento do sistema a ser
avaliado.
• Este modelo deve descrever as características
funcionais do sistema em uma escala adequada
de tempo.
• Este modelo deve conter os detalhes importantes
referentes ao sistema, mas não a sua totalidade. Em
outras palavras, há um certo nível de abstração.
Simulação
• Contudo, deve-se destacar que esta abstração não
deve acarretar na inclusão de erros no modelo
nem mesmo na exclusão de características
importantes do sistema.
• Comparativamente à monitoração, a simulação
costuma ser menos dispendiosa e consumir menos
tempo para que os índices sejam calculados,
permitindo que sejam feitos quantos experimentos
forem necessários.
Simulação
• Porém, por se tratar de uma abstração da
realidade, a fidelidade das medidas tende a ser
menor na simulação se compararmos com a
monitoração.
• Além disso, da mesma forma que na
monitoração, a quantidade e representatividade
das amostras consideradas é muito importante
para a obtenção de resultados corretos.
Métodos Analíticos
• Esta técnica de avaliação de desempenho, assim
como a simulação, também se baseia no
desenvolvimento de um modelo do sistema real,
porém com um nível de abstração mais alto.
• Neste caso, o modelo é puramente matemático.
• Neste tipo de modelo, o funcionamento do
sistema real é reduzido a relações matemáticas.
Métodos Analíticos
• Modelos analíticos podem ser determinísticos ou
estocásticos:
• Em um modelo determinístico, todos os
parâmetros do sistema são previamente
determinados.
• Já em um modelo estocástico, o comportamento
do sistema é analisado probabilisticamente, ou
seja, os parâmetros do sistema são descritos por
variáveis aleatórias, com distribuições de
probabilidade convenientes.
Métodos Analíticos
• No modelo estocástico, o sistema é descrito em
termos de um conjunto de estados em que o
mesmo pode se encontrar e de transições
estocásticas entre esses estados (uma transição
estocástica é aquela cuja ocorrência é descrita por
uma variável aleatória).
• Desenvolver modelos analíticos normalmente exige
maior abstração de aspectos da realidade, se
comparado a modelos de simulação.
Métodos Analíticos
• Ainda, em alguns casos, não se consegue obter
uma resolução numérica, mas sim uma resolução
analítica.
• Uma resolução numérica, passando por uma
relação matemática dependente do espaço de
estados (sistema de equações dependente do
espaço de estados do problema), pode não ser
possível pois o problema pode ser estado infinito.
Métodos Analíticos
• Para alguns de tais casos é possível obter-se
solução analítica à forma produto, com fórmulas
independentes do número de estados.
• Como exemplo cita-se o processo de nascimento
e morte, que dá-se pela fórmula M/M/1/1.
Métodos Analíticos
• Algumas vezes a complexidade computacional
do modelo pode tornar a resolução muito cara,
ficando mais dispendiosa que uma resolução
igualmente aceitável em simulação.
• Mesmo assim, métodos analíticos podem ser
empregados com maior facilidade que outros em
vários casos.
Métodos Analíticos
• Uma vantagem desta técnica em relação as outras
descritas é que não há a necessidade de se
preocupar com um conjunto específico de
amostras de funcionamento do sistema para a
obtenção dos índices de desempenho.
• Desta forma, o domínio de métodos analíticos
para avaliação de sistemas compreende um
ferramental importante para profissionais da área
de Informática.
Fases da Avaliação
• A avaliação de um sistema exige que sejam
seguidos alguns passos:
• Modelagem
• Extração ou Resolução
• Interpretação
Modelagem
• Nesta etapa, são realizadas as observações sobre
o sistema e definem-se as abstrações com que se
vai trabalhar.
• A modelagem exige a definição de uma
abordagem de modelagem de sistemas.
• Ao final desta etapa, tem-se um modelo do
sistema considerado;
Extração ou Resolução

• Nesta etapa, são realizados os cálculos e o


processamento necessário à obtenção de
resultados numéricos sobre o sistema a partir do
modelo gerado na etapa anterior;
Interpretação

• A última etapa compreende a análise dos


resultados obtidos e a tomada de decisão sobre
alterações e melhorias.
Medidas de Desempenho
• Desempenho pode ser definido como a maneira
como um sistema se comporta.
• Isto é, o desempenho de um sistema é
determinado por suas características de execução.
• Portanto, avaliar o desempenho de um sistema
demanda definir quais características
comportamentais interessam ser consideradas.
Medidas de Desempenho
• Por exemplo, se quisermos avaliar o desempenho
de um automóvel, iremos considerar fatores tais
como velocidade máxima, capacidade de
aceleração (tempo necessário para ir de 0 Km/h a
100 Km/h), espaço de frenagem a uma dada
velocidade, consumo médio de combustível, etc.
Medidas de Desempenho
• Para sistemas computacionais, em geral
consideram-se 4 fatores para medida de
desempenho:
• Vazão (throughput)
• Utilização
• População
• Tempo de resposta
Vazão (throughput)
• Taxa de atendimento de pedidos pelo sistema. Ex.:
• Sistemas em lotes: jobs por segundo;
• Sistemas interativos: requisições por segundo; ou
numa CPU: MIPS (Millions of Instructions Per
Second) ou MFLOPS (Millions of FLoating-point
Operations Per Second);
• Redes: pacotes por segundo (pps) ou bits por segundo
(bps);
• Sistemas de processamento de transações: transações
por segundo (TPS);
Utilização

• Fatia de tempo em que o sistema permanece


ocupado, atendendo a pedidos;
População

• Quantidade de atendimentos a serem feitos em


um determinado instante;
Tempo de resposta

• Intervalo de tempo entre o pedido e o


início/conclusão do serviço.
Noções de Probabilidade
• A palavra probabilidade deriva do Latim probare
(provar ou testar).
• A história da teoria das probabilidades teve início
com os jogos de cartas, dados e de roleta.
• Esse é o motivo da grande existência de exemplos
de jogos de azar no estudo da probabilidade.
• A teoria da probabilidade permite que se calcule a
chance de ocorrência de um número em um
experimento aleatório.
Noções de Probabilidade
• Probabilidade: é o estudo das chances de
obtenção de cada resultado de um experimento
aleatório.
• A essas chances são atribuídos os números reais
do intervalo entre 0 e 1.
• Resultados mais próximos de 1 têm mais chances
de ocorrer.
• Além disso, a probabilidade também pode ser
apresentada na forma percentual.
Noções de Probabilidade
• A probabilidade associa números às chances de
determinado resultado acontecer.
• De modo que, quanto maior esse número, maior a
chance desse resultado ocorrer.
• Existe um “menor número”, que representa a
impossibilidade do resultado, e um “maior número”,
que representa a certeza de determinado resultado.
• No lançamento de um único dado, por exemplo, é
impossível ocorrer o número 7 e existe a certeza de
ocorrer um número menor que 7 ou maior que 0.
Noções de Probabilidade
• Fenômeno Determinístico: É possível saber que
evento irá acontecer no futuro.
• Por exemplo, avanço de uma música em uma fita
cassete.
• Sempre se sabe qual será a música seguinte, pois
a ordem já é previamente conhecida;
Noções de Probabilidade
• Fenômeno Aleatório: não é possível saber que
evento irá acontecer no futuro.
• Ao lançar uma moeda não há como saber-se qual
lado ficará à vista quando a moeda chegar ao
solo, mesmo após inúmeros lançamentos;
Noções de Probabilidade
• Evento discreto: Considera-se a ocorrência de
um fenômeno apenas em determinados instantes
de tempo dentro de um período (verifica-se
fenômeno a cada intervalo de 5 minutos, por
exemplo);
Noções de Probabilidade
• Variável aleatória: Uma variável aleatória é uma
função que reflete o resultado de uma experiência
aleatória.
• Podemos conhecer seu comportamento para um
conjunto de valores, mas não sabemos o valor
para uma ocorrência específica.
• Por exemplo, lançar uma moeda.
Noções de Probabilidade
• Variável aleatória discreta: Seu conjunto
possível de valores é composto por um número
finito ou infinito enumerável de elementos.
• Ex: Nº de chamadas na central do Corpo de
Bombeiros no período da manhã.
• Ex: Nº de alunos aprovados numa disciplina com 80
alunos matriculados.
• Ex: Nº de acessos a um determinado site, das 0h às
6h.
Noções de Probabilidade
• Variável aleatória contínua: Uma variável
aleatória contínua pode assumir qualquer valor
numérico em um determinado intervalo ou série
de intervalos.
• É uma variável que assume valores dentro de
intervalos de números reais.
• Ex:
Noções de Probabilidade
• O resultado de lançamento de martelo nas
Olimpíadas é um exemplo de variável aleatória
contínua.
• Sabe-se que os valores do lançamento de martelo
atingem a distância máxima de 60 metros e a
distância mínima classificatória de 30 metros.
Noções de Probabilidade
• Todos os lançamentos poderão assumir uma
infinidade de possibilidades dentro do intervalo
entre 60 metros e 30 metros, pois sempre existirá
uma fração para medir a menor diferença
possível entre os lançamentos como 59 metros,
25 centímetros, 12 milímetros e assim por diante.
• Então, X seria uma variável aleatória contínua que
assumiria qualquer valor no intervalo 30 < X < 60
Noções de Probabilidade
• Distribuição de probabilidade: Não é possível saber
de antemão o valor de uma variável aleatória e, para
estudá-la, é necessário identificar os valores que ela
pode assumir e com que frequência ela ocorre, ou
seja, a sua distribuição de probabilidade.
• Exemplos: jogar moeda (P(cara), P(coroa)); jogar um
dado (P(lado1), ...P(lado6)); jogar dois dados e obter
uma determinada soma (P(soma=2), P(soma=3), ...
P(soma=12)); etc. Estes são exemplos de
distribuições discretas de probabilidade.
Noções de Probabilidade
• Distribuição exponencial: as únicas distribuições
com característica "memoryless“ são a geométrica
(discreta) e a exponencial (contínua).
• "Memoryless“ significa, de forma intuitiva, que
saber o que aconteceu no passado não ajuda a prever
o futuro.
• Assim, considerando um evento discreto como jogar
moeda para cima, saber o resultados anteriores não
afeta de maneira alguma as probabilidades
associadas à próxima jogada de moeda.
Noções de Probabilidade
• Considere um evento contínuo, como por exemplo a
chegada de trabalhos em um sistema com
distribuição exponencial e média 5.
• Se até o instante 4 não foi observada nenhuma
chegada de trabalho, isto não aumenta a
probabilidade de um trabalho chegar dentro do
próximo segundo.
• A distribuição exponencial é uma distribuição muito
utilizada na prática para modelar tempo de falha de
objetos.
• Por exemplo, pode ser usada para modelar o tempo
que demora até uma lâmpada falhar
Noções de Probabilidade
• Ex: Tempo para realizar uma prova
• Ex: Tempo de chegadas de pacotes em um roteador.
• Ex: Tempo de espera em restaurantes, caixas de
banco, postos de saúde.
Exercício
• Quais são as técnicas de avaliação de sistemas?
Explique cada uma
• O que é probabilidade?
• Quais as diferenças entre fenômenos determinísticos
e fenômenos aleatórios?
• Quais as diferenças entre variável aleatória discreta e
variável aleatória contínua?

Você também pode gostar