• Nenhum resultado encontrado

Funcionamento do Simulador

Capítulo 5 – Avaliação de Desempenho dos Algoritmos

5.1. Descrição do Simulador

5.1.4. Funcionamento do Simulador

Os diversos algoritmos apresentados no capítulo anterior têm um funcionamento similar entre si. A diferença reside na forma de cálculo do custo de cada aresta e na informação a trocar entre nós. Desta forma, e como as diferenças em termos de funções de custo e informação trocada foram já abordadas no capítulo anterior, nesta secção é descrita o modo de funcionamento dos algoritmos. A descrição seguinte é aplicável a qualquer um dos algoritmos.

Os eventos considerados são:

• o evento-chegada, definido como o instante de tempo de pedido da ligação, o tipo de VC pedido e os nós extremo;

• o evento-partida, definido como o instante de tempo de terminação da ligação estabelecida, o tipo de VC pedido e os nós extremo; Os instantes de ocorrência dos eventos são armazenados numa lista de eventos. Nesta lista os eventos estão ordenados por ordem de ocorrência. As variáveis consideradas são de três tipos: relógio de simulação, contadores estatísticos e variáveis de estado [16].

Relógio de Simulação:

É a variável que indica, em cada instante, o tempo de simulação decorrido, permitindo indexar cronologicamente os eventos.

Contadores estatísticos:

Para cada fluxo são usados dois contadores: um que contabiliza o número de pedidos bloqueados e outro que contabiliza os pedidos tentados; destes é estimado no fim da simulação a probabilidade de bloqueio por fluxo e por tipo de circuito.

Para cada aresta é usado um contador que contabiliza a sua área de ocupação determinada da seguinte forma: no instante de cada evento, é somado a este contador a capacidade ocupada do link multiplicada pelo intervalo de tempo entre o instante actual e o instante do evento anterior; este contador, quando dividido pelo tempo simulado, permite determinar a ocupação média de cada aresta.

Para cada fluxo é usado um contador que contabiliza o número médio de ligações usadas no estabelecimento dos respectivos circuitos (o número de ligações do percurso de serviço mais o número de ligações do percurso de protecção a dividir por dois); este contador permite determinar o número médio de ligações usadas para estabelecer um circuito por fluxo e por tipo de fluxo.

É ainda usado um contador para contabilizar a quantidade de tráfego suportada pela rede: no instante de cada evento, é somado a este contador a largura de banda total actualmente suportada pela rede multiplicada pelo intervalo de tempo entre o instante actual e o instante do evento anterior: este contador, quando dividido pelo tempo simulado, permite determinar a quantidade de tráfego média suportada pela rede.

Variáveis de estado:

• largura de banda ocupada no instante simulado presente em cada slot (um slot representa um TUG-3) de cada aresta;

• estado de ocupação da aresta dado pela atribuição e libertação de capacidade referente aos circuitos estabelecidos através da aresta;

• estado de ocupação da rede dado pela atribuição e libertação de capacidade referente aos circuitos estabelecidos sobre a rede (cada circuito contribui apenas com o valor do tipo de circuito do fluxo, não tendo qualquer relação com o número de ligações que tenha de usar para ser estabelecido);

O funcionamento do algoritmo robusto de custo mínimo é descrito da seguinte forma (conforme ilustrado na Figura 21):

São inicializados os contadores estatísticos e é agendado o primeiro evento-chegada de cada fluxo sendo criada a lista de eventos.

É determinado o próximo evento. No caso de ser um evento-chegada (na primeira vez é sempre um evento-chegada) é agendado o próximo evento-chegada para este fluxo (eliminando-se o actual da lista de eventos) e incrementa-se o número de pedidos efectuados deste fluxo. Desde que seja determinado um caminho de serviço e um de protecção, é agendado o respectivo evento-partida e as capacidades requeridas ao longo dos caminhos de serviço e protecção são atribuídas, obtendo-se o VC de serviço e o VC de protecção. Os contadores estatísticos são actualizados. É criada uma estrutura com os VC’s de serviço e protecção que, juntamente com a nova partida agendada, é colocada numa estrutura referente aos diversos pedidos existentes. No caso de não ser possível alocar recursos para um ou para ambos os caminhos, o pedido é bloqueado, incrementando-se o respectivo contador.

No caso do evento ser uma partida é libertada a capacidade, referente ao pedido, ao longo dos VC’s de serviço e de protecção e é actualizada a ocupação de rede. O evento-partida é retirado da lista de eventos, retorna-se ao teste de evento. O algoritmo de reorganização de protecções é invocado caso se esteja num algoritmo em que este está definido.

De seguida é verificado o critério de paragem de simulação. Se o teste de paragem de simulação for negativo, retorna-se ao teste de evento. Quando se faz a atribuição de capacidades aos VC’s de serviço e de protecção são actualizados os contadores de número de arestas usados por pedido. O contador relativo à ocupação das arestas é actualizado quando se efectua a atribuição e a libertação das capacidades referentes ao pedido.

Quando, através do critério de paragem de simulação, se verifica o final da corrida, as medidas de desempenho referentes à corrida são armazenadas. No fim das corridas pré-determinadas, é apresentado no ecrã e em formato de ficheiro, um relatório das medidas de desempenho.

Início

Inicializar Variáveis e Lista de Eventos

Primeiro Evento da Lista de Eventos?

Chegada

Remover o evento chegada da lista de eventos e agendar nova chegada .

Increment ar nº de pedidos efectuados

Sim

Estabelecer o VC de serviço e o VC de protecção

Act ualizar os custos das arestas (quando necessário) e contadores Incrementar nº de

pedidos bloqueados

Não

P artida

Libertar as capacidades correspondentes ao VC de serviço e VC de prot ecção

Retirar Evento part ida da lista de eventos

Não

Sim T erminus de Simulação?

Act ualização de cust os das arestas (quando necessário) e contadores

Existe o par VC de serviço e VC de protecção? Reorganização de P rot ecções Determinar Relatório Final Fim Agendar a partida

Documentos relacionados