Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex....
Transcript of Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex....
Avaliação de Desempenho de SistemasIntrodução à Teoria das Filas
Prof. Othon [email protected]
2
Notação de uma fila
Para analisar um dado sistema é necessário a definição das seguintes características: Processo de chegada Distribuição do tempo de serviço Nº de servidores Capacidade do sistema Tamanho da população Disciplina da fila
3
Elementos de uma Fila
Servidor
Servidor
Servidor
Atendimento
FilaPopulação
Cliente
Que sistemas funcionam dessa forma?• Banco, barbearia, ponte, roteador de pacotes IP
Posição de espera
4
Notação de uma fila
Processo de chegada Considere um posto de pedágio com 5
atendentes (servidores) Analisando o processo de chegada de
automóveis entre 7 e 8 horas da manhã: Chegam em média 20 automóveis por minuto
Taxa média de 20 automóveis por minuto em média 1 automóvel a cada 3 segundos
Intervalo médio entre chegadas é de 3 segundos
5
Notação de uma fila
Processo de chegada Taxa média de 20 automóveis por minuto
Podem existir diferentes sistemas com variações diferentes em torno da média Não basta especificar a taxa média de chegada é
necessário mostrar como esses valores se distribuem em torno da média.
Existem sistemas que não apresentam variação entre os valores para os intervalos entre chegadas Ex. sistemas regulares
6
Chegada do Cliente: 1 2 3 4 5 6 7 8 9 10
Instante de tempo : 3 6 9 12 15 18 21 24 27 30
Intervalo de tempo médio entre chegadas (1/λ): 3 segundosTaxa média de chegada (λ): 1/3 por segundo ou 20 por minuto
segundos
3 3 3 3 3 3 3 3 3
Chegada do Cliente: 1 2 3 4 5 6 7 8 9 10
Instante de tempo : 3 6 11 12 20 20 22 25 27 30 segundos
3 5 1 8 0 2 3 2 3
Chegada do Cliente: 1 2 3 4 5 6 7 8 9 10
Instante de tempo : 3 6 6 12 15 20 20 25 25 30 segundos
3 0 6 3 5 0 5 0 5
Notação de uma filaProcesso de chegada
7
Notação de uma fila
Processo de chegada Para definir um processo de chegada é
necessário especificar Taxa de chegada (λ) ou o tempo entre chegada
(1/λ) Especificar como os valores estão distribuição em
torno da média Ex. distribuição de Poisson
Nº de chegadas durante um determinado intervalo de tempo Distribuição exponencial
Intervalo de tempo entre chegadas
8
Notação de uma fila
Processo de atendimento Considerando ainda o exemplo do pedágio
Um funcionário do pedágio atende 6 veículos por minuto (gasta 10 segundo para atender um cliente)
Taxa de atendimento µ Note que esses valores também são médios !!! Portanto é fundamental especificar como esses valores
variam em torno da média utilizando uma distribuição. Ex. distribuição exponencial
Tempo gasto para o atendimento de um dado cliente
9
Notação de uma fila
Processo de atendimento Informações anotadas sobre o tempo de
atendimento (em minutos) de cada cliente
Cliente: 1 2 3 4 5 6 7 8 9 10 11 12
Duração do atend. : 1 2 1 1 3 2 1 4 2 3 1 3
Tempo médio de atendimento (1 /µ ): 2 minutos Taxa de atendimento (µ ): 1/2 minutos ou 30 cliente por hora
10
Notação de uma fila
Número de servidores Define o nº de servidores que estão
atendendo a fila Aumentando a taxa de chegada de clientes é
necessário aumentar o nº de servidores com o objetivo de manter a qualidade do serviço
Fila
11
Notação de uma fila
Capacidade do sistema Nº máx. de clientes que o sistema comporta. Na
maioria dos sistemas essa capacidade é finita. Esta capacidade é a soma dos clientes que estão
sendo atendidos com os clientes que estão aguardando atendimento.
12
Notação de uma fila
Tamanho da população número total de clientes em potencial que podem
solicitar um atendimento pelo sistema. Na maioria dos sistemas a população é finita Se o tamanho da população é grande é fácil
analisar esse sistemas se considerarmos que a população é infinita Isto é uma simplificação
13
Notação de uma fila
Disciplina da fila Regra que define qual o próximo cliente que
será atendido FIFO (First In First Out) LIFO (Last In First Out) SIRO (Service in Random Order) Gestantes, idosos, etc Clientes cartão fidelidade vermelho
14
Característica de uma Fila
Tamanho médio da fila Informação que podemos utilizar para escolher uma
fila dentro de um conjunto de filas* O ideal é tamanho zero
= chegar e ser atendido
Se o tamanho da fila for razoável significa que teremos que esperar um “pouquinho” para ser atendido
O tamanho da fila não é constante.
15
Característica de uma Fila
Tamanho máximo da fila Essa informação pode significar o espaço físico onde
os clientes ficam esperando o atendimento. Isso é um fator limitante !!!
O cliente em determinadas situações precisa esperar fora do banco
O cliente tem que voltar mais tarde ou pode não ser atendido !!! Em sistemas computacionais isso pode representar a
capacidade de memória (Buffers) Roteador IP
Descarte de pacotes
16
Característica de uma Fila
Tempo médio de espera na fila Características que pode nos causar irritação!!! Assim como o tamanho médio da fila, o tempo
médio de espera na fila também depende dos processos de chegada e de atendimento.
17
Dinâmica de uma FilaIntervalos entre chegadas em minutos
Tempo de cada atendimento em minutos
Intervalo médio entre chegada: (2+3+3+3+5+0+1+5+1+4+1+2)/12 = 2,5 minTaxa média de chegada: 1/2,5 = 0,4 clientes por min ou 24 clientes por hora
Tempo médio de atendimento: (1+2+1+1+3+2+1+4+2+3+1+3)/12 = 2min Taxa média de atendimento: 1/2 = 0,5 clientes por min ou 30 clientes por hora
É possível a formação de fila ???
18
Dinâmica de uma FilaTempo de espera na fila em minutosCliente: 1 2 3 4 5 6 7 8 9 10 11 12Tempo em fila: 0 0 0 0 0 3 4 0 3 1 3 2
Tempo médio na fila:(3+4+3+1+3+2)/12 = 1,33 minutos
Nº médio na fila:(3+4+3+1+3+2)/35 = 0,46= 0,46 cliente
19
Sistemas Estáveis
A abordagem através de teoria das filas exige que exista estabilidade no fluxo de chegada e no processo de atendimento. Os valores µ e λ devem se manter constante Os atendentes (servidores) devem ter a
capacidade de atender o fluxo de chegada µ > λ A capacidade de atendimento é maior do que a
taxa de chegada de clientes Caso contrário o tamanho da fila aumentaria
infinitamente
20
Sistemas Estáveis
Se µ > λ Então como é possível a formação de fila?
µ e λ representam valores médios Em u m determinado instante podem chegar mais
clientes que a capacidade de atendimento O atendimento de um dado cliente pode ser muito
mais demorado do que a média O próximo cliente que chega vai ter que esperar
21
Tamanho da Amostra
Um sistema estável em estudo mostrará sempre os mesmos resultados desde que adequadamente analisados
Para isso é fundamental a escolha no tamanho da amostra !!!
Desconsiderar essa questão pode produzir diferentes valores para a mesma variável Ex. jogue um dado 6 vezes e analise qual a probabilidade
de sair o número 1. A análise de sistemas não estáveis ou análise
transiente é melhor realizada através da técnica de simulação
22
Exercício Considere um sistema em que navios chegam a um porto para carregar
algum produto. Abaixo estão anotados os valores de intervalos entre chegadas e a duração para o carregamento (em horas) para 20 navios
55433438885286763355Duração
da carga
48999101141419108882713210Intervalo
2019181716151413121110987654321Cliente
Qual o intervalo médio entre chegadas? Qual a taxa de chegada de navios? Qual o tempo médio para o carregamento? Qual a taxa média de carregamento dos navios? Monte o desenho de funcionamento do sistema (veja ex. slide 18) Haverá a formação de fila? Calcule o tamanho médio da fila Calcule o tempo médio de espera na fila
23
1º Tarefa de Programação
Desenvolva um programa em C para calcular: Qual o intervalo médio entre chegadas? Qual a taxa de chegada de clientes? Qual o tempo médio de atendimento? Qual a taxa média de clientes atendidos? Informe se haverá a formação de fila?
Se sim diga qual o tamanho médio e o máximo da fila Calcule o tempo médio de espera na fila Qual o nº ideal de servidores para não haver a formação de filas.
Os cálculos devem ser feitos a partir dos valores do intervalo entre chegadas e do tempo necessário para o atendimento de cada cliente. Esses valores devem ser carregados de um arquivo texto chamado “carga.txt”.