Universidade Estadual do Ceará (UECE) Pró-Reitoria de Pós Graduação e Pesquisa (PROPGPq) Instituto Federal de Educação, Ciência e Tecnologiado Ceará (IFCE) Diretoria de Pesquisa e Pós-Graduação (DIPPG) Leandro Alves Machado Teoria das Filas Agosto, 2011 1. Introdução 1 transportes e sistemas de estocagem. esperam e são atendidos pelos servidores a partir de alguma disciplina. em qualquer situação em que precisamos esperar por um serviço ou oportunidade. mas. sistemas de comunicação (telefonia) e sistemas de processamento de informações. O problema da congestão de linhas telefônicas foi um dos primeiros motivos a se estudar filas e foi uma das principais aplicações da teoria de filas até meados de 1950. Elas estão presentes em nosso cotidiano. disciplina conhecida como first in first out – FIFO. já a LIFO tem como um exemplo a busca em discos rígidos. ou. O principal motivo de se estudar filas é a melhoria do sistema. carros que esperam num semáforo e depois quando chegam. no supermercado. Um sistema de filas pode ser interpretado da seguinte forma: clientes chegam para serem atendidos. é necessário formar uma fila de espera. o que caracteriza uma melhor utilização dos serviços disponíveis. a literatura começou a expandir e diversas áreas começaram a utilizar os resultados dessa teoria. no banco. quando não há um atendimento imediato.É um ramo da probabilidade que estuda a formação de filas. menor tempo de espera e maior rapidez no atendimento. tornando possível dimensioná-lo de forma a satisfazer os clientes e ser viável economicamente para o provedor do serviço. será atendido primeiro o que chega por último. mensagens que esperam ser transmitidas pelos canais de comunicação. Alguns exemplos que adotam essa teoria são: controle de tráfego aéreo. Os clientes referidos acima podem ser pessoas que esperam um atendimento. A disciplina FIFO é geralmente utilizada em nosso diaa-dia. A partir daí. 2 . no trânsito. Ela provê modelos para demonstrar previamente o comportamento de um sistema que ofereça serviços cuja demanda cresce aleatoriamente. ou seja. será primeiro atendido aquele que chega primeiro. através de análises matemáticas precisas e propriedades mensuráveis das filas. conhecida como last in first out – LIFO. evitando desperdícios e gargalos. Dependente: o processo de atendimento muda de acordo com o número de clientes na fila. Características de um sistema de filas Um sistema de filas consiste no processo de chegada. existe uma fila para cada servidor. A distribuição mais comum é a de Poisson. Em um sistema de fila única. O estado pode ser: Independente: o processo de atendimento não depende do número de clientes esperando pelo serviço. Os serviços podem ser simples ou batch (em lote). Apresenta comportamento estocástico. Indica a quantidade de pontos de atendimento do sistema. 3 . 2. 2. Não Estacionário: A distribuição varia com o tempo. Quando um sistema possui mais de um servidor (multiservidor ou multicanal). de forma a servir aos clientes paralelamente. da população de usuários e da disciplina de atendimento. da distribuição do tempo de serviço. que é uma distribuição de probabilidade discreta que expressa a probabilidade de uma série de eventos ocorrer num certo período de tempo se estes evento ocorrem independentemente de quando ocorrei o último evento. assim é preciso conhecer qual a distribuição de probabilidade que descreve os tempos entre as chegadas dos clientes. O padrão de chegada de clientes em função do tempo pode ser: Estacionário: a distribuição de probabilidade que descreve a chegada não varia com o tempo. ele pode apresentar duas variações.1 Processo de chegada O processo de chegada indica qual o padrão de chegada dos clientes no sistema.2 Distribuição do tempo de serviço Assim como no processo de chegada. também é necessário conhecer a distribuição de probabilidade do tempo de serviço. as chegadas ocorrem no tempo e no espaço de acordo com as leis da probabilidade. Em um sistema de múltiplas filas. da capacidade do sistema. 2. do número de servidores. existe uma única fila para todos os servidores.3 Número de servidores Esse componente é também conhecido como número de canais de serviço.2. como em um caixa de banco. ou seja. como em um caixa de supermercado. Figura 2: Servidor paralelo. temos um caso especial conhecido como “Central de atraso”.4 Capacidade do sistema Representa o número máximo de clientes que o sistema suporta. liberando espaço. 4 .5 População de usuários Esse componente indica o número potencial de clientes que podem chegar a um sistema. Algumas disciplinas são: FIFO: First in First out (primeiro a chegar. incluindo os que estão em espera e os que estão sendo atendidos. A capacidade pode ser infinita ou finita. 2. Pode ser finita ou infinita.6 Disciplina de atendimento Descreve a forma como os clientes saem da fila de espera para serem atendidos. ou seja. 2. 2. todo cliente que chega é atendido imediatamente.Figura 1: Multiservidor com fila única. quando o sistema estiver lotado nenhum cliente pode entrar até que um cliente saia do sistema. Quando existirem infinitos servidores. é o primeiro a sair). Se a capacidade for finita. Filas com prioridade podem ser de dois tipos: o Preemptivo: o cliente com maior prioridade é atendido imediatamente. Exemplo: Aplicável em sistemas em que o item mais recente é mais fácil de ser recuperado. sendo atendido somente quando o cliente em atendimento sai do sistema. priorizando determinados tipos de processos. Ao terminar. Fila com prioridade: Cada cliente recebe uma prioridade e os clientes com maior prioridade têm preferência no atendimento. o Exemplo: Atendimento em um hospital. interrompendo o atendimento ao cliente com menor prioridade. se atividade não foi completada. Após o termino do tempo. o cliente que foi interrompido retorna ao servidor e continua a sua atividade. dentro da qual é atendido. exemplo em sistemas de controle de estoque. Exemplo: Escalonamento de processos da CPU. o cliente é retirado e outro passa a ser atendido. 5 .Exemplo: Controladores de disco usam FIFO como um algoritmo de escalonamento para determinar a ordem de serviço de solicitações de E/S. podendo continuar o processo de onde parou ou então reiniciá-lo. o cliente de menor prioridade volta a ser atendido. LIFO: Last in First out (ultimo a chegar. Round-robin: Cada cliente recebe uma fatia de tempo do servidor. que é uma atividade organizacional que possibilita executar os processos mais viáveis e concorrentes. é o primeiro a sair). Exemplo: Switches e roteadores usados em redes de computadores usam FIFO para manter os pacotes de dados em rota para seu próximo destino. Posteriormente. Não-preemptivo: cliente de maior prioridade é colocado no inicio da fila. mesmo ele tendo uma prioridade mais baixa. Notação Kendall 6 .3.