Você está na página 1de 26

Disciplina: Administrao e Segurana de Sistemas de Computadores

Curso: Licenciatura em Engenharia Informtica


(4 ano)
Anlise de Desempenho de Sistemas de
Computadores Usando a Teoria de Filas
Docentes: Doutor Eng. Lourino Chemane

DEEL, Faculdade de Engenharia, UEM

26 de Outubro de 2015

Tpicos
1. Introduo a Teoria de Filas

Notao
Lei de Little

2. Sistemas Computacionais e Rede de Filas

Descrio dos clientes


Descrio de Servidores
Modelos de Rede de Filas e Teoria de Filas
Lei de Little

3. Leis Operacionais

Leis de Utilizao

4. Exemplos/Exerccios

Motivao: Avaliao do Desempenho de Sistemas de Computadores

A avaliao de desempenho est presente em todos os


momentos do ciclo de vida de um sistema computacional.
Na hora de projectar, produzir ou implantar um sistema, o
objectivo final sempre o mesmo: escolher de entre
diversas alternativas aquela que proporcione o melhor
desempenho, com o menor custo possvel.
No existe um meio universal com o qual possamos avaliar
o desempenho das diversas classes de sistemas
computacionais. Cada aplicao possui caractersticas
prprias, o que faz com que cada estudo de desempenho
seja nico.
A caracterizao da carga (workload), a seleco de
mtricas, a escolha da tcnica de avaliao, tudo isso deve
ser feito de maneira especfica para cada caso, levando-se
em considerao as caractersticas do sistema objecto de
estudo.

Algumas Aplicaes da Anlise de Desempenho

Comparar sistemas entre si e definir qual o mais


adequado aos requisitos de desempenho impostos;
Prever o desempenho do sistema frente a futuras
mudanas na carga ou no prprio sistema;
Identificar gargalos de desempenho;
Propor mudanas de configurao de modo a obter um
melhor desempenho (tunning).

Noes de Sistema e Modelo

Sistema: Segundo a definio do IEEE,


um sistema uma combinao de
componentes que agem em conjunto
para realizar uma funo que no seria
possvel ser feita por qualquer das
partes individuais. No nosso caso, o
termo sistema ser empregue para
denotar o conjunto de elementos de
hardware e software utilizados para o
processamento de uma carga.
Modelo: Um modelo algo que simula
o comportamento de um sistema. uma
abstraco de algo real. A modelagem
matemtica consiste em definir o
conjunto de variveis de entrada e
variveis de sada associadas a um
sistema, bem como estabelecer o
relacionamento entre elas.

Abordagem de Anlise de Desempenho

Definio de objectivos do sistema consiste em definir exactamente o


que ser estudado e em que nvel.
Escolha de mtricas consiste em definir quais critrios sero utilizados
para medir o desempenho do sistema. Exemplos de mtricas incluem:
tempo de resposta, throughput, taxa de erros, entre outros;
Listagem de parmetros e seleco de factores consiste em
identificar quais parmetros afectam o desempenho do sistema e em
seguida escolher dentre eles aqueles que sofrero variao durante o
estudo (os factores);
Escolha da tcnica de avaliao existem basicamente trs tcnicas
usadas para a avaliao de desempenho de sistemas:
Modelagem analtica;
Simulaes; e
Medies.

A escolha de uma delas depende de uma srie de factores


que sero discutidos nas prximas aulas;

Abordagem de Anlise de Desempenho

Caracterizao da carga (workload) descrever o que (e


de que modo) ser requisitado do sistema. Por exemplo,
em um sistema de base de dados, a carga seria formada
por um conjunto de transaces que buscam e/ou
actualizam dados;
Anlise e interpretao de dados nesse passo, so
analisados os dados obtidos em medies e simulaes.
Mais importantes que a colecta de dados em si, so as
concluses que o analista tira a partir deles;
Apresentao de Resultados por fim cabe ao engenheiro
de desempenho comunicar de forma clara os resultados
obtidos durante o estudo.

Seleco das Mtricas


Mtricas podem ser agrupadas em trs categorias:
Reaco: Diz respeito ao tempo que o sistema leva a dar resposta
Produtividade: Refere taxa de execuo dos servios
Utilizao: Est relacionada utilizao de um recurso.

Algumas das mtricas mais utilizadas na avaliao de


sistemas computacionais:
Throughput (taxa de servio) a taxa em que as requisies so
processadas por um sistema. Exemplos:
MIPS (milhes de instrues por segundo) ou
FLOPS (instrues de ponto flutuante por segundo), para CPUs;
Transaces por segundo, para sistemas de Bases de Dados;
bps (bits por segundo), para redes de comunicao, etc.;

Seleco das Mtricas


Algumas das mtricas mais utilizadas na avaliao de
sistemas computacionais (Continuao):
Tempo de resposta corresponde ao intervalo de tempo entre o
momento em que uma requisio submetida ao sistema e o
momento em que o sistema responde a requisio;
Utilizao percentagem do tempo em que os recursos de um
sistema encontram-se ocupados. O recurso com a maior utilizao
dito ser o gargalo do sistema;
Taxa de erros indica a frequncia com que o comportamento do
sistema se apresenta fora do esperado;
Disponibilidade a poro de tempo em que o sistema fica
disposio dos usurios para atender s suas requisies;

Fundamentos de Modelao de Sistemas


Introduo a Teoria de Filas

A teoria das filas uma tcnica de modelagem analtica bastante


utilizada para a avaliao de desempenho de sistemas
computacionais.
O cenrio de teoria das filas pode ser descrito desse modo: um recurso
(tambm chamado de centro de servio) compartilhado por um
conjunto de clientes (ou jobs) que de tempos em tempos vo a esse
recurso para receberem seu servio.
Se ao solicitar o servio o cliente encontrar o recurso disponvel, ele
ser imediatamente atendido. Caso contrrio, se o recurso j estiver
atendendo outro(s) cliente(s) no momento da solicitao, ele dever
aguardar em uma fila.
Cenrios como esse so muito comuns dentro e fora da computao, o
que faz com que a teoria das filas tenha aplicaes nas mais diversas
reas, como, redes de comunicao, sistemas telefnicos e, claro,
avaliao de desempenho de sistemas computacionais.

Notao da Teoria de Filas

A notao hoje amplamente utilizada para descrever filas foi criada por
Kendall e composta de seis parmetros: A/S/m/B/K/SD
A (Arrival Process) o processo de chegada das requisies ao centro de
servio;
S (Service Time Distribution) a distribuio que determina tempo que o
centro precisa para atender as requisies;
M o nmero de servidores, que so considerados parte de um mesmo
sistema de filas caso sejam todos idnticos;
B (Buffer) o nmero mximo de clientes que o sistema aceita. Esse
nmero pode ser limitado por questes de espao ou para limitar o tempo
de espera;
K o nmero de clientes que podem porventura vir a solicitar servio do
sistema;
SD (Service Discipline) A ordem em que os clientes so atendidos.
Alguns exemplos so FIFO (First-In, First-Out primeiro a chegar, primeiro a
ser servido), LIFO (Last-In, First-Out ltimo a chegar, primeiro a ser
servido), Round Robin (cada cliente recebe uma mesma quantidade de
tempo de servio no centro), dentre outros;

Notao da Teoria de Filas

Os processos de chegada e de servio so representados por uma


letra, que indica qual a distribuio que eles seguem:

M Exponencial;
M[x] Exponencial em rajadas;
Ek Erlang, com parmetro k;
Hk Hiper-exponencial, com parmetro k;
D Determinstico;
G Geral;

A letra M, usada para indicar a distribuio exponencial, vem de


memoryless ou de Markovian, para indicar que valores assumidos no
passado no influenciam nos valores futuros.
Quando vem acompanhado por um sobrescrito, significa que as
chegadas (ou servios) acontecem em rajadas, isto cada chegada
(ou servio) consiste, na realidade, em um grupo de requisies.
Nesse caso, x representa o tamanho do grupo, que tambm uma
varivel aleatria.
A distribuio determinstica denota um valor constante.
Uma distribuio geral significa que no se conhece exactamente qual
a distribuio, e o resultado vlido para qualquer distribuio.

Notao da Teoria de Filas


Buffer

Server(s)
Departures

Arrivals
Queued

In Service

Como um exemplo, M/M/2/50/5000/FIFO, indica um


sistema de fila no qual:
Os tempos de chegada e de servio so exponencialmente
distribudos,
tem 2 servidores, e que
suporta um mximo de 50 requisies,
de uma populao total de 5000 clientes,
servidos em um regime de primeiro a chegar, primeiro a sair.

Notao da Teoria de Filas


comum abreviar a notao, e considerar que no existe
limitao de buffer, a populao de clientes infinita e a
poltica de servio FIFO. Assim, costuma-se escrever
apenas os trs primeiros parmetros para representar uma
fila. Os tipos mais comuns de filas so os seguintes:
M/M/1: esse tipo de fila usado para representar sistemas de um
nico processador ou qualquer outro recurso individual;
M/M/m: esse tipo de fila pode ser usado para modelar centros de
servio compostos por vrios dispositivos idnticos, como por
exemplo, um subsistema de I/O com vrios discos. O sistema
formado por m servidores, cada um com uma taxa de servio,
atendendo a clientes que chegam a uma taxa.

Lei de Little

A lei de Little uma das mais importantes leis da teoria


das filas.
Ela estabelece que o nmero mdio de requisies em
um sistema igual ao produto entre a taxa de chegada e
o tempo mdio que a requisio passa no sistema.
Apesar de ser uma lei intuitivamente razovel, trata-se de
um resultado excepcional, se considerarmos que ele
vlido para a grande maioria das situaes, no sendo
necessrio nenhum conhecimento adicional sobre os
processos de chegada e sada.
A nica exigncia que o nmero de requisies que
chegam ao sistema seja igual ao nmero de requisies
que tm seus servios completados. E isso implica que o
throughput (taxa de servio) do sistema seja igual taxa
de chegada, donde tiramos:

Lei de Little

Pode-se ainda obter a partir da Lei de Little


outros relacionamentos:

Onde:
E[Nq] Nmero mdio de requisies na fila de
espera;
E[wq] Tempo mdio de espera na fila;
E[Ns] Nmero mdio de requisies recebendo
servio;
E[s] Tempo mdio de servio;

N = T
T

Leis Operacionais
Muitos problemas de teoria das filas podem ser resolvidos
por meio de algumas relaes simples, sem que para isso
seja necessrio um conhecimento exacto sobre as
distribuies dos tempos de chegada e de servio.
Algumas dessas relaes, conhecidas como leis
operacionais.
Seja um sistema modelado como um nico centro de
servio (isto , o sistema consiste em um nico recurso).
Se observarmos esse sistema por um determinado perodo
de tempo, podemos mensurar as seguintes quantidades:

T o tempo total de observao do sistema;


A o nmero total de requisies que chegaram ao sistema;
C o nmero total de requisies processadas pelo sistema;
B o total de tempo em que o sistema encontra-se ocupado
atendendo s requisies;

Leis Operacionais

Esses valores podem ser obtidos directamente, por


meio de simples monitorizao do sistema da o
termo operacional.
Eles servem de variveis independentes em
equaes que permitem estabelecer um conjunto
adicional de quantidades:
a taxa de chegada de requisies. = A/T;
X o throughput ou taxa de processamento. X = C/T
(ou = C/T);
U utilizao do sistema. U = B/T;
S o tempo de servio mdio de uma requisio. S =
B/C;
Lei de Utilizao: Outra forma de exprimir a
utilizao de um recurso. Esta relao chamada de
lei de Utilizao

Caracteristicas da Fila

Nmero de Servidores m: um, mltiplo, infinito


Tamanho do Buffer b
A Ordem em que os clientes so atendidos (scheduling):
FCFS, LCFS, etc.
Taxa de chegada de Pacotes (clientes) l
Taxa de disponibilizao de servio

Notao de Kendalls: A/S/N[/b]

A: l

Notao para tipo de filas


A Descreve o processo de chegada
M = Markov/Memoryless; Poisson
D = determinstico (Tempo constante entre as
chegadas)
G = Geral (qualquer outra forma de chegada)

S Descreve o processo de servio


M [exponencial],D,G: como acima

N o nmero de processadores paralelos


b (opcional) o tamanho da fila
Descarta pacotes quando est cheio

S:

Diagramas de Filas de Sistemas de Computadores


Buffer

Server(s)
Departures

Arrivals
Queued

In Service

Descrio da Fila: Examples


M/M/1: Chegadas de Poisson (arrivals), tempos de
servio com distribuio exponencial, um servidor,
buffer infinito
M/M/m: o mesmo como acima mas com m servidores
M/G/1: Chegadas de Poisson, tempos de servio com
distribuio Geral, um servidor, buffer infinito
*/D/ : Sistema com atraso constante

Distribuio Exponencial
Se T est distribudo exponencialmente com a taxa l
, ento
P(T > t) = e-lt, donde vem que:
P(T < t) = 1 - e-lt
P(T > t+x | T > x) = e-lt (memoryless)
dens(T=t) = d P(T>t) = -le-lt
dt

P(T > t)

Note bounds:
P(T > 0) = 1
lim P(T > t) = 0

Distribuio Exponencial
Funo continua com varivel x tem distribuio exponencial com
parmetro m se:

Ento:

1 e x
FX ( x ) = P{ X x} =
0

Pode Modelar:

e x
f X ( x) =
0

if x 0
if x < 0

if x 0
if x < 0

Intervalo entre as chegadas (Inter-arrival times) para processos de chegada


de Poisson
Tempo de servio (Service Process Time)

Exemplos/Exerccios
Exemplo 1: Mensagens chegam de forma independente num sistema de
computadores a uma taxa de 10 por minuto. Os seus cumprimentos so
exponencialmente distribudos com uma mdia de 3600 caracteres. Elas
so transmitidas num canal de 9600 bps. Um caracter tem um
cumprimento de 8 bits.
a)Qual a taxa de servio?
b)Determine o tempo mdio de servio.
c)Qual o taxa de chegada A?
d)Qual a utilizao do servidor?
e)Qual a probabilidade de que h duas (2) mensagens no sistema?
f)Qual o nmero mdio de mensagens na fila?
g)Qual o nmero mdio de mensagens no sistema?
h)Qual o tempo mdio de espera na fila?
i)Determine o tempo mdio que a mensagem leva no sistema?

End
Lourino Chemane
Contacto: chemane@infopol.gov.mz

Você também pode gostar