Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex....

23
Avaliação de Desempenho de Sistemas Introdução à Teoria das Filas Prof. Othon Batista [email protected]

Transcript of Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex....

Page 1: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

Avaliação de Desempenho de SistemasIntrodução à Teoria das Filas

Prof. Othon [email protected]

Page 2: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 3: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 4: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 5: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 6: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 7: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 8: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 9: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 10: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 11: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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.

Page 12: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 13: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programaçã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

Page 14: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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.

Page 15: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 16: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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.

Page 17: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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 ???

Page 18: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 19: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 20: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 21: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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

Page 22: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programaçã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

Page 23: Avaliação de Desempenho de Sistemas · Monte o desenho de funcionamento do sistema (veja ex. slide 18) ... Calcule o tempo médio de espera na fila. 23 1º Tarefa de Programação

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