• Nenhum resultado encontrado

6.4 Simulações e Resultados do MARS

6.4.1 O Simulador NS-2

O NS-2 (Network Simulator v.2) é um simulador de eventos discretos, fruto do projeto VINT (Virtual InterNetwork Testbed), composto por DARPA, USC/ISI, Xerox PARC, LBNL, e a uni- versidade de Berkeley, dentre outros [105]. Uma grande vantagem do NS-2 reside no fato de ele ser totalmente gratuito e com código fonte aberto, o que permite ao usuário introduzir ajustes e novas funcionalidades, inclusive novos protocolos de comunicação. Diversos proto- colos da pilha TCP/IP já são suportados pelo NS-2 de maneira default, inclusive algoritmos de roteamento dinâmico tradicionais, tais como o LS (Link State) e DV (Distance Vector).

A programação do NS é feita em duas linguagens: C++ para a estrutura básica (protoco- los, agentes, etc) e OTCL (Object-oriented Tool Command Language) para programação dos scripts de simulação, ajustes de parâmetros e interface entre alguns módulos programados em C++. O OTCL é uma linguagem interpretada, desenvolvida pelo MIT (Massachussets Institute of Technology). O motivo para se utilizar duas linguagens de programação baseia-se em duas diferentes necessidades. De um lado existe a necessidade de uma linguagem mais robusta para

Inicializa Rotina Principal do MARS;

início

Ini ialize(Tabelas de Feromônio Q e de Roteamento R); Ini ialize(Listas de destinos D e de vizinhos V);

para cada intervalo de tempo titerfaça

Atualize(Lista de vizinhos V); Atualize(Lista de destinos D); Exe ute(recrutamento de formigas); Exe ute(recebimento de formigas); Atualize(Tabela de feromônio Q); Atualize(Tabela de roteamento R);

fim fim

Rotina do Recrutamento de Formigas;

início

Exe ute(recrutamento de formiga para cada destino d, de acordo com a probabilidade da Eq.6.1); En aminhe(para o próximo vizinho de acordo com as Eq.6.2e6.3);

Deposite(Feromônio de acordo com Eq.6.5);

fim

Rotina do Recebimento de Pacotes do MARS;

início

se o pacote é do tipo MARS então

Deposite(feromônio de acordo com Eq.6.5);

se a formiga é para outro nó então

En aminhe(para o próximo vizinho de acordo com as Eq.6.2e6.3); Deposite(feromônio de acordo com Eq.6.5);

fim

senão se a formiga é do tipo forward então

Exe ute(transição Forward → Backward);

En aminhe(para o próximo vizinho de acordo com as Eq.6.2e6.3); Deposite(feromônio de acordo com Eq.6.5);

fim senão Elimine(formiga); fim fim senão

En aminhe(pacote de acordo com a tabela de roteamento);

fim fim

a manipulação de bit a bit dos pacotes e para se implementar algoritmos que possam simular o processamento de um grande conjunto de dados em diversos nós de uma rede paralelamente. Nesse contexto C++, que é uma linguagem compilada e de uso tradicional, mostrou-se a fer- ramenta mais eficaz. Por outro lado, é fato que, durante o processo de simulação, ajustes são necessários com certa freqüência. O uso da linguagem OTCL, que é interpretada, evita que a cada ajuste de parâmetro, seja necessário compilar todo o código, possibilitando uma simpli- ficação no processo interativo de mudar e re-executar o modelo. Além de fornecer arquivos textos com os dados de saída das simulações, que podem ser interpretados externamente, de maneira offline, o NS permite também a utilização de módulos adicionais, como o NAM

(Network Animator) que é um visualizador gráfico de simulações e o Xgraph, que permite a

criação de gráficos [105,106].

6.4.2 Topologias Usadas nas Simulações

Para realizar a avaliação de desempenho da implementação do MARS, a partir das simu- lações implementadas no NS-2, foram utilizadas três topologias de redes diferentes:

1. Anel – Consiste em uma rede em anel, com seis nós interligados conforme a Fig.6.3

extraída do NAM;

2. Árvore – Consiste em uma árvore composta por um nó raiz, dois ramos principais, cada

um com três derivações, conforme a Fig.6.4extraída do NAM;

3. Cubo – Consiste em uma rede com oito nós, cada um com três enlaces, logicamente

conectados de maneira semelhante aos vértices de um cubo, conforme a Fig.6.5extraída do NAM;

Foram considerados enlaces com capacidade de 1, 5 Mbps de taxa de transmissão, e 1, 5 ms de retardo. Estas redes foram escolhidas devido a sua simplicidade e suas diferentes caracterís- ticas topológicas, apropriadas para um primeiro conjunto de simulações do novo algoritmo.

Almeja-se, prioritariamente, a partir destas simulações, comprovar a funcionalidade dos princípios utilizados no MARS, sobretudo a analogia criada a partir do modelo FFAC-D, e sua eficácia na construção de tabelas de roteamento. Além disso, é analisada a ocupação de largura de banda (overhead) e os tempos de convergência, tanto na inicialização das tabelas, quanto na adaptação a mudanças na topologia. Durante as simulações não foi introduzido tráfego de dados, uma vez que o intuito é verificar a capacidade do MARS de encontrar os melhores caminhos disponíveis nas diferentes topologias de testes.

Figura 6.3: Topologia de rede em anel, gerada a partir do NS-2/NAM para simulações do MARS.

Figura 6.4: Topologia de rede em árvore, gerada a partir do NS-2/NAM para simulações do MARS.

Tradicionalmente, os parâmetros utilizados para a comparação de desempenho entre al- goritmos de roteamento distintos são: Latência fim-a-fim, jitter (variação da latência), taxa de perda de pacotes, ocupação de largura de banda e tempo de convergência [21]. No entanto, é possível com base no desempenho observado no que diz respeito aos tempos de convergência e ocupação de largura de banda, ter idéia do quão promissora pode ser a solução de roteamento lançada com o MARS.

Figura 6.5: Topologia de rede em cubo, gerada a partir do NS-2/NAM para simulações do MARS.

6.4.3 Resultados

Foi verificado que o MARS é capaz de encontrar os melhores (menores) caminhos na rede e compor tabelas de feromônio que refletem o grau de otimalidade das escolhas disponíveis em cada topologia. Para cada topologia, foram feitas dez simulações, onde se pode verifi- car a convergência do algoritmo em todos os casos. A Figura 6.6 mostra os resultados das simulações do MARS na rede em anel para o nó 0.

Por exemplo, na Figura6.6-a) reflete o percentual médio de feromônio presente na tabela de feromônio do nó 0 para o destino 1. O nó 0 possui como vizinhos os nós 1 e 5, de modo que para cada instante, a barra à esquerda indica a probabilidade de que o nó 1 seja escolhido para o reencaminhamento dos pacotes destinados ao nó 1 e a barra à direita indica a probabilidade de escolha do nó 5. No caso de se utilizar uma tabela de roteamento determinística, apenas o vizinho com maior concentração de feromônio seria escolhido, neste caso, o nó 1, que é o caminho mais curto. O mesmo raciocínio se aplica para as figuras6.6-b), 6.6-c),6.6-d), e

6.6-e), para os nós de destino 2, 3, 4 e 5, respectivamente.

No caso da topologia em árvore, os nós 3, 4, 5, 6, 7 e 8 possuem apenas um vizinho para onde devem encaminhar todos os seus pacotes. Nas Figuras6.7-a) e 6.7-b) são mostrados os percentuais de feromônio do nó 0, para os destinos 1 e 3, nestes casos as melhores escolhas para o roteamento é o nó 1. Nas Figuras6.7-c),6.7-d),6.7-e) e6.7-f), são mostrados percen- tuais de feromônio da tabela do nó 1, para os destinos 0, 2, 3, e 6, respectivamente. Dado o

Figura 6.6: Tabela de feromônio do nó 0. Média de 10 simulações da rede com topologia em anel, para os destinos:

a)1, b)2, c)3, d)4 e e)5, computadas em diversos instantes de tempo.

efeito de simetria, a partir destes resultados é possível verificar a convergência do MARS para as melhores escolhas em todas as situações possíveis nesta topologia.

A Figura 6.8 ilustra os percentuais médios de feromônio disponíveis no nó 0 para todos os possíveis destinos da topologia em cubo. O nó 0 possui como vizinhos os nós 1, 2 e 3, as Figuras6.8-a),6.8-b),6.8-c),6.8-d),6.8-e),6.8-f), e6.8-g) apontam as preferências de escolhas para os destinos 1, 2, 3, 4, 5, 6 e 7, respectivamente.

A Figura 6.9 ilustra o comportamento do desvio-padrão do percentual de feromônio do nó 0, para cada um dos possíveis destinos da topologia em anel. É possível verificar um de- créscimo do desvio padrão com o decorrer do tempo, o que ilustra o processo de convergência das tabelas de feromônio no MARS.

Figura 6.7: Tabelas de feromônio dos nós 0 e 1. Média de 10 simulações da topologia em árvore, a partir do nó 0

para os destinos: a)1 e b)3, e a partir do nó 1 para os destinos: c)0, d)2, e)3 e f)6, computadas em diversos instantes de tempo.

que o MARS emite em média, cerca de três vezes mais pacotes que o AntNet. Os parâmetros do MARS foram ajustados para que o tempo de convergência, tempo despendido para que os algoritmos encontrem as melhores escolhas na rede, fossem similares para MARS e AntNet. Este resultado confirma a expectativa de que o MARS possui um menor consumo de largura de banda overhead. Isto se dá devido à diferença de tamanho entre os pacotes do MARS e do AntNet. Os pacotes do MARS possuem um tamanho fixo e reduzido (aproximadamente 10 bytes) enquanto no AntNet, os pacotes os pacotes possuem um tamanho variável, devido à memória das formigas, que depende do tamanho da topologia (estimado entre 30 e 70 bytes para uma rede com 6 nós). Para redes maiores, o desempenho do MARS em relação ao consumo de largura de banda seria ainda mais expressivo.

Figura 6.8: Tabela de feromônio do nó 0. Média de 10 simulações da rede em cubo, a partir do nó 0 para os

destinos: a)1, b)2, c)3, d)4, e)5, f)6 e g)7, computadas em diversos instantes de tempo.

a convergência inicial dos algoritmos, simulações foram realizadas a partir da topologia em anel, com o bloqueio do enlace que conecta os nós 0 e 1 em um dado instante de tempo. É de esperar que decorrido algum tempo após esta mudança na topologia, as tabelas de feromônio adaptem-se às novas condições. Na Figura6.11, apresenta-se os resultados médios (10 simu- lações) do MARS e do AntNet para o processo de convergência das tabelas de feromônio do nó 1 para o destino 5. Antes da interrupção do enlace 0 − 5, a melhor escolha para se chegar até o nó 5 a partir do nó 1 é o caminho 1 − 0 − 5, após a interrupção a melhor escolha passa a ser o caminho 1 − 2 − 3 − 4 − 5. Na Figura6.11-a), mostra-se os resultados para o MARS quando o bloqueio é feito no instante t = 5 s, vê se a convergência ocorrer em poucos décimos de segundo. Na Figura6.11-b), mostra-se os resultados para o AntNet quando o bloqueio é feito no instante t = 10 s, a convergência é lenta, e não ocorre mesmo após decorrido algumas

Figura 6.9: Desvio padrão do percentual de feromônio presente na tabela do 0, para 10 simulações da rede em

anel, computados em diversos instantes de tempo.

Figura 6.10: Comparação entre o número médio de pacotes emitidos pelos algoritmos AntNet e Mars. Média de

dez simulações com a rede em anel.

dezenas de segundos.

6.4.4 Parâmetros

Os parâmetros utilizados nas simulações discutidas acima foram ajustados de modo a per- mitir ao MARS e AntNet, tempos equivalentes de convergência para situação de topologia

Figura 6.11: Média de 10 simulações da rede em anel, do percentual de feromônio do nó 1 com destino nó 5:

a)MARS com interrupção no enlace 0 − 5 em 5 s, e; b)AntNet com interrupção no enlace 0 − 5 em 10 s.

estática, ou seja, sem o bloqueio de nenhum enlace. Para o Antnet, os parâmetros utilizados foram tempo de recrutamento de 0, 03 s, e fator de exploração de 0, 05 s [103], [75]. Para o MARS, o algoritmo de recrutamento e evaporação é executado a cada 0, 001 s, com parâ- metros que variam em torno dos seguintes valores: ro

d = 0, 01, rdm = 0, 001, κ = 1, n = 4,

ε = 0, 05, γ = 0, 995 e ϕM AX= 100. A função exploratória foi omitida na implementação do

MARS apresentada nas simulações descritas na seção anterior, uma vez que não se mostraram necessárias para os testes realizados.

6.5 Discussão

A simplicidade das formigas MARS e possibilidade de independer de ações daemon é uma grande vantagem deste algoritmo. No MARS, a estratégia para a escolha dos melhores ca- minhos baseia-se exclusivamente no princípio diferencial dos comprimentos (condições de tráfego) e na auto-organização das formigas resultante de seu comportamento e sua comuni- cação estigmérgica. Além disso, no sentido de evitar estagnação, aplicou-se duas heurísticas bastante plausíveis do ponto de vista biológico e dependentes apenas de informações locais, quais sejam: aversão a congestionamentos e exploração e novidades na área de forrageio, ambas extraídas do FFAC-D.

logias de teste escolhidas (anel, árvore e cubo), bem como o desempenho superior do MARS em relação à ocupação de largura de banda (overhead) e tempos de convergência em rela- ção ao AntNet. Vale ressaltar que o AntNet já mostra resultados superiores aos algoritmos tradicionais Link State (LS) e Distance Vector (DV) [75].

Convém, na continuidade desta pesquisa, ampliar o escopo dos testes para topologias maiores, dinâmicas mais completas e introdução de diferentes tráfegos de dados nas redes durante as simulações. Para tal, algumas melhorias estruturais serão necessárias à atual versão do MARS para o NS-2. Com isto é possível que o MARS possa levar ao universo das redes de comunicações, uma estratégia de otimização mais próxima daquela observada em formigas reais. Algumas características do MARS apontam vantagens em relação a outros algoritmos, tais como o AntNet e os tradicionais LS e DV:

Segurança, Alta Disponibilidade e Resiliência – A construção das tabelas de roteamento

em cada nó do MARS, depende exclusivamente de informações locais. Não há troca de informações entre os nós. Com isto, mesmo que um dos nós da rede apresente um com- portamento anômalo, por exemplo, enviando muitos pacotes, não há o risco deste com- portamento anômalo ser propagado dentre o MARS. Ademais, o próprio controle interno presente na componente exploratória do MARS (Eq. 6.3), impede a manutenção de rotas inadequadas na tabela de roteamento, pois caso haja uma perda de pacotes significativa, o algoritmo trata de buscar rotas alternativas. Opcionalmente, pode ser implementada uma função a mais de segurança, com a geração de um HASH baseado no número de identifi- cação de cada formiga, e que ocuparia este campo no pacote. Isto impediria que um nó impostor enviasse formigas falsas com os mesmos números de identificação das formigas autênticas presentes na tabela6.2, o que desabilitaria a função de detecção de enlaces falto- sos;

Eficiência e baixo overhead – As formigas no MARS, possuem um tamanho muito reduzido,

na ordem de 20 bits, o que faz com que sua ocupação de largura de banda (overhead) seja minimizada. Ademais, o fato de não possuir memória, de não ter que carregar dados adi- cionais sobre as características da rede, reduzem o custo computacional de processamento em cada um dos nós, fazendo do MARS um Sistema bastante eficiente;

Provisão de QoS – Conforme foi discutido na seção introdutória deste capítulo, o MARS

em sua primeira implementação não se voltou especificamente para a provisão de QoS. Entretanto, cabe observar que os mesmos mecanismos adicionados ao AntNet para este

objetivo específico, pode também ser adicionado ao MARS sem nenhum prejuízo, bastando que para cada CoS (Class of Service), seja implementado um tipo (cor) de formiga e feromônio [107–109], com requisitos mais rígidos para a manutenção das rotas , conforme a Eq. 6.3. Ademais, por possuir formigas de tamanhos constantes, emitidas em intervalos regulares, o MARS pode sim, apresentar vantagens para a redução de jitter, o que é um desafio para outros algoritmos;

Adaptabilidade – Conforme constatado a partir dos resultados das simulações, o MARS

permite que, em um curto intervalo de tempo, as melhores rotas sejam encontradas. Há um limite na minimização deste tempo de convergência, a partir do qual qualquer algoritmo pode comprometer sua robustez, efetuando modificações em suas tabelas de rotas como respostas a variações locais ou puntuais de curta duração, o que pode levar a instabilidades. É evidente que um estudo mais aprofundado, envolvendo a análise de sensibilidade dos parâmetros e suas respostas a variações de tráfego, pode fornecer maiores subsídios para que se otimize esta “adaptabilidade” em algoritmos de roteamento, inclusive no MARS. Ainda assim, os resultados apontam um excelente desempenho do MARS em relação aos outros algoritmos analisados;

Simplicidade e Flexibilidade – A simplicidade foi premissa no desenvolvimento tanto do

FFAC-D, conforme visto no Capítulo 4, como do MARS. O resultado é um algoritmo que mimetiza bem a auto-organização observada em formigas a partir de pacotes muito simples e tomando decisões com base apenas em informações locais. Com relação à flexibilidade, a partir das evidências observadas nas simulações, pode-se dizer que é pequeno o efeito da mudança de topologia em relação ao desempenho do MARS, no entanto, simulações mais rigorosas e com redes mais diversas são necessárias para permitir uma análise mais quantitativa desta flexibilidade e escalabilidade. Com relação a outros aspectos, por funci- onar apenas com base em informações locais geradas por seus próprios agentes, o MARS independe dos tipos de serviços presentes nas camadas superiores e inferiores do Modelo OSI.

Conclusões e Trabalhos

Futuros

A

abordagem na qual se constrói analogias entre observações da natureza e situações do cotidiano, mostra-se capaz de levar à superação de muitos dos problemas que desa- fiam a tecnologia. Estas analogias buscam capturar estratégias aperfeiçoadas pelo processo evolucionário natural para propor soluções inovadoras a problemas dos mais diversos contex- tos. Inúmeros exemplos destas soluções podem ser vistos na literatura associada à Inteligência Computacional, onde meta-heurísticas inspiradas em fenômenos naturais, tais como Algorit- mos Genéticos, Computação Evolucionária e Co-evolucionária, Redes Neurais e Otimização de Enxames de Partículas e PSO (Particle Swarm Optimization têm resultado em diversas tecno- logias de uso prático [2,5].

Nesta pesquisa, buscou-se, primeiramente, a partir de uma abordagem mais científica [3] justamente capturar as estratégias utilizadas pelas colônias de formigas para encontrar os melhores caminhos entre o ninho e os alimentos. Para tal, no Capítulo 2 foi analisado o comportamento das colônias de formigas observado em experimentos de laboratório e um primeiro modelo proposto para o comportamento destas colônias [15], o modelo FFAC [1], cujos resultados são satisfatórios para os experimentos com o ambiente de forrageio estático, mas que apresenta o problema da estagnação para ambientes dinâmicos.

No Capítulo 3, buscou-se mais evidências na literatura sobre a etologia, sociobiologia e fisiologia dos insetos. O intuito foi subsidiar o refinamento do modelo FFAC proposto anteri- ormente [1], superando a estagnação e tornando-o capaz de reproduzir o comportamento das

formigas em situações nas quais ocorrem mudanças em sua área de forrageio. No Capítulo 4, propõe-se modelo FFAC-D, a primeira contribuição relevante desta pesquisa, cuja versão pre- liminar foi publicada em Bandeira de Melo & Araújo [23], e que incorpora ao modelo FFAC o comportamento exploratório observado nas formigas naturais, a evaporação do feromônio, e as limitações de suas capacidades sensoriais. O FFAC-D manteve a plausibilidade biológica em toda sua formulação e seus resultados mostram a superação das deficiências do modelo FFAC, com simulações representativas do comportamento experimental observado.

Em seguida, estabeleceu-se a analogia entre as redes de comunicações e o comportamento das colônias de formigas forrageiras observado em laboratório e modelado pelo FFAC-D. Para tal, no Capítulo 5 foi feita uma breve revisão da literatura sobre os algoritmos de roteamento baseados no comportamento das formigas, e, no Capítulo 6, propões-se o MARS (Memoryless Ants Routing System.

O MARS, a segunda contribuição desta pesquisa, é uma nova solução de roteamento e possui em sua formulação a preocupação com aspectos tais como simplicidade, flexibilidade, segurança, resiliência e eficiência, o que o torna promissor para o problema do roteamento. Os primeiros resultados do MARS, a partir de sua implementação no NS-2 (Network Simulator versão 2) apontam um desempenho superior ao AntNet, que por sua vez apresenta desempe- nho superior aos tradicionais algoritmos de roteamento DV (Distance Vector) e LS(Link State.

Resultados ainda mais expressivos podem ser obtidos com a continuidade das investiga- ções, tanto em busca de modelos mais representativos dos comportamentos das formigas, quanto em busca de algoritmos de roteamento superiores, dados os seus contextos e aplica- ções. Seguem algumas sugestões de trabalhos futuros.

7.1 Sugestões para Estudos Futuros

• Novos experimentos com formigas em laboratório, com outros aparatos para a área de forrageio e outras dinâmicas para a introdução de obstáculos entre a fonte de alimentos e o ninho das colônias;

• Análise de sensibilidade dos parâmetros do FFAC-D e refinamento do modelo; • Estudo analítico dos sistemas dinâmicos associados ao FFAC-D e ao MARS; • Extensão do FFAC-D para otimização em domínios contínuos;

lações mais realísticas;

• Análise de sensibilidade dos parâmetros do MARS sob diferentes condições de tráfego; • Aplicação do MARS ao roteamento em redes móveis ad hoc.

Referências

[1] K. Vittori, Experimental study, modeling and implementation of ant colony behavior in a dynamic environment. Tese, Escola de Engenharia de São Carlos, Universidade de São Paulo, 2005.

[2] E. Bonabeau, M. Dorigo, & G. Theraulaz, Swarm Intelligence: From Natural to Ar- tificial Systems. Oxford University Press, New York, 1999.

[3] K. R. Popper,A lógica da pesquisa científica. São Paulo: Cultrix, 1972.

[4] S. Hildebrandt & A. Tromba, The Parsimonious Universe. Copernicus Springer-

Verlag, New York,Inc., 1996.

[5] J. Kennedy, R. C. Eberhart, & Y. Shi,Swarm intelligence. Morgan Kaufmann Press,

San Francisco, 2001.

[6] S. Camazine, J.-L. Deneubourg, F. N., S. Sneyd, E. Bonabeau, & G. Theraulaz, Self- organisation in Biological Systems. Princeton University Press., 2001.

[7] H. Haken,Synergetics. Springer-Verlag., 1977.

[8] G. Nicolis & I. Prigogine, Self-organization in Non-equilibrium Systems. Wiley.,

Documentos relacionados