universidade federal do abc -...
TRANSCRIPT
Universidade Federal do ABC
Pos-Graduacao em Ciencia da Computacao
Rodrigo Izidoro Tinini
AGENDAMENTO E RESERVA FUTURA DE CAMINHOS OPTICOS EM
AMBIENTES DE LAMBDA GRID POR MEIO DE OTIMIZACAO POR COLONIA
DE FORMIGAS
Dissertacao
Santo Andre - SP
2014
Pos-Graduacao em Ciencia da Computacao
Dissertacao de Mestrado
Rodrigo Izidoro Tinini
AGENDAMENTO E RESERVA FUTURA DE CAMINHOS OPTICOS EM
AMBIENTES DE LAMBDA GRID POR MEIO DE OTIMIZACAO POR COLONIA
DE FORMIGAS
Trabalho apresentado como requisito parcial para
obtencao do tıtulo de Mestre em Ciencia da Com-
putacao, sob orientacao do Prof. Dr. Gustavo
Sousa Pavani e coorientacao do Prof. Dr. Luiz
Gustavo Bizarro Mirisola.
Santo Andre - SP
2014
Este exemplar foi revisado e alterado em relacao a versao original,
de acordo com as observacoes levantadas pela banca no dia da
defesa, sob responsabilidade unica do autor e com a anuencia de
seu orientador.
Santo Andre, 29 de Outubro de 2014.
Assinatura do autor:
Assinatura do orientador:
Rodrigo Izidoro Tinini
AGENDAMENTO E RESERVA FUTURA DE CAMINHOS OPTICOS EM
AMBIENTES DE LAMBDA GRID POR MEIO DE OTIMIZACAO POR COLONIA
DE FORMIGAS
Essa Dissertacao foi julgada e aprovada para a obtencao do grau de Mestre em Ciencia
da Computacao no curso de Pos-Graduacao em Ciencia da Computacao da Universidade
Federal do ABC.
Santo Andre - SP - 2014
Prof. Dr. Ronaldo Prati
Coordenador do Curso
BANCA EXAMINADORA
Presidente: Prof. Dr. Gustavo Sousa Pavani
Prof. Dr. Darli Augusto de Arruda Mello
(FEEC/UNICAMP)
Prof. Dr. Divanilson Rodrigo Campelo (UFPE)
Suplente
Prof. Dr. Luiz Henrique Bonani
(CECS/UFABC)
Prof. Dr. Luiz Gustavo Bizarro Mirisola (ITA)
Suplente
“Eis que venho sem demora; guarda o que tens, para que ninguem tome a tua coroa.”
Apoc. 3:11
“Combati o bom combate, acabei a carreira, guardei a fe.
Desde agora, a coroa da justica me esta guardada, a qual o Senhor, justo juiz,
me dara naquele dia; e nao somente a mim, mas tambem a todos os que amarem a sua
vinda.”
2Tim. 4:7,8
Agradecimentos
A Deus, por ter tido misericordia de mim. Por ter me dado forcas e me ajudado a
completar esta missao. Se nao fosse por Seu auxılio, nunca teria chegado ate aqui. Se nao
fosse por Seu auxılio, nunca teria conhecido a verdadeira Felicidade e encontrado paz no
mundo. Nada eu seria, apenas alguem infeliz, mas por Sua eterna misericordia, alcancei
bem-aventuranca e Nele me regozijo.
A meus pais e minha irma, por toda a educacao e esforco que tiveram para comigo,
por terem sempre me dado forcas e me guiado em minha vida. Por cada abraco e consolo
nos momentos difıceis. Este trabalho nao e meu, e de voces. Sem voces eu nao seria nada
e nunca teria chegado ate aqui. Amo voces. Voces sao a minha vida. Voces sao tudo para
mim.
A meus avos, por todo o amor e boa criacao. Os srs. sao parte fundamental da
minha vida. Sem voces eu tambem nao seria nada. Amo voces.
A meus tios e tias, por terem sempre sido meus amigos, me aconselhado e me feito
companhia em momentos difıceis. Cada momento com voces foi mais uma carga de forca
que eu recebia para continuar caminhando. Obrigado pelo apoio quando por dentro eu
chorava achando que nao iria conseguir. Amo voces.
E novamente a meus pais. Amo voces. Sem voces eu nao seria e nao sou nada. Se
algum dia eu chegar a ser 1% do que voces sao, eu serei completo. Voces sao tudo para
mim. Amo voces.
A meus pequenos e grandes primos, que este trabalho algum dia possa servir de
inspiracao a voces e que voces possam sentir orgulho de mim, assim como quando crianca
eu senti orgulho dos pais de voces.
A meus amigos, que em todo momento tambem estiveram comigo e sempre me
acompanharam em todas nossas empreitadas tomadas durante o desenvolvimento deste
trabalho.
Ao Prof. Dr. Gustavo Sousa Pavani, meu orientador, pela orientacao, apoio e
todo conhecimento passado a mim durante o desenvolvimento deste trabalho. Obrigado
pela oportunidade concedida, por toda a ajuda e paciencia durante esta jornada, por
iv
sempre ter sido pronto a ouvir e solucionar minhas duvidas, pelo crescimento academico
proporcionado a mim por meio da pesquisa realizada e por me influenciar ainda mais no
sonho da carreira academica.
Ao Prof. Dr. Luiz Gustavo Bizarro Mirisola, pela coorientacao e apoio durante este
trabalho.
A Universidade Federal do ABC, pelo auxılio financeiro concedido para o desenvol-
vimento deste trabalho.
Ao Conselho Nacional de Desenvolvimento Cientıfico e Tecnologico (CNPq), a Fun-
dacao de Amparo a Pesquisa do Estado de Sao Paulo (FAPESP) e ao INCT de Fotonica
para Comunicacoes Opticas (FOTONICOM) pelo suporte financeiro.
ResumoPor conta da grande demanda por computacao de alto desempenho, maiores taxas
de envio de dados e disponibilidade de recursos de um ambiente de computacao em grade,este trabalho apresenta um estudo realizado sobre o uso de redes opticas que operam comMultiplexacao por Divisao de Comprimento de Onda (Wavelength Division Multiplexing(WDM)) no suporte a grades computacionais, cujo ambiente e chamado de lambda grid.Assim, e proposto neste trabalho uma nova arquitetura de lambda grid capaz de ampliara disponibilidade de seus recursos computacionais e de rede, por meio da insercao de umsuporte a reserva futura destes recursos, ampliando a disponibilidade da grade a temposfuturos e nao apenas a tempos correntes de operacao.
Para o gerenciamento desse ambiente, foi proposto o uso de um algoritmo baseadoem Otimizacao por Colonia de Formigas (Ant Colony Optimization (ACO)) integrado aoplano de controle Generalized Multi-Protocol Label Switching (GMPLS), o qual e capazde gerenciar dinamicamente e de forma conjunta os recursos de processamento e de rede,alem de prover os mecanismos de agendamento e de reserva futura desses recursos.
A arquitetura proposta, juntamente com os demais algoritmos desenvolvidos, foi tes-tada e validada por meio de simulacoes. Os resultados das simulacoes permitiram a avali-acao do desempenho da nova arquitetura e da necessidade de se incorporar o agendamentoconjunto com reserva futuras na execucao da tarefas e na alocacao dos comprimentos deonda na rede optica para se obter a minimizacao da probabilidade de bloqueio.
Palavras Chave: Redes Opticas, Computacao em Grade, Lambda Grid, Otimi-zacao por Colonia de Formigas, Plano de Controle GMPLS.
AbstractDue to the increasing demand of high-performance computing, higher data transport
rates and the availability of the resources on a grid computing environment, this workpresents a study of the use of Wavelength Division Multiplexing (WDM) optical networkson the support of grid computing, whose environment is known as lambda grid. It isproposed in this work a new architecture of lambda grid which is capable of increasingthe availability of its network and computing resources by the use of an advance reservationapproach, which makes the grid able to offer its resources in future times of operation andnot only in the current time.
For the management of this environment, it was proposed the use of an Ant ColonyOptimization (ACO) based algorithm integrated to the Generalized Multi-Protocol LabelSwitching (GMPLS) control plane, which is capable to dynamically manage the serverand network resources, in addition to provide the co-scheduling and advance reservationof those resources.
The proposed architecture and algorithms were tested and evaluated by means ofsimulations. The obtained results allowed the evaluation of the performance of the newarchitecture and the need to incorporate the co-scheduling of server and optical networkresources in their advance reservation in order to minimize the blocking probability.
Keywords: Optical Networks, Grid Computing, Lambda Grid, Ant Colony Opti-mization (ACO), GMPLS control plane.
Sumario
Resumo & Abstract v
Lista de Figuras ix
Lista de Tabelas xi
Acronimos xiii
1 Introducao 1
1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Organizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Redes opticas e GMPLS 9
2.1 MPLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Comutacao por rotulos pelo plano de controle MPLS - Label Switching 13
2.2 GMPLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 Sinalizacao e reserva de recursos por meio de mensagens RSVP-TE 17
3 Computacao em grade 23
3.1 Lambda Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Reserva futura de recursos em lambda grids . . . . . . . . . . . . . . . . . 26
3.2.1 Uma abordagem baseada em timeslots . . . . . . . . . . . . . . . . 26
3.2.1.1 Timeslots dinamicos e estaticos . . . . . . . . . . . . . . . 27
3.2.2 Granularidade dos timeslots e complexidade do gerenciamento dosistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.3 Requisicoes para o futuro . . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Alocacao e execucao de tarefas com diferentes classes de servico . . . . . . 32
4 Otimizacao por colonia de formigas 33
viii SUMARIO
4.1 Princıpios basicos do algoritmo . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2 Caracterısticas das formigas artificiais . . . . . . . . . . . . . . . . . . . . . 35
4.3 Estruturas de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4 Execucao do algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5 Determinacao do destino do anycast . . . . . . . . . . . . . . . . . . . . . . 43
4.6 Tratamento para bloqueio de recursos de rede por meio de crankback . . . 44
5 Arquitetura para agendamento e execucao futura de tarefas 47
5.1 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2 Extensoes ao algoritmo de reserva imediata de recursos . . . . . . . . . . . 48
5.3 A arquitetura proposta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.3.1 Escalonamento futuro de recursos . . . . . . . . . . . . . . . . . . . 50
5.3.2 O sistema de timeslots . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.3.3 Polıticas de reserva de recursos . . . . . . . . . . . . . . . . . . . . 52
5.3.4 A Sinalizacao RSVP-TE com extensoes para o futuro . . . . . . . . 53
5.3.5 Descricao dos algoritmos propostos de sinalizacao RSVP-TE . . . . 57
6 Simulacao 65
7 Resultados 69
8 Conclusao 77
Referencias Bibliograficas 79
Lista de Figuras
2.1 Exemplo da multiplexacao por comprimentos de onda. . . . . . . . . . . . 10
2.2 Exemplo de pacotes sendo comutados por seus rotulos. . . . . . . . . . . . 14
2.3 Datagrama IP contendo uma mensagem RSVP-TE. . . . . . . . . . . . . . 19
2.4 Interior de uma mensagem RSVP-TE Path. . . . . . . . . . . . . . . . . . 20
2.5 Exemplo da sinalizacao RSVP-TE. . . . . . . . . . . . . . . . . . . . . . . 21
3.1 Exemplo de timeslot estatico. Cada timeslot tem o mesmo tamanho. . . . 28
3.2 Exemplo de timeslot dinamico. Cada timeslot tem um tamanho diferente. . 28
3.3 Nenhuma reserva realizada, todo o tempo da janela deslizante esta disponıvel. 29
3.4 Exemplo de 2 reservas realizadas, 2n+ 1 timeslots a serem gerenciados. . . 29
3.5 Tarefa alocada em tempo futuro. . . . . . . . . . . . . . . . . . . . . . . . 30
3.6 Tarefa alocada em tempo futuro maleavel. Tempo de inıcio e variavel. . . . 31
3.7 Tarefa alocada no mesmo tempo corrente de operacao. . . . . . . . . . . . 31
4.1 Memoria da formiga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2 Exemplo da tabela de roteamento por feromonio. . . . . . . . . . . . . . . 37
4.3 Exemplo do modelo parametrico estatıstico para o no 4. . . . . . . . . . . . 38
4.4 Exemplo do vetor de disponibilidade futura para o no 4 e classe de servicoHigh Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5 Requisicao utilizando-se de crankback. . . . . . . . . . . . . . . . . . . . . . 45
5.1 Vetor de estado futuro do servidor. Timeslots reservados para cada pro-cessador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2 Vetor de estado futuro dos comprimentos de onda. Timeslots reservadospara cada comprimento de onda de um enlace. . . . . . . . . . . . . . . . . 51
5.3 Reserva de um timeslot segundo a polıtica First-Fit (FF). . . . . . . . . . 52
5.4 Reserva de um timeslot segundo a polıtica Earliest Start Time (EST). . . 53
5.5 Reserva de um recurso computacional e da rede segundo o algoritmo dereserva futura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
x LISTA DE FIGURAS
5.6 Reserva de um recurso computacional e da rede segundo o algoritmo dereserva futura com relaxamento. . . . . . . . . . . . . . . . . . . . . . . . . 57
5.7 Algoritmo de sinalizacao de reserva futura. . . . . . . . . . . . . . . . . . . 62
5.8 Algoritmo de sinalizacao de reserva futura com relaxamento. . . . . . . . . 63
6.1 Backbone NSFNet utilizado na simulacao. . . . . . . . . . . . . . . . . . . 66
7.1 Probabilidade de bloqueio sob diferentes cargas de trabalho para as dife-rentes polıticas de escolha de no e reserva de recursos para o algoritmo dereserva futura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
7.2 Probabilidade de bloqueio sob diferentes cargas de trabalho para as dife-rentes polıticas de escolha de no e reserva de recursos para o algoritmo dereserva futura com relaxamento no envio de dados. . . . . . . . . . . . . . 70
7.3 Probabilidade de bloqueio sob diferentes cargas de trabalho para as dife-rentes polıticas de escolha de no e reserva de recursos para o algoritmo dereserva futura com relaxamento no envio de dados em escala logarıtmica. . 71
7.4 Probabilidade de bloqueio para diferentes tamanhos de timeslot. . . . . . . 72
7.5 Comparacao dos algoritmos de reserva futura propostos com o algoritmode reserva imediata com 4 comprimentos de onda por enlace. . . . . . . . . 73
7.6 Comparacao dos algoritmos em um ambiente com 3 comprimentos de ondapor enlace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.7 Comparacao dos algoritmos em um ambiente com 5 comprimentos de ondapor enlace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
7.8 Comparacao dos algoritmos para diferentes quantidades de processadores. . 75
Lista de Tabelas
2.1 Mensagens Abstratas e respectivas mensagens RSVP-TE . . . . . . . . . . 18
6.1 Parametros utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Lista de Acronimos
ACO Ant Colony Optimization
CWDM Coarse Wavelength Division Multiplexing
DWDM Dense Wavelength Division Multiplexing
EST Earliest Start Time
FF First-Fit
G2MPLS Grid Generalized Multi-Protocol Label Switching
GMPLS Generalized Multi-Protocol Label Switching
IETF Internet Engineering Task Force
IP Internet Protocol
LFIB Label Forwarding Information Base
LMP Link Management Protocol
LSR Label Switching Router
LSP Label Switched Path
MPLS Multiprotocol Label Switching
MPλS Multiprotocol Lambda Switching
OSPF-TE Open Shortest Path First
OXC Optical Cross Connect
RSVP-TE ReSerVation Protocol Traffic Engineering
RWA Routing and Wavelength Assignment
TDM Time Division Multiplexing
VPN Virtual Private Network
WDM Wavelength Division Multiplexing
Capıtulo 1
Introducao
Estudos realizados durante a decada de 90 visavam alcancar grande poder compu-
tacional por meio da utilizacao conjunta de diversos recursos computacionais geografi-
camente distribuıdos. Este esforco foi o que deu inıcio ao surgimento da computacao
em grade, em ingles, grid computing. O nome grid computing foi utilizado por Ian Fos-
ter (Universidade de Chicago) e Carl Kesselman (Universidade do Sul da California) [1]
para designar este modelo computacional, baseando-se em outras redes, como as redes
de distribuicao de energia eletrica, ou power grids. Um modelo de computacao em grade
possibilita grandes poderes computacionais por meio do uso conjunto de diversos recursos
geograficamente distribuıdos, porem interconectados.
Os elementos que constituem um ambiente de grade computacional sao os seguintes
[1]:
Recursos fısicos: Sao os sistemas de armazenamento e processamento a serem
compartilhados e as respectivas conexoes de rede que envolvem o compartilhamento
dos recursos ao longo de toda a grade. A grade deve possuir protocolos e mecanismos
que permitam a utilizacao deses recursos.
Servicos: Sao protocolos que sao implementados em cada no da grade. Incluem
protocolos como os de comunicacao, autenticacao e administracao, que negociam
acesso aos recursos e disponibilizam informacoes acerca do estado do recurso.
2 Introducao
Infraestrutura: E definida pelo software responsavel por unificar todos os nos da
grade em um unico sistema. Possui protocolos globais e servicos coletivos especıficos
que conectam usuarios e aplicacoes a infraestrutura comum da grade. Os servicos
coletivos incluem alocacao de recursos, monitoramento e diagnostico, polıticas de
acesso, espelhamento de dados, etc.
Aplicacoes: Representam o software responsavel por estabelecer a conexao com
o usuario final da grade. Sao de fato, os softwares que oferecem transparentemente
ao usuario todo o poder da grade.
As grades computacionais envolvem a conexao de diversas redes e um ambiente
como esse pode ser construıdo com o suporte de diversos tipos de redes de transporte.
Neste contexto, as redes opticas sao redes de transporte que proporcionam grande de-
sempenho em relacao ao envio de dados. Uma tecnologia de rede de transporte que pode
ser usada neste cenario sao as redes que trabalham com a Multiplexacao por Divisao de
Comprimento de Onda (Wavelength Division Multiplexing (WDM)), que possuem como
mecanismo a multiplexacao do comprimento de onda na fibra optica. Dessa maneira,
diversos sinais opticos sao enviados por uma unica fibra em uma mesma transmissao.
Em redes WDM, quando um determinado no origem deseja realizar uma transmissao
para determinado no destino, um comprimento de onda deve ser reservado nos enlaces
e um caminho optico deve ser estabelecido para que a transmissao dos dados possa ser
feita. Quando do estabelecimento de um caminho optico, os recursos de rede necessarios
sao reservados para tal, para que nenhum outro caminho seja estabelecido utilizando-se
daqueles recursos. E neste ponto que esta um dos principais problemas relacionados as
redes WDM, que e conhecido como Roteamento e Alocacao de Comprimento de Onda (
Routing and Wavelength Assignment (RWA)) [2]. Os problemas referentes a roteamento
(R) dizem respeito as decisoes a serem tomadas quando uma rota deve ser calculada em
uma rede, levando em conta qual o melhor caminho a ser escolhido dentre as diversas
opcoes disponıveis. Ja os problemas referentes a Alocacao de Comprimento de Onda
(WA) dizem respeito a escolha de um comprimento de onda que esteja disponıvel em
3
todos os enlaces de um caminho optico a ser estabelecido. Durante o estabelecimento de
um caminho optico entre um no origem e um no destino, se ha restricao da continuidade
de comprimentos de onda, isto e, um mesmo comprimento de onda nao esta disponıvel
em todos os enlaces, pela ausencia de conversores ao longo do caminho, o caminho optico
nao pode ser estabelecido pois o mesmo comprimento de onda deve ser reservado em
todos os enlaces entre um no origem e um no destino. Da mesma maneira, um mesmo
comprimento de onda nao pode ser partilhado por dois caminhos opticos diferentes, o que
causa a restricao de colisao de comprimento de onda.
Como os comprimentos de onda a serem alocadas sao limitados, pode ocorrer a falta
destes recursos, fazendo com que a requisicao de estabelecimento de caminho optico que
esta sendo processada na rede seja bloqueada. Mediante tal situacao, e necessario que
no ambiente da rede exista algum mecanismo de gerenciamento que possa controlar os
recursos e suas disponibilidades e tambem a operacao da grade em geral.
O gerenciamento da grade pode ocorrer de duas maneiras, centralizado ou distri-
buıdo. Se o gerenciamento for centralizado, toda a operacao da grade e monitorada e
gerenciada por um controlador central responsavel por manter todos os nos da rede. Este
controlador realiza as operacoes da rede baseando-se nas informacoes de estado de rede
que ele mantem consigo, referente a todos os nos. Neste contexto, as requisicoes de servico
sao processadas de maneira sequencial, o que nao ocorre com um controlador distribuıdo,
pois o gerenciamento da rede neste caso ocorre em cada no, e as requisicoes sao proces-
sadas concorrentemente. As operacoes realizadas por cada no sao feitas com base em
informacoes que o proprio no mantem. Neste caso, a visao global do estado da rede esta
espalhada pelos nos.
Para o gerenciamento distribuıdo de redes opticas existe um padrao chamado de
Generalized Multi-Protocol Label Switching (GMPLS) [3]. O padrao GMPLS e um plano
de controle que, alem de gerenciar redes opticas comutadas por comprimento de onda,
realiza o gerenciamento heterogeneo de diversos outros tipos de tecnologia de rede, tanto
de dados como de transporte.
4 Introducao
O plano de controle GMPLS possui protocolos responsaveis pelo estabelecimento
de caminhos opticos e gerenciamento dos recursos da rede (o proprio comprimento de
onda). O protocolo utilizado para o estabelecimento de caminhos opticos e o protocolo
ReSerVation Protocol Traffic Engineering (RSVP-TE), responsavel por realizar sinaliza-
cao entre os nos pertencentes a rota de estabelecimento de um caminho optico a fim de
alocar recursos necessarios para o estabelecimento da conexao optica.
O calculo de um caminho optico e especıfico do equipamento ou da rede. Um metodo
bastante promissor para o calculo de rotas em ambientes gerenciados por GMPLS e o uso
da metaheurıstica Otimizacao por Colonia de Formigas (Ant Colony Optimization (ACO))
[4].
Algoritmos baseados em ACO sao utilizados para a resolucao de problemas relaci-
onados a roteamento. O plano de controle GMPLS possui um protocolo responsavel por
realizar roteamento. Porem, como mostrado em trabalhos anteriores [5], o uso de algo-
ritmos baseados em ACO em um plano de controle GMPLS para o aprovisionamento de
caminhos opticos mostra-se bastante promissor. Algoritmos baseados em ACO baseiam-se
no comportamento de formigas reais em suas buscas por alimento fora de suas colonias.
Quando as formigas saem das colonias para buscar alimento, depositam no solo durante
o trajeto uma substancia quımica chamada de feromonio para marcar seu caminho. Esta
substancia e sentida pelas outras formigas que estao buscando alimento. As formigas sen-
tem o feromonio e tendem a seguir por caminhos onde esta substancia esteja depositada.
Dessa maneira, uma rota e criada em decorrencia do deposito do feromonio. Esta comu-
nicacao realizada entre as formigas e chamada de estigmergia e este tipo de inteligencia
e comportamento das formigas em depositar o feromonio e em tomar decisoes com base
nas medidas locais depositadas por outros agentes e chamado de Inteligencia de Enxame
(Swarm Intelligence) [6]. A estigmergia e o mote principal para o desenvolvimento de um
algoritmo baseado em ACO, pois por meio da criacao de rotas pela quantidade de feromo-
nio depositada no solo, este comportamento e modelado computacionalmente pelo ACO
para realizar tomadas de decisoes acerca de roteamento pela rede, utilizando o feromonio
como metrica para escolha de um proximo hop de um pacote enviado em uma rede.
1.1 Motivacao 5
1.1 Motivacao
O uso conjunto de uma grade computacional suportada por uma rede WDM resulta
no ambiente que chamamos de lambda grid. O nome remete a forma como as conexoes
opticas sao estabelecidas, por meio da reserva de comprimento de onda (lambda(λ)) e
como o trafego e tratado (fluxos de dados sao enviados utilizando-se dos lambdas reser-
vados). Um lambda grid tambem possibilita que seus usuarios e aplicacoes realizem o
estabelecimento e encerramento de caminhos opticos sob demanda.
Basicamente, um ambiente de lambda grid e formado por nos usuarios consumidores
de processamento e nos provedores de recursos computacionais.
Pela perspectiva do RWA, o lambda grid se diferencia de redes opticas normais
comutadas por comprimento de onda por nao ter como meta estabelecer uma conexao
entre um no origem e um no destino, mas sim entre um no usuario e um recurso presente
em um no provedor de recursos, que deve ser descoberto e conectado, isto e, roteado.
O processo de descoberta de um recurso no lambda grid apto para a execucao de uma
tarefa e estabelecimento de uma conexao optica entre um no usuario e um no provedor
de recursos e chamado de roteamento anycast [7]. O roteamento anycast preve a conexao
entre o no usuario e o provedor de recursos, sendo este provedor de recursos qualquer no
da rede capaz de atender a requisicao do no usuario. Em outras palavras, qualquer no
provedor de recursos pode ser escolhido para o atendimento de uma requisicao de servico.
A grosso modo, apos realizar a descoberta de um recurso em um no provedor da rede, o
roteamento anycast e reduzido a um algoritmo de RWA para o estabelecimento da conexao
optica.
No gerenciamento de um lambda grid, ha um fator complicador: os recursos da
rede devem ser controlados e reservados da mesma forma que os recursos computacionais,
pois na abordagem do lambda grid em que usuarios estabelecem caminhos opticos sob
demanda, a rede e seus recursos nao sao mais considerados estaticos. Assim, o escalonador
de tarefas do lambda grid deve ser responsavel por gerenciar os recursos da rede quando
realiza a alocacao de tarefas nos nos provedores da grade.
6 Introducao
Em algoritmos baseados em ACO, descoberta de recursos e roteamento se encontram
associados, pois uma rota entre um no origem e um no destino e determinada pelos nıveis
de feromonio na rede apos a descoberta de um recurso. Dessa forma, integrado a um plano
de controle GMPLS, um algoritmo de ACO pode prover o gerenciamento dos recursos
computacionais e de rede do lambda grid ao mesmo tempo em que e responsavel pela
descoberta e selecao de recursos e alocacao de tarefas [5, 8].
Apesar do algoritmo de ACO integrado ao plano de controle GMPLS ser capaz
de gerenciar apropriadamente o lambda grid [5], o plano de controle GMPLS nao possui
suporte nativo a reservas futuras de recursos, apenas realiza reservas imediatas de recursos
da rede.
Este trabalho tem como objetivo permitir a execucao futura de tarefas em lambda
grids, de modo que seja possıvel a reserva futura de recursos computacionais e de rede.
Assim, recursos computacionais e de rede sao oferecidos para uso em tempos futuros,
permitindo que o estabelecimento de conexoes opticas, a transmissao de dados e o proces-
samento de tarefas nao sejam apenas realizados nos momentos de chegada de requisicoes
de servico no lambda grid, mas tambem em tempos futuros.
1.2 Objetivos
O objetivo deste trabalho e a aplicacao do algoritmo de otimizacao por colonia de
formigas para o aprovisionamento de caminhos opticos e descoberta e reserva de recursos
para o atendimento de tarefas com execucao futura em um ambiente de lambda grid
gerenciado por um plano de controle GMPLS. Em especıfico, buscar-se-a:
• Agendamento de caminhos opticos para tempos futuros atraves do algoritmo de
otimizacao por colonia de formigas.
• Integracao do algoritmo de ACO ao plano de controle GMPLS com vistas no
agendamento futuro de tarefas.
1.3 Organizacao 7
• Desenvolvimento das extensoes necessarias ao protocolo de sinalizacao RSVP-TE
para o suporte das reservas futuras de recursos no ambiente de lambda grid.
• Escalonamento e reserva futura dos recursos computacionais e de rede atraves
das extensoes propostas neste trabalho.
• Uso do mecanismo de crankback para a diminuicao da taxa de bloqueios de
requisicoes por escassez de recursos de rede.
1.3 Organizacao
Este trabalho esta organizado seguindo-se os seguintes capıtulos:
Capıtulo 1: Introducao ao trabalho e apresentacao do escopo.
Capıtulo 2: Contextualizacao das redes opticas e apresentacao do plano de con-
trole GMPLS.
Capıtulo 3: Apresentacao do modelo computacional de computacao em grade e
do ambiente de lambda grid e suas caracterısticas.
Capıtulo 4: Apresentacao do algoritmo de Otimizacao por Colonia de Formigas
utilizado neste trabalho e do mecanismo de crankback utilizado para novos rotea-
mentos utilizando-se dos nıveis de feromonio do algoritmo de ACO.
Capıtulo 5: Apresentacao da arquitetura de lambda grid proposta neste traba-
lho e das extensoes desenvolvidas para a sinalizacao RSVP-TE prover suporte a
agendamento futuro.
Capıtulo 6: Apresentacao da simulacao realizada para validacao da arquitetura
de lambda grid e dos algoritmos propostos neste trabalho.
Capıtulo 7: Apresentacao dos resultados da simulacao e comparacao com resul-
tados de trabalhos anteriores.
8 Introducao
Capıtulo 8: Conclusao do trabalho realizado.
Capıtulo 2
Redes opticas e GMPLS
Redes opticas sao redes de transporte que operam por meio da transmissao de dados
em feixes de luz atraves de fibras opticas. A fibra optica e um guia de onda dieletrico
constituıdo de um nucleo e uma casca, ambos feitos de sılica, alem de uma capa de plastico
que ajuda a melhorar suas caracterısticas mecanicas [9]. Os dados sao transmitidos atraves
de seu nucleo por meio de optica geometrica, sendo os feixes de luz refletidos de uma
extremidade da fibra ate a outra, alem da casca da fibra optica tambem ser responsavel por
transmitir uma parte da energia. Utilizando-se desta tecnologia de transmissao de dados
existe a rede WDM, que e uma rede de transporte optica que permite a multiplexacao
por comprimento de onda. Isto possibilita que em uma transmissao possam ser enviados
diversos fluxos de dados em uma mesma fibra optica para diferentes receptores, conforme
ilustra a Figura 2.1. Isto e feito dividindo os fluxos de dados a serem enviados em diferentes
comprimentos de onda. Cada comprimento de onda em uma transmissao possui um fluxo
de dados proprio, um transmissor e um receptor. Quando um comutador central recebe
os dados que foram enviados, ele deve ser capaz de rotear cada comprimento de onda para
seu respectivo destino. A multiplexacao por comprimento de onda consiste na codificacao
dos sinais opticos em diferentes frequencias opticas. Dessa maneira, cada comprimento de
onda forma um canal optico distinto dos outros canais opticos presentes na mesma fibra
optica.
A multiplexacao por comprimento de onda permite uma alta taxa de envio de dados,
10 Redes opticas e GMPLS
ao visto que cada comprimento de onda possa transmitir dados na ordem de varios Gb/s,
o que pode possibilitar a fibra uma taxa de transmissao na ordem de Tb/s.
Existem dois tipos de tecnologia WDM, chamadas de Coarse Wavelength Division
Multiplexing (CWDM) e Dense Wavelength Division Multiplexing (DWDM) [10]. A dife-
renca entre elas esta na quantidade de comprimentos de onda disponıveis para multiplexa-
cao na fibra optica. A quantidade dos comprimentos de onda e definida pelas frequencias
adotadas para cada comprimento de onda e disposta em listas de frequencia chamadas
de grids. Um grid prove uma lista de comprimentos de onda uniformemente espacados
entre si. Em redes CWDM, um grid possui 18 comprimentos de onda com um espaca-
mento de 2500 GHz (20 nm) entre cada comprimento de onda. Na tecnologia DWDM,
existem grids com espacamentos de 100, 50 ou ate mesmo 25 GHz, o que torna possıvel
um numero muito maior de comprimentos de onda disponıveis. Equipamentos DWDM
comerciais com capacidade de mais de 100 comprimentos de onda podem ser encontrados
e o uso de mais de 300 comprimentos de onda nessa tecnologia ja foi demonstrado [10].
Figura 2.1: Exemplo da multiplexacao por comprimentos de onda.
As redes opticas podem ser classificadas em 3 tipos [9]: Redes de longa distancia,
Metropolitanas e Redes de acesso. As Redes de longa distancia sao redes que cobrem
grandes distancias, operando a nıveis globais, entre paıses e tambem conectando conti-
11
nentes. Redes Metropolitanas operam em nıveis metropolitanos, realizando conexoes de
cidades e ambientes metropolitanos. Por fim, as Redes de acesso realizam a conexao entre
o usuario e redes globais atraves de redes metropolitanas.
As redes opticas tambem possuem equipamentos especıficos para sua operacao e que
constituem a sua arquitetura [9]:
Terminais de linha optica: Responsaveis por converter um sinal de usuario em
um sinal de transmissao optica, atraves de um transponder.
Amplificador optico: Responsaveis por amplificar os sinais opticos durante sua
transmissao em certos pontos da topologia da rede em decorrencia da atenuacao
sofrida pelos sinais opticos durante sua transmissao na fibra.
Multiplexadores opticos: Responsaveis por multiplexar os comprimentos de
onda a serem utilizados na transmissao e por demultiplexa-los nos receptores.
Comutadores opticos (Optical Cross Connect (OXC)): Responsaveis por co-
mutarem os comprimentos de onda de entrada e de saıda. E capaz de receber um
comprimento de onda em uma interface de entrada e comuta-lo para sua interface
apropriada de saıda.
Uma rede optica necessita do gerenciamento de suas operacoes por meio de um
plano de controle apropriado. O padrao GMPLS prove um plano de controle comum
para o gerenciamento de diferentes tecnologias de rede, fazendo com que os equipamentos
pertencentes a diferentes redes de diferentes tecnologias possam trabalhar conjuntamente
sem problemas. Uma das caracterısticas chave do GMPLS e o uso da comutacao por
rotulos, que sao identificadores utilizados para determinar a escolha do proximo hop de
um fluxo de dados que esta sendo enviado pela rede.
O conceito de rotular um pacote para determinar a sua comutacao oriunda do plano
de controle Multiprotocol Label Switching (MPLS). O GMPLS pode ser categorizado
como uma evolucao do MPLS, e por esse motivo e apresentado a seguir o plano de controle
MPLS.
12 Redes opticas e GMPLS
2.1 MPLS
O MPLS foi desenvolvido pela Forca Tarefa de Engenharia da Internet (Internet
Engineering Task Force (IETF)) [10]. O MPLS e uma tecnologia de encaminhamento de
dados que consiste no uso de rotulos que sao usados para o encaminhamento de pacotes
por determinados caminhos na rede para determinados nos destino.
Suas origens remontam as tecnologias de comutacao de pacotes Internet Proto-
col (IP) na decada de 90. O desenvolvimento do padrao MPLS surgiu com as tentativas
de se desenvolver uma nova tecnologia de comutacao de pacotes, tendo em vista alguns
problemas referentes a comutacao de pacotes IP, relacionados a velocidade e escalabili-
dade. Os padroes e protocolos do MPLS comecaram a ser desenvolvidos por um grupo
chamado MPLS Working Group, formado dentro do IETF.
Ao passo que a comutacao de pacotes IP e feita utilizando-se de um endereco atrelado
a cada pacote usado para se determinar qual sera o proximo hop do caminho do pacote,
juntamente com o auxılio de uma tabela de roteamento, a comutacao do padrao MPLS
se utiliza de um rotulo em cada pacote que determina o proximo hop a ser escolhido.
Conforme sera apresentado a seguir, o processo de escolha do proximo hop pela comutacao
por rotulos acarreta na tomada de duas decisoes: a escolha de um caminho de preferencia
para aquele pacote e o encaminhamento daquele pacote para um switch especıfico, apto
a recebe-lo.
O MPLS tambem pode trabalhar com redes ATM e Frame Relay. Como essas redes
sao baseadas em comutacao, nao ha necessidade de rotular as celulas ou quadros com o
rotulo especıfico do MPLS (shim header, apresentado a seguir), pois o MPLS utiliza os ja
presentes campos VPI/VPC em redes ATM e DLCI em redes Frame Relay como rotulo
para realizar comutacao.
O GMPLS e uma evolucao do MPLS, ao passo que utiliza o conceito do encami-
nhamento MPLS em tecnologias nao baseadas em pacotes, como redes WDM e redes de
Multiplexacao por Divisao de Tempo (Time Division Multiplexing (TDM)).
2.1 MPLS 13
2.1.1 Comutacao por rotulos pelo plano de controle MPLS -
Label Switching
O MPLS prove por meio da colocacao de um rotulo em cada pacote, uma informacao
que e usada pelos nos da rede para decidirem qual o proximo hop de um pacote recebido.
Em uma abordagem baseada em MPLS, dois termos devem ser apresentados para a
familiarizacao do processo de comutacao:
Roteador Comutador de Rotulos (Label Switching Router (LSR)): Quando
um switch e capaz de comutar pacotes de acordo com seus rotulos, ele e um LSR.
Caminho Comutado por Rotulo (Label Switched Path (LSP)): Um LSP
e o caminho que um pacote MPLS percorre pela rede.
O rotulo funciona como um identificador que diz para cada LSR da rede para qual
LSP um dado pacote deve ser enviado e qual LSR deve recebe-lo. Em cada pacote MPLS
e colocado entre o cabecalho de rede e o cabecalho IP um pedaco de informacao chamado
de shim header, que carrega consigo um rotulo de 20 bits. O shim header e o rotulo
propriamente dito.
Cada LSR mantem uma tabela chamada de Base de Informacao de Encaminhamento
de Rotulo (Label Forwarding Information Base (LFIB)) que e usada para determinar o
proximo hop a ser escolhido. A LFIB mantem um mapeamento de cada rotulo para
determinada interface de entrada e de cada rotulo para determinada interface de saıda.
Quando um LSR recebe um pacote, ele verifica qual foi a interface que recebeu aquele
pacote e verifica seu rotulo dentro do shim header. O LSR determina entao qual sera o
proximo hop verificando na LFIB qual o proximo destino a ser escolhido de acordo com
o rotulo do pacote e coloca um novo rotulo no shim header. De acordo com o valor do
rotulo, o LSR o envia para um determinado LSP, apto a receber pacotes com determinado
valor de rotulo.
Os pacotes sao primeiramente enviados normalmente como pacotes IP, e ao serem
recebidos por um LSR ingresso, ou seja, o primeiro LSR a receber aquele pacote, sao rotu-
14 Redes opticas e GMPLS
lados, sendo classificados de acordo com seu destino final e atribuıdos a um determinado
LSP. Os pacotes tem seu valor de rotulo trocados pelos LSRs durante seu percurso, e ao
chegarem em um LSR egresso, o shim header e descartado e os pacotes sao enviados ao
seu destino como pacotes IP tradicionais.
A Figura 2.2 ilustra esse processo.
Figura 2.2: Exemplo de pacotes sendo comutados por seus rotulos.
• O Host A envia pacotes IP para o LSR W, consultando a tabela de roteamento
ou por uma rota padrao.
• O LSR W analisa os pacotes e os rotula de acordo com seu destino final. De
acordo com cada rotulo, os pacotes seguem por um determinado LSP.
• Os pacotes que possuem como destino final o Host B sao enviados ao LSP 1 e
sao rotulados com o valor 20.
• Os pacotes que possuem o Host C como destino final sao enviados ao LSP 2 e
rotulados com valor 30.
• Ao chegarem no LSR X, os pacotes sao examinados. O LSR X verifica as interfa-
ces de entrada e os rotulos de cada pacote. O LSR X usa essas informacoes para
verificar na LFIB e determinar quais serao as interfaces de saıda e os rotulos de
saıda.
2.2 GMPLS 15
• O LSR X entao troca o rotulo dos pacotes com destino ao Host B para o valor
25 e os envia pelo LSP 3. Os pacotes com destino ao Host C recebem o novo
valor de rotulo como 35 e sao enviados pelo LSP 4.
• O LSR Y e LSR Z sao LSRs egressos. Ao receberem os pacotes e verificarem
as informacoes na LFIB sao informados para descartarem o shim header dos
pacotes e os enviarem aos destinos finais como pacotes IP padroes.
Analisando o trabalho do MPLS em construir LSPs e utiliza-los como caminhos
proprios para pacotes com determinado rotulo, pode-se dizer que o MPLS prove solucoes
de engenharia de trafego, construindo caminhos especıficos para determinados tipos de
rotulos, e tambem prove solucoes na comutacao dos pacotes, realizando uma comutacao
adequada a cada rotulo especıfico.
2.2 GMPLS
O plano de controle GMPLS nasceu dos esforcos relacionados a criacao de um padrao
que pudesse operar em redes baseadas em comutacao de pacotes e redes de transporte.
Foi observado que a tecnica de rotulamento utilizada pelo MPLS em redes comutadas
por pacotes podia ser utilizada em redes nao baseadas nessa tecnologia [10], como as redes
de transporte. Em uma rede WDM, e feita a comutacao por comprimentos de onda. A
comutacao ocorre basicamente na conversao de um comprimento de onda de entrada de
uma interface de entrada para uma interface de saıda como um comprimento de onda de
saıda, o que e similar ao processo que era realizado pelo MPLS no mapeamento da tabela
LFIB para encaminhar os pacotes para uma interface de saıda de acordo com seu rotulo.
Assim, utilizando-se dos conceitos de rotulamento para comutar comprimentos de onda,
surgiu o padrao Multiprotocol Lambda Switching (MPλS).
O nascimento do GMPLS se deu na observacao de que a tecnica utilizada no padrao
MPλS poderia tambem ser utilizada em outros tipos de rede [10]. O princıpio utilizado
na operacao de comutar comprimentos de onda por rotulos poderia ser tambem utilizado
16 Redes opticas e GMPLS
para comutar timeslots em uma rede TDM. Partindo disso, as habilidades do MPλS foram
ampliadas para que pudessem suportar conjuntamente tecnologias de rede heterogeneas.
Assim nasceu o GMPLS, provendo suporte a comutacao por pacotes, comprimento de
onda, timeslots e fibra.
O plano de controle GMPLS, assim como seu predecessor MPLS, utiliza o rotula-
mento nas tecnologias suportadas para realizar comutacao, como por exemplo, o rotula-
mento de um comprimento de onda, para comutar para um LSP especıfico o conjunto de
dados enviados naquele sinal.
Compoem o padrao, tres tipos de protocolo [10]:
Protocolo de Sinalizacao: Responsavel por realizar a sinalizacao que configura,
mantem, modifica e finaliza conexoes, que sao os LSPs propriamente ditos, no plano
de dados. Esse processo e realizado pelo envio de mensagens apropriadas pela rede.
A sinalizacao e realizada pelo protocolo RSVP-TE [11].
Protocolo de Roteamento: Responsavel por disseminar informacoes atraves da
rede para serem usadas no calculo de rotas. O protocolo responsavel pelo roteamento
no GMPLS e o protocolo OSPF-TE [12].
Gerenciamento de Enlace: Responsavel pela configuracao e manutencao dos
nos da rede, como deteccao de falhas e verificacao do estado operacional de um no.
O protocolo usado para tal e o LMP [13].
As operacoes do GMPLS ocorrem em dois nıveis distintos: o plano de controle e o
plano de dados.
E no plano de controle que operam os protocolos supracitados. Em redes de trans-
porte, como a utilizada neste trabalho, o plano de controle nao compartilha canais com o
plano de dados. O envio de mensagens pelo plano de controle pode ocorrer em um canal
de dados dedicado, ou em um lambda dedicado, em uma rede WDM. Isso ocorre porque
em redes de transportes, o envio dos dados e feito em lambdas inteiros, em timeslots in-
2.2 GMPLS 17
teiros, por exemplo, o que impede que pacotes individuais sejam distinguidos em meio a
grande quantidade de dados enviados.
Por sua vez, o plano de dados representa o nıvel em que os dados sao transmitidos,
ou seja, o plano de dados e o nıvel em que ocorre o transporte dos dados pela rede.
2.2.1 Sinalizacao e reserva de recursos por meio de mensagens
RSVP-TE
A sinalizacao GMPLS ocorre por meio do uso de mensagens RSVP-TE. Quando
um fluxo de dados deve ser enviado pela rede, e necessario que antes um caminho optico
(LSP) seja estabelecido, reservando-se os recursos de rede necessarios. Essa configuracao
e feita por meio do envio de mensagens RSVP-TE.
Segue-se a seguir cada mensagem RSVP-TE e sua funcao [11]:
Path: Responsavel por verificar a disponibilidade dos recursos necessarios para o
estabelecimento de um LSP.
Resv : Responsavel por reservar os recursos.
ResvConfirm : Responsavel por confirmar a reserva dos recursos.
PathErr : Responsavel pelo tratamento de erros na fase de verificacao dos re-
cursos. E enviada quando um erro ocorre nesta fase. Tambem e responsavel por
encerrar um LSP nesta fase da sinalizacao.
ResvErr : Responsavel pelo tratamento de erros na fase de reserva dos recursos.
E enviada quando um erro ocorre nesta fase.
PathTear : Responsavel por encerrar um LSP.
Notify : Responsavel por propagar informacao sobre o estado, em relacao ao plano
de dados, de um LSP.
18 Redes opticas e GMPLS
As mensagens acima sao implementadas com base em mensagens abstratas de si-
nalizacao definidas pelo padrao GMPLS. Esta abstracao permite uma padronizacao da
sinalizacao em um possıvel desenvolvimento de novos protocolos para tal. As mensagens
abstratas e suas respectivas mensagens RSVP-TE estao dispostas na Tabela 2.1.
Tabela 2.1: Mensagens Abstratas e respectivas mensagens RSVP-TE
Mensagem Abstrata Mensagem RSVP-TELSP Setup PathLSP Accept ResvLSP Confirm ResvConfirmLSP Upstream Error PathErrLSP Downstream Error ResvErrLSP Downstream Release PathTearLSP Upstream Release PathErrLSP Notify Notify
O protocolo RSVP-TE nao utiliza um protocolo de transporte para o envio das
mensagens. As mensagens RSVP-TE sao enviadas pela rede em datagramas IP.
Uma mensagem RSVP-TE e composta de um cabecalho chamado de Common Mes-
sage Header, que e um cabecalho comum para todas as mensagens RSVP-TE. Este
cabecalho contem o tipo da mensagem (Path, Resv, etc.) e seu tamanho. Alem deste
cabecalho, a mensagem e composta por uma serie de objetos. Cada objeto contem um
tipo especıfico de informacao, como por exemplo, informacao acerca do comprimento de
onda que deve ser alocado para o LSP, a rota que esta sendo seguida e que fara parte do
percurso abrangido pelo LSP. Estes objetos tambem possuem um campo que especifica
o tipo de informacao que ele representa.
Um objeto tambem pode ser composto de varios sub-objetos, conforme ilustra a
Figura 2.3.
A mensagem RSVP-TE tambem mantem consigo um objeto chamado de Label Set
[3], que e responsavel por armazenar os rotulos dos comprimentos de onda disponıveis
em cada enlace que a mensagem atravessa. Ele e usado para limitar as escolhas de um
rotulo para ser usado pela mensagem RSVP-TE para um conjunto de rotulos aceitaveis,
2.2 GMPLS 19
Figura 2.3: Datagrama IP contendo uma mensagem RSVP-TE.
no contexto da rede optica, comprimentos de onda disponıveis para reserva.
A cada enlace atravessado, a mensagem RSVP-TE mantem em seu Label Set os ro-
tulos dos comprimentos de onda que estao disponıveis pela rede. Assim, a cada enlace ela
atualiza seu Label Set com os rotulos ali disponıveis. Se em dado enlace os comprimentos
de onda λ1 e λ2 estiverem disponıveis, a mensagem atualiza seu Label Set com essa infor-
macao. Se no proximo enlace o comprimento de onda λ1 nao estiver mais disponıvel, a
mensagem entao atualiza seu estado no Label Set, fazendo assim com que apenas os com-
primentos de onda disponıveis em todos os enlaces possam ser utilizados pela mensagem
RSVP-TE.
A Figura 2.4 ilustra um exemplo de mensagem RSVP-TE contendo uma requisicao
de estabelecimento de caminho optico. Os campos origem e destino especificam os nos
origem e destino da mensagem. O campo rota possui os identificadores de cada no per-
corrido colhidos pela mensagem. A mensagem tambem colhe os comprimentos de onda
(rotulos de cada comprimento de onda) dos enlaces atravessados e os armazena em seu
Label Set. Por fim, a mensagem tambem pode manter consigo um objeto referente a er-
ros ocorridos durante a sinalizacao. No exemplo da Figura 2.4, a mensagem possui um
campo referente a um codigo de erro que esta nulo, o que informa que nao ocorreram erros
durante a sinalizacao.
Por nao utilizar um protocolo de transporte para a realizacao da sinalizacao, este
processo nao e orientado a conexao. Para garantir a integridade de uma mensagem o
20 Redes opticas e GMPLS
Figura 2.4: Interior de uma mensagem RSVP-TE Path.
Common Message Header possui um checksum responsavel por detectar algum erro na
mensagem.
O processo de sinalizacao e estabelecimento de um caminho optico ocorre pela exe-
cucao dos seguintes passos, conforme ilustrado pela Figura 2.5:
• Um host envia uma solicitacao de estabelecimento de caminho optico para um
no ingresso da rota de estabelecimento do LSP.
• O no ingresso envia uma mensagem Path ate o no egresso da solicitacao.
• A mensagem Path e recebida e transmitida novamente por todos os nos inter-
mediarios da rota do LSP que sera estabelecido.
• A cada no visitado, a mensagem colhe o identificador daquele no.
• A cada enlace atravessado, a mensagem atualiza seu Label Set com os compri-
mentos de onda do enlace. Se um comprimento de onda estiver sendo utilizado
naquele enlace, o rotulo relativo a esse comprimento de onda deve ser removido
do Label Set, se este o possuir.
• Ao chegar ao no egresso, a mensagem Path escolhe no Label Set um rotulo de um
comprimento de onda ainda nao utilizado, de acordo com a polıtica de alocacao
de comprimento de onda, que sera utilizado para identificar o comprimento de
onda a ser reservado em cada enlace do LSP. Se todos os comprimentos de onda
foram utilizados, a requisicao deve ser bloqueada, o que geraria uma mensagem
PathErr com o erro indicando que nao ha rotulos disponıveis para a alocacao
de comprimento de onda.
2.2 GMPLS 21
• A mensagem Path se transforma em Resv e e enviada para o no ingresso.
• Durante seu trajeto a mensagem Resv reserva o comprimento de onda em cada
enlace atravessado.
• Com a chegada da mensagem Resv ao no ingresso, o estabelecimento do LSP e
confirmado e os dados ja podem ser enviados pela rede.
• Apos o fim transmissao, uma mensagem do tipo PathTear e gerada e enviada
para o encerramento do LSP.
Figura 2.5: Exemplo da sinalizacao RSVP-TE.
Apesar da mensagem ResvConfirm ter como utilidade a confirmacao do estabele-
cimento do LSP a um no receptor (egresso), ela nao e frequentemente utilizada, pois a
partir do momento em que a mensagem Resv volta ao no ingresso o processo de sinali-
zacao e tido como correto, pois ocorrendo qualquer erro durante a sinalizacao o devido
tratamento de erro e inicializado e o erro e tratado. Logo, se a mensagem Resv chegou
ao no ingresso, qualquer possıvel erro ocorrido ja foi tratado e o processo de sinalizacao
teve continuidade [10].
O GMPLS possui um controle de confiabilidade na entrega de cada mensagem
RSVP-TE que consiste na transmissao e retransmissao de cada mensagem ate que uma
confirmacao de recebimento de um no adjacente seja recebida. Esse controle e feito pela
insercao de um identificador em um objeto chamado de Message-ID. Quando um no ad-
jacente recebe uma mensagem RSVP-TE ele confirma o recebimento inserindo um objeto
22 Redes opticas e GMPLS
chamado Message-ID-Ack, que e enviado ao no transmissor da mensagem. Essa men-
sagem de confirmacao pode ser inserida em qualquer mensagem de protocolo que esteja
sendo enviada na direcao do no transmissor, entretanto, se nenhuma mensagem estiver
para ser enviada nessa direcao, o no receptor envia apenas uma mensagem RSVP-TE de
confirmacao contendo o objeto Message-ID-Ack.
Capıtulo 3
Computacao em grade
Um modelo de computacao em grade realiza o uso de diversos recursos de maneira
conjunta, para que possam trabalhar por um mesmo objetivo. Grades computacionais
podem ser compostas de diversas redes separadas, porem interconectadas. Nao apenas
recursos de processamento podem ser compartilhados em um ambiente de grade, mas
tambem recursos de armazenamento.
Por meio da combinacao de diversos recursos computacionais, grandes capacidades
computacionais podem ser obtidas. Os custos para a construcao de um supercomputador
sao muito elevados, porem a combinacao de diversos computadores “padrao” disponibi-
liza por meio da grade nıveis elevados de computacao, sem a necessidade de um unico
supercomputador para isso.
O desenvolvimento da computacao em grade teve seu inıcio nos esforcos realizados
durante os anos 90 na area de computacao distribuıda, onde um dos topicos principais de
pesquisa era o desenvolvimento de ferramentas capazes de conectarem diversos sistemas
computacionais de alta performance e unifica-los para que trabalhassem como um so
grande computador. Durante a conferencia IEEE/ACM de supercomputacao em 1995,
uma demonstracao chamada de I-Way e liderada por Ian Foster realizou a conexao de
17 sites de supercomputadores atraves de 11 redes de alta velocidade. 60 aplicacoes
de areas cientıficas e de engenharia foram desenvolvidas e executadas nos computadores
24 Computacao em grade
desta demonstracao. O sucesso da demonstracao gerou interesse do governo dos Estados
Unidos, que por meio da agencia DARPA criou um projeto chamado Globus [14], para
o desenvolvimento de ferramentas para computacao distribuıda. O projeto foi liderado
por Ian Foster e Carl Kesselman. Em uma conferencia de supercomputacao em 1997,
aplicacoes baseadas nas referencias de implementacao do Globus permitiram a conexao
de 80 sites de supercomputadores ao redor do mundo.
Dentre as diversas possibilidades da computacao em grade, algumas configuracoes
da grade e de seu uso geraram diferentes tipos de grades computacionais [14]:
Grades departamentais: Sao grades que englobam apenas um departamento
de uma empresa. Seus recursos nao podem ser acessados por nenhum outro depar-
tamento da empresa em que se encontra, apenas pelo departamento abrangido.
Grades empresariais: Sao grades que abragem uma empresa toda e proveem
servicos a todos os usuarios dentro da empresa.
Grades Extra-Empresariais: Sao grades que sao estabelecidas entre empresas,
clientes e seus parceiros. O acesso a seus recursos pode ser feito por meio de redes
privadas virtuais (Virtual Private Network (VPN)).
Grades Globais: Sao grades estabelecidas globalmente e conectadas pela Inter-
net.
Grades Computacionais: Sao grades destinadas a prover acesso a recursos com-
putacionais, como desktops e ate mesmo servidores.
Grades de Dados: Sao grades orientadas a operacoes que envolvem dados, como
acesso a dados ou processamento de dados.
Grades Utilitarias, ou provedoras de servicos: Sao grades que oferecem co-
mercialmente seus recursos, tanto computacionais como de software, a clientes que
os desejarem. Clientes que desejam aumentar suas capacidades computacionais ou
adquirirem servicos de software podem obte-los por meio do que e oferecido por esse
tipo de grade.
3.1 Lambda Grid 25
A proxima secao apresentara o ambiente de grade computacional conhecido como
lambda grid.
3.1 Lambda Grid
Um lambda grid e um ambiente de grade computacional suportado por uma rede
WDM. A operacao principal em um lambda grid e a alocacao de recursos computacionais
e de rede e o estabelecimento de conexoes opticas entre nos usuarios e recursos computaci-
onais para envio de dados e execucao de tarefas. Um lambda grid basicamente e formado
por nos usuarios e nos provedores de recursos, sendo que o roteamento anycast do lambda
grid permite que uma tarefa possa ser enviada de um no usuario a qualquer no provedor
de recursos.
A operacao do lambda grid inicia-se com uma requisicao de execucao de uma tarefa
de um no usuario [5]. O roteamento anycast deve entao descobrir um recurso disponıvel
na grade que tenha disponibilidade computacional para receber a tarefa. Apos o recurso
ser descoberto, inicia-se o processo de aprovisionamento de caminho optico entre o no
usuario e o no provedor de recursos. O processo de sinalizacao RSVP-TE e entao iniciado
para a reserva dos recursos e estabelecimento do caminho optico. Enlace a enlace, a
disponibilidade dos comprimentos de onda e verificada, e no no destino um comprimento
de onda e escolhido para ser reservado para a transmissao e o recurso computacional
descoberto pelo roteamento anycast e reservado. O comprimento de onda e reservado em
cada enlace entre o no usuario e o provedor de recursos, fazendo com que nenhuma outra
requisicao possa utiliza-lo para transmissao de dados. Apos a reserva do comprimento de
onda em todos os enlaces, os dados da tarefa sao enviados pela rede.
Para a reserva do comprimento de onda, leva-se em conta o problema da restricao de
continuidade de comprimento de onda. Quando um comprimento de onda e escolhido no
no provedor pela mensagem RSVP-TE, o mesmo comprimento de onda deve estar dispo-
nıvel em todos os enlaces do caminho optico a ser estabelecido. Assim, se o comprimento
de onda nao estiver disponıvel em todos os enlaces, a requisicao de execucao de uma ta-
26 Computacao em grade
refa e bloqueada. O bloqueio tambem pode acontecer se nao ha recursos computacionais
disponıveis no no provedor de recursos escolhido no roteamento anycast.
3.2 Reserva futura de recursos em lambda grids
E interessante permitir que os recursos do lambda grid sejam disponibilizados para
uso em tempos futuros, alem dos tempos imediatos. Isso faz com que a janela de aceitacao
de requisicoes seja ampliada e a capacidade do lambda grid aumente por um melhor
encaixe na execucao das tarefas.
Um sistema de reservas futuras em um ambiente de lambda grid deve ser capaz de
gerenciar cada no da rede e seus recursos e disponibiliza-los para uso futuro. Assim, cada
recurso teria uma janela de tempo total disponıvel para aceite de alocacoes de requisicoes
e todo o controle de sua disponibilidade seria feito com base em seu tempos disponıveis.
3.2.1 Uma abordagem baseada em timeslots
Uma abordagem eficiente e a baseada em timeslots [15]. Um sistema de reservas
futuras baseado em timeslots faz uso de uma janela de tempo que e dividida em diversos
segmentos. Cada segmento e chamado de timeslot e representa uma fatia de tempo
relativo ao uso de um recurso. No ambiente de grade, cada recurso disponibilizado para
escalonamento possui diversos timeslots. A reserva de seu uso em um determinado perıodo
de tempo e realizada reservando o intervalo de tempo necessario. Assim, quando uma
requisicao de servico requer o uso de um recurso, ela reserva o intervalo necessario para
atender o tempo desejado de sua execucao.
Os timeslots podem ser estaticos ou dinamicos, o que define a maneira como eles
sao organizados e alocam as reservas em um recurso.
3.2 Reserva futura de recursos em lambda grids 27
3.2.1.1 Timeslots dinamicos e estaticos
Segundo [15], um sistema baseado em timeslots estaticos e composto de nba timeslots
de tamanho constante igual a cs. O chamado book-ahead interval cba, e o tempo total
disponıvel para reservas. Ele e uma janela deslizante em que as requisicoes sao aceitas
para reserva. E dado por cba = cs.nba. Em uma abordagem estatica, o numero de
timeslots mantidos pelo sistema e independente do numero de requisicoes aceitas. Como
os timeslots tem todos o mesmo tamanho, se uma requisicao de servico desejar reservar
um comprimento de onda em um enlace durante o perıodo de tempo de 10 s a 20 s, se
os timeslots do comprimento de onda a ser reservado possuırem tamanho cs = 5 s, a
requisicao ira alocar 2 timeslots, um representado o tempo de 10 s a 15 s e outro de 15 s
a 20 s.
Em um sistema baseado em timeslots dinamicos, o tamanho de um timeslot e dado
por um inteiro multiplo de cs [15], sendo cs o menor tamanho ao qual os timeslots podem
ser divididos dentro de cba. Para cada requisicao a ser alocada, os timeslots ja mantidos
pelo sistema sao particionados no tempo de inıcio e tempo final de uma tarefa. Nesta
abordagem, o numero de timeslots gerenciados pelo sistema depende do numero de requi-
sicoes aceitas. Ainda assim, o numero total de timeslots e limitado por cba, obedecendo o
limite nba.cs <= cba.
Os limites de cada timeslot, em um sistema dinamico, sao dados respectivamente
pelo tempo de inıcio e tempo final de uma requisicao, ao passo que em um sistema estatico
os limites dos timeslots serao sempre iguais aos limites ja definidos mediante a sua divisao
dentro da janela de tempo deslizante, ou seja, se uma tarefa for ali reservada e seus limites
de tempo forem menores do que os do timeslot, os limites de tempo do timeslot continuam
sendo os mesmos, independentemente da requisicao reservada estar consumindo uma fatia
menor do que seus limites.
As figuras 3.1 e 3.2 ilustram os dois tipos de timeslot e suas diferencas.
28 Computacao em grade
Figura 3.1: Exemplo de timeslot estatico. Cada timeslot tem o mesmo tamanho.
Figura 3.2: Exemplo de timeslot dinamico. Cada timeslot tem um tamanho diferente.
3.2.2 Granularidade dos timeslots e complexidade do gerencia-
mento do sistema
Um sistema de timeslots opera com uma granularidade definida para os timeslots
gerenciados. A granularidade e o menor tempo ∆t que pode ser distinguido pelo sistema.
Em um sistema de timeslots dinamicos, o sistema pode operar com uma granularidade
infinitesimal, em que os limites dos timeslots reservados nao sao alterados. Assim, seus
limites sao alocados em qualquer ponto de cba que atenda a seus tempos de inıcio e sua
duracao. Assim, em um sistema dinamico, a cada nova reserva de recursos realizada, ate 2
novos timeslots podem ser criados, no caso de uma reserva alocada segmentar um timeslot
em duas partes para alocar seu intervalo. No pior caso, o sistema precisara gerenciar 2n+1
timeslots para n reservas realizadas. O uso de uma granularidade nao infinitesimal evita
que os limites dos timeslots sejam definidos por seus tempos, fazendo com que seus limites
sejam arredondados de forma que o intervalo abrangido obedeca a um ponto equidistante
fixo dentro da janela de tempo.
As figuras 3.3 e 3.4 ilustram a complexidade do gerenciamento dos timeslots no pior
caso. Na Figura 3.3, nenhuma reserva foi realizada, portanto o sistema so deve gerenciar
um timeslot que abrange todo o tempo disponıvel. A Figura 3.4 ilustra o pior caso, quando
3.2 Reserva futura de recursos em lambda grids 29
Figura 3.3: Nenhuma reserva realizada, todo o tempo da janela deslizante esta disponıvel.
Figura 3.4: Exemplo de 2 reservas realizadas, 2n+ 1 timeslots a serem gerenciados.
duas novas reservas sao realizadas e para cada intervalo que foi reservado (um timeslot), 2
novos timeslots acabam sendo criados, mediante as segmentacoes que foram feitas. Logo,
para 2 reservas realizadas, o sistema deve gerenciar 5 timeslots, 2 ocupados e 3 livres.
3.2.3 Requisicoes para o futuro
As requisicoes em um sistema baseado em reservas futuras contem informacoes
acerca do tempo em que as tarefas devem ser executadas. Essas informacoes sao uti-
lizadas pelo roteamento anycast para descobrir um recurso disponıvel no tempo desejado
e realizar o roteamento e alocacao da tarefa. Sao apresentadas a seguir as informacoes de
tempo presentes em requisicoes de servico em um ambiente de lambda grid com reservas
para o futuro.
Tempo de inıcio: Representa o instante de tempo no qual se deseja executar a
tarefa.
Duracao: Representa a duracao da tarefa.
Logo, a soma destes 2 atributos define o intervalo de tempo futuro em que um
recurso deve estar disponıvel para ser reservado para uma tarefa.
A seguir, sao apresentados os tipos de reservas abordadas neste trabalho:
30 Computacao em grade
Reservas futuras: Sao reservas que fazem com que uma tarefa seja executada
no futuro. A execucao de uma tarefa reservada dessa maneira deve ocorrer no exato
instante de seu tempo de inıcio. A Figura 3.5 ilustra um perıodo de tempo reservado
para o futuro.
Figura 3.5: Tarefa alocada em tempo futuro.
Reservas futuras maleaveis: Diferentemente das reservas futuras, as reservas
futuras maleaveis possuem uma maleabilidade em relacao ao seu tempo de inıcio,
sendo essa maleabilidade dada gracas ao valor de tempo de intervalo. O tempo de
intervalo e um atributo que define um intervalo de tempo em que uma tarefa possa
ser executada apos seu tempo de inıcio. Ele determina uma janela de tempo em que
a execucao da tarefa pode ser iniciada. Assim, o tempo de inıcio de uma reserva
futura maleavel e determinado pela soma de seu tempo de inıcio com o tempo de
intervalo. Por exemplo, se a tarefa tem como tempo de inıcio 10 s e como tempo de
intervalo 5 s, isso significa que o tempo de inıcio da tarefa podera variar de 10 s ate
15 s, podendo ocorrer no tempo 10,1 s, 10,5 s, 11 s, 11,7 s, 12 s, etc. Este exemplo
de reserva e ilustrado pela Figura 3.6.
3.2 Reserva futura de recursos em lambda grids 31
Figura 3.6: Tarefa alocada em tempo futuro maleavel. Tempo de inıcio e variavel.
Reservas imediatas: Sao um caso especial de reserva futura em que o tempo
de inıcio e igual ao tempo corrente da execucao. Seu tratamento e o mesmo das
reservas futuras, entretanto sua execucao e imediata apos a reserva dos recursos,
sendo atendida no tempo corrente de operacao da grade. A Figura 3.7 ilustra uma
reserva realizada no tempo corrente de operacao.
Figura 3.7: Tarefa alocada no mesmo tempo corrente de operacao.
Toda a operacao de gerenciamento dos timeslots e das reservas futuras deve ser feita
pelos nos da grade, seja para os recursos computacionais, seja para os recursos da rede
optica.
Existe uma proposta de um plano de controle chamado de Grid Generalized Multi-
Protocol Label Switching (G2MPLS) [16], que seria uma extensao do GMPLS otimizada
para grades computacionais e com um sistema de reservas futuras nativo de sua arquite-
32 Computacao em grade
tura.
3.3 Alocacao e execucao de tarefas com diferentes
classes de servico
As requisicoes de servico abordadas neste trabalho podem possuir tarefas com di-
ferentes perfis de execucao a serem escalonadas de maneira apropriada entre os recursos
computacionais da rede mediante suas classes de servico [17]. Uma classe de servico define
o perfil de execucao de uma tarefa e o poder computacional de um recurso do lambda grid.
O objetivo do uso de classes de servico e de que a grade seja capaz de escalonar
cada tarefa de acordo com seu perfil de execucao e possa balancear o uso dos recursos
computacionais baseando-se em seu perfil computacional e nas tarefas que deverao ser por
eles processadas. Ou seja, se uma tarefa possui um perfil que necessite de pouco poder
computacional para sua execucao seria desnecessario o uso de um recurso com alto poder
computacional para receber essa tarefa. Assim, um recurso computacional de baixo ou
medio poder computacional ja seria capaz de receber e executar a tarefa.
Para que seja possıvel o escalonamento de tarefas mediante classes de servico, cada
no provedor da rede mantem uma quantidade de recursos para cada classe de servico
disponıvel. No momento da descoberta de um recurso pelo roteamento anycast, e realizada
a descoberta de um recurso levando em conta nao so a sua disponibilidade, mas tambem
sua classe de servico. Logo, estando um determinado recurso disponıvel e pertencendo a
classe de servico desejada pela tarefa, o recurso e escolhido para receber aquela tarefa.
Sem perda de generalidade, nas simulacoes apresentadas neste trabalho considera-
remos uma unica classe de servico. De fato, do ponto de vista do no, os processadores
alocados a uma determinada classe de servico estao isolados dos demais processadores
alocados a outras classes.
Capıtulo 4
Otimizacao por colonia de formigas
Algoritmos baseados em Otimizacao por Colonia de Formigas (ACO) [18], sao algo-
ritmos que baseiam-se no comportamento de formigas no mundo real para a modelagem
de agentes computacionais inteligentes baseados nesse comportamento. O ACO baseia-se
no comportamento das formigas quando saem de suas colonias em busca de alimento.
Como as formigas sentem o feromonio no solo e tomam decisoes acerca do caminho
a se tomar com base nessa medida, sao formadas assim rotas de preferencias para as
formigas. Este e o princıpio dos algoritmos baseados em ACO, a estigmergia entre as
formigas para a construcao de solucoes de escolha de melhor trajeto.
Os algoritmos baseados em ACO foram desenvolvidos pensando-se na solucao de
problemas concernentes a descoberta de caminho de custo mınimo em grafos G = (N,A),
em que N e o numero de nos pertencentes ao grafo, e A o numero de arestas. E em uma
topologia como esta, baseada em grafo, que se da o uso de algoritmos baseados em ACO.
O algoritmo baseia-se na modelagem de agentes computacionais como formigas do
mundo real e nos seus comportamentos na rede como forma de se construir solucoes de
roteamento, e ainda mais, permitir uma adaptabilidade da rede em termos de decisoes
de roteamento, tendo em vista que a cada iteracao do algoritmo as formigas modificam
as solucoes ja presentes. Com o uso do ACO a rede nao permanece estatica, em termos
de informacoes acerca de roteamento, e sim permanece dinamica devido a adaptabilidade
34 Otimizacao por colonia de formigas
das solucoes, provida pelo algoritmo baseado em ACO.
Existem diversos algoritmos baseados em ACO, porem neste trabalho e feito uso
do algoritmo AntNet [19], com as extensoes apresentadas em [5] para co-agendamento de
recursos de rede e de computacao, alem de extensoes desenvolvidas neste trabalho para
adaptar o algoritmo a necessidade de prover agendamento de caminhos opticos para o
futuro.
4.1 Princıpios basicos do algoritmo
O algoritmo pode ser basicamente descrito pelos seguintes passos [20]:
• Durante intervalos regulares, diversas formigas sao enviadas de cada no da rede
(cada no envia uma formiga por vez) rumo a destinos aleatorios.
• A cada no visitado, as formigas depositam uma quantidade de feromonio baseada
em uma solucao probabilıstica [19].
• A partir dos nıveis de feromonio depositados, as formigas se comunicam por
meio da estigmergia, lendo ou depositando feromonio no no.
• Cada formiga busca o caminho de menor custo entre seu no origem e destino,
e para tanto, utiliza-se de uma estrategia estocastica para decidir qual sera o
proximo no a ser visitado. O processo de escolha do proximo no por meio da
estrategia estocastica se da por meio da informacao sobre o feromonio depositado
naquele no, da informacao heurıstica local (o no que a formiga deve atingir, em
suma) e das informacoes contidas na memoria artificial da formiga.
• As formigas tambem coletam uma identificacao referente a cada no visitado
e guardam essa informacao em suas memorias artificiais. Essa identificacao,
um rotulo, serve como indicador para que a formiga saiba que aquele no ja foi
visitado, em caso de um loop.
4.2 Caracterısticas das formigas artificiais 35
• Ao chegarem no no destino, as formigas retornam ao seu no origem percorrendo
o mesmo caminho que fizeram. Nesse processo a rota ja e estabelecida, sendo
igualmente oposta ao caminho seguido na viagem de ida, o que faz com que nao
exista o processo de escolha do proximo no.
• Em cada no na viagem de volta, a formiga atualiza as informacoes de feromonio
como funcao do caminho escolhido e de suas avaliacoes em cada no intermediario.
• Ao chegarem em seus respectivos nos de origem, as formigas sao descartadas
pelo sistema.
Esse processo ocorre durante toda a operacao da rede, pois o trafego das formigas
ocorre concorrentemente ao trafego de dados, sendo obedecidos intervalos regulares para
o lancamento das formigas.
Neste trabalho, o algoritmo sofreu modificacoes para que as formigas auxiliassem
no mapeamento dos recursos disponıveis em funcao de disponibilidade de tempo. Ou
seja, o algoritmo nao serve mais apenas para gerar solucoes de roteamento de caminhos
de menor custo. O algoritmo agora tambem permite a construcao de uma solucao que
visa disponibilizar uma visao geral das disponibilidades futuras para execucao de tarefas
em cada no. Para tanto, foi necessario que as formigas sofressem modificacoes para que
tambem pudessem lidar com os valores de tempo. Tais modificacoes e o novo processo
introduzido ao algoritmo serao apresentados nas subsecoes seguintes.
4.2 Caracterısticas das formigas artificiais
Cada formiga possui uma memoria artificial destinada a guardar informacoes acerca
dos nos visitados e uma amostra de tempo colhida em determinado no destino.
Cada formiga mantem em sua memoria artificial identificadores dos nos visitados,
rotulos, que servem como controle para que a formiga nao permaneca em um loop. Com
um indicador dos nos que foram visitados, as formigas sabem que nao devem mais escolher
36 Otimizacao por colonia de formigas
aquele no como proximo hop.
Quando chega no no destino, a formiga tambem colhe uma amostra da disponi-
bilidade de recursos para execucao futura de tarefas. Essa disponibilidade representa a
quantidade de recursos disponıveis em determinado tempo futuro. Assim, a amostra con-
tem a quantidade de processadores disponıveis por classe de servico para um instante de
tempo arbitrario. A Figura 4.1 ilustra a memoria artificial de uma formiga e todas as
informacoes mantidas por ela.
Figura 4.1: Memoria da formiga.
Apesar de cada formiga trazer consigo apenas uma amostra referente a apenas um
instante de tempo, o mapeamento disponıvel no vetor de disponibilidade futura pode ser
tido como completo, pois pode-se prever um mecanismo de amostragem eficiente em que
os tempos de amostragem consigam cobrir todo o tempo futuro de operacao da rede.
4.3 Estruturas de dados
Durante o processo de execucao do algoritmo, certas estruturas de dados sao neces-
sarias para que toda a operacao possa ser realizada.
As estruturas de dados sao as mesmas utilizadas no AntNet de [5], porem com a
introducao dos vetores de disponibilidade futura no lugar do vetor de disponibilidade
imediata.
Sao apresentadas a seguir as estruturas de dados usadas no algoritmo.
• Tabela de roteamento por feromonio T i: Contem uma linha para cada destino
d da rede e uma coluna para cada no vizinho n, responsavel por guardar os
nıveis de feromonio (Figura 4.2). A soma de cada linha deve ser igual a 1, isto
4.3 Estruturas de dados 37
e,∑n∈Ni
τ idn = 1, em que Ni e o conjunto de vizinhos do no i. τ idn define o valor de
feromonio no enlace li→n para o especificado destino d e estima a probabilidade
de alcancar d dado que n e selecionado como o proximo hop.
Figura 4.2: Exemplo da tabela de roteamento por feromonio.
• Modelo parametrico estatısticoMi: E uma tabela que contem as triplas<µd, σd, Ed>
para cada destino d da rede (Figura 4.3), em que µd e o comprimento medio do
caminho seguido pelas formigas do no atual ate o destino d, σd o desvio pa-
drao desse comprimento de caminho e Ed o melhor valor de comprimento de
caminho descoberto para esse destino dentro da janela nao deslizante de w ob-
servacoes [19]. Nao deslizante significa que quando o numero de observacoes
alcanca w+1, todos os valores acumulados sao reinicializados, isto e, Ed = µd =
(comprimento do caminho da (w+ 1)-esima observacao), σd = 0 e o contador de
observacoes recebe 1.
O seguinte modelo atualiza os valores de µid e σi
d [21]:
µid ← µi
d + η(oi→d − µid) (4.1)
σid ← σi
d + η(|oi→d − µid| − σi
d) , (4.2)
em que oi→d e a nova observacao da distancia entre os nos i e d, e η e o peso do
modelo exponencial, que pondera o numero das mais recentes observacoes que
irao influenciar a media. O numero de observacoes efetivas e aproximadamente
38 Otimizacao por colonia de formigas
igual a 5/η [19].
O numero de valores na janela e calculado como w = 5(c/η), em que
c ∈ (0, 1] e um fator de reducao. Dessa maneira, a janela e atualizada em um
intervalo menor do que o usado para os estimadores de media e desvio padrao,
de tal maneira que o valor de Eid e dos estimadores refiram-se ao mesmo conjunto
de observacoes [19].
Figura 4.3: Exemplo do modelo parametrico estatıstico para o no 4.
• Vetor de Disponibilidade Futura Ai: E um vetor para cada classe de servico que
contem uma metrica de disponibilidade para cada destino d da rede. Este vetor
e responsavel por manter informacoes que sao utilizadas durante o processo de
agendamento de recursos para a descoberta de um recurso capaz de realizar a
alocacao de determinada requisicao, em funcao das disponibilidades de tempo.
Esta estrutura de dados mapeia para cada destino d a quantidade de processa-
dores disponıveis para uso no tempo t (Figura4.4), sendo t uma amostragem de
tempo disponıvel colhida pela formiga naquele destino. Todos os nos possuem o
mesmo numero de processadores Pproc, representada pela metrica de disponibili-
dade Ad = P idled . P idle
d e o numero de processadores livres que podem ser usados
para alocacao de requisicoes.
O vetor de disponibilidade futura e atualizado com uma amostra de tempo
sempre que a formiga retorna de um no destino d ao seu no origem s. No caso em
que consideramos 2 classes de servico, teremos 2 vetores, um para cada classe.
4.4 Execucao do algoritmo 39
Figura 4.4: Exemplo do vetor de disponibilidade futura para o no 4 e classe de servicoHigh Performance.
4.4 Execucao do algoritmo
A execucao completa do algoritmo se da pela viagem de ida da formiga ate um
no destino, realizando-se neste trajeto a atualizacao dos nıveis de feromonio a cada no
atravessado e, chegando ao destino, a coleta de uma amostra de tempo para n recursos
disponıveis naquele tempo de amostra. Em sua viagem de volta, a formiga atualiza as
estruturas de dados nos nos pertencentes ao seu trajeto de volta, que e o mesmo da viagem
de ida.
O algoritmo tem inıcio com a inicializacao das tabelas de feromonio em cada no por
meio do processo de inicializacao inteligente de [22], como feito em [5]. Apos isso, formigas
Fs→d sao enviadas de nos origem aleatorios para nos destino aleatorios a cada intervalo
de tempo (1/Rants).
A formiga escolhe qual sera seu proximo hop utilizando-se de um esquema aleatorio
que utiliza os nıveis de feromonio τdn em cada vizinho e uma funcao heurıstica hn, que e
dado pela seguinte equacao:
hn =
(lanW
)f
, (4.3)
em que lan e a quantidade de comprimentos de onda disponıveis no vizinho n, W e a
quantidade total de comprimento de onda no enlace e f e um fator para aumentar a
40 Otimizacao por colonia de formigas
diferenca do valor da heurıstica entre nos vizinhos.
A escolha de um proximo hop quando ainda existem nos que nao foram visitados
e realizada de forma aleatoria levando-se em conta as probabilidades para cada no ser
escolhido pela seguinte expressao [19]:
pdn =
(
1
1 + α
)τdn∑
k∈T
τdk+
(α
1 + α
)hn∑
k∈T
hk,∀k ∈ T
0 , caso contrario
(4.4)
Na expressao acima, o valor de α da a enfase entre nıvel de feromonio (memoria
de longo prazo) e estado de disponibilidade instantanea (memoria de curto prazo), e
T = Ni \ Vs→i.
Quando todos os nos ja tiverem sido escolhidos (T e vazio), a escolha do proximo
hop tambem e feita de maneira aleatoria levando-se em conta uma probabilidade para
cada no ser escolhido, de acordo com a expressao a seguir. Neste caso, a formiga acaba
entrando em um laco de repeticao.
pdn =
τdn∑k∈T ′
τdk,∀k ∈ T ′, se |Ni| > 1
1 , se Ni = {vi−1}
0 , caso contrario
(4.5)
Na expressao acima vi−1 representa o ultimo no visitado e T ′ = Ni − {vi−1}.
A cada no percorrido pela formiga, ela recolhe um rotulo daquele no e o armazena
em sua memoria. Quando ela acaba entrando em um laco de repeticao, todos os nos que
pertencem a esse ciclo sao retirados de sua memoria apos a escolha de um novo hop, a fim
de que o laco de repeticao nao seja mais lembrado pela formiga.
A formiga tambem possui um numero limite de hops. Esta limitacao serve para
impedir que formigas que nao conseguem alcancar seu no destino fiquem viajando “infini-
tamente”pela rede. Se uma formiga nao alcancar seu destino dentro do numero estipulado
4.4 Execucao do algoritmo 41
de hops, ela e descartada da rede.
Ao chegar no seu no destino, a formiga colhe uma amostra da disponibilidade
dos processadores para cada classe de servico em um tempo t , sendo t definido por
cs.(randomTime
cs), em que cs e o tamanho dos timeslots estaticos utilizados para amostra-
gem e randomTime e um valor aleatorio utilizado para o calculo do tempo de amostragem
a ser coletado.
Apos isso, a formiga Fs→d se torna uma formiga Bd→s e volta ao seu no origem pelo
mesmo trajeto seguido na viagem de ida.
Nesta viagem de volta, a formiga passa por cada no intermediario atualizando o
modelo parametrico estatıstico e a tabela de roteamento por feromonio para todas as
entradas referentes ao seu destino d.
Essa atualizacao tambem ocorre para todos os nos d′ ∈ Vi→d, d′ 6= d nos sub-
caminhos (i → d′) visitados pela formiga em sua viagem de ida apos passar por i se os
sub-caminhos forem considerados estatisticamente bons. Se dist(Vi→d′) < Id′
sup [19], o sub-
caminho e considerado estatisticamente bom e as entradas de d′ do modelo parametrico
estatıstico e da tabela de roteamento por feromonio sao atualizadas. A funcao dist()
e responsavel por calcular a distancia do caminho seguido pela formiga em questao de
numero de hops e Isup e um estimador superior. Isup e calculado por meio das relacoes
de Tchebycheff, que permitem a definicao de um intervalo de confianca de uma variavel
aleatoria que segue qualquer tipo de distribuicao. O estimador inferior e igual a Ed′ . A
seguinte formula expressa o estimador superior:
Id′
sup = µd′ +1√
(1− γ)
σd′√w
(4.6)
O coeficiente do nıvel de confianca e representado por γ.
As equacoes 4.1 e 4.2 atualizam o modelo parametrico, em que oi→d = dist(Vi→d).
Se oi→d < Eid, entao Ei
d ← oi→d. Essa atualizacao ocorre para todos nos destino d cujos
sub-caminhos sao considerados estatisticamente bons.
42 Otimizacao por colonia de formigas
A atualizacao da tabela de roteamento por feromonio ocorre apos a atualizacao do
modelo parametrico estatıstico. Antes que essa atualizacao seja feita e calculado um
reforco adaptivo rd [19], por meio da seguinte equacao:
rd = c1
(Ed
dist(Vi→d)
)+ c2
(Idsup − Ed
(Idsup − Ed) + (dist(Vi→d)− Ed)
)(4.7)
O primeiro termo de 4.7 avalia a razao entre a melhor rota dentro da janela de
observacoes nao deslizante e a distancia percorrida pela formiga. O segundo termo avalia
o quao longe esta essa distancia do intervalo de confianca. O segundo termo deve ser
considerado igual a zero quando dist(Vi→d) = Idsup = Ed. Os coeficientes c1 e c2 medem a
importancia de cada termo.
O valor obtido r e limitado a 0,9 para evitar estagnacao e seu valor sofre um “amas-
samento” usando a seguinte expressao [19]:
rd =s(r)
s(1), onde s(x) =
(1 + exp
(a
x|Ni|
))−1, (4.8)
onde a e o coeficiente amplificador da funcao.
Caso o no vizinho m esteja no caminho da formiga, ele recebe um reforco positivo:
τdm ← τdm + rd(1− τdm) (4.9)
Por outro lado, os outros nos recebem um reforco negativo:
τdn ← τdn − rdτdn,∀n ∈ Ni, n 6= m (4.10)
Apos realizar as atualizacoes em cada no, por fim a formiga chega ao seu no origem
s. Em s, a posicao d do vetor de disponibilidade futura As e atualizada com a amostra
de disponibilidade de tempo colhida na viagem de ida.
A formiga e entao retirada da rede.
4.5 Determinacao do destino do anycast 43
4.5 Determinacao do destino do anycast
O roteamento anycast realiza a descoberta de um recurso no lambda grid de acordo
com as disponibilidades providas pelas formigas no vetor de disponibilidade futura de
um no usuario. Alem de considerar os tempos amostrados e a disponibilidade de um
processador em uma requerida classe de servico, o lambda grid considera uma polıtica de
escolha de no para determinar um no destino ao anycast. Assim, alem de um determinado
no prover um recurso apto para a execucao de uma tarefa em questoes de tempo e classe
de servico, o no tambem deve se enquadrar na polıtica de escolha adotada pelo lambda
grid.
Considerar-se-a neste trabalho o uso das seguintes polıticas de escolha de no [5],
que levam em conta a distancia de cada no e a carga de trabalho dos nos da rede, que e
definida pelo numero de processadores ocupados em processamento em cada no:
Least-Loaded (LL): Esta polıtica escolhe o no menos carregado do lambda grid
em termos de sua carga de trabalho.
Closest Least-Loaded (CLL): Esta polıtica escolhe o no menos carregado en-
tre os nos mais proximos do no usuario em questao de numeros de hops. Esta
polıtica tem como objetivo nao enviar tarefas a nos que estejam em pontos muitos
distantes do lambda grid.
Best Availability-Distance Ratio (BADR): Esta polıtica escolhe o no que
possui a maxima proporcao entre a quantidade de processadores disponıveis e a
distancia do no em relacao ao no usuario em funcao do numeros de hops.
Apos o destino ser definido, o roteamento anycast e reduzido ao algoritmo de RWA,
que deve entao inicializar o processo de estabelecimento do caminho optico por meio da
descoberta e reserva da rota e do comprimento de onda.
44 Otimizacao por colonia de formigas
4.6 Tratamento para bloqueio de recursos de rede
por meio de crankback
O algoritmo de RWA utilizado neste trabalho utiliza um mecanismo chamado de
crankback [23] para realizar novas tentativas de roteamento em caso de falta de compri-
mento de onda em um enlace. O algoritmo utiliza-se dos nıveis de feromonio presentes
em cada no para realizar as tentativas de novo roteamento. O feromonio e utilizado
como uma metrica para a escolha de um novo no como proximo hop de uma mensagem
quando ha falta de comprimento de onda em um enlace pertencente a rota original da
mensagem. Este mecanismo permite que a probabilidade de bloqueio de requisicoes seja
diminuıda [23].
Cada no possui uma tabela de historico responsavel por manter a quantidade de
novos roteamentos que pode ser feita para cada caminho optico a ser estabelecido. Essa
tabela possui um numero de entradas para cada caminho optico a ser estabelecido pela
mensagem RSVP-TE e tambem e responsavel por armazenar os enlaces da rede em que
foram realizadas tentativas de novo roteamento. O numero de entradas da tabela de
historico determina quantas tentativas de novo roteamento podem ser feitas para cada
caminho optico. Assim, se um caminho optico possuir 2 entradas na tabela de historico,
isso significa que apenas 1 nova tentativa de novo roteamento pode ser feita, por conta da
primeira entrada ser relativa a um bloqueio ocorrido durante o estabelecimento daquele
caminho optico.
Ao ser processada uma requisicao de estabelecimento de um LSP e tendo sido colhido
pela mensagem Path um Label Set sem comprimentos de onda disponıveis em determinado
enlace, uma mensagem PathErr e enviada para o no anterior. Se na tabela de historico
existir ao menos uma tentativa de novo roteamento e um no que ainda nao foi visitado,
uma nova tentativa para estabelecer o LSP sera realizada. Se o numero de tentativas
de novo roteamento for esgotado, o LSR em questao envia uma mensagem PathErr em
direcao ascendente ate que um no que a receba seja capaz de realizar novas tentativas.
Se esta mensagem PathErr chegar ate o no egresso e nao existirem mais tentativas de
4.6 Tratamento para bloqueio de recursos de rede por meio de crankback 45
roteamento disponıveis, a requisicao de servico e bloqueada.
A Figura 4.5 ilustra um exemplo de requisicao de LSP do no A para o no C:
Figura 4.5: Requisicao utilizando-se de crankback.
Baseando-se nas informacoes mantidas na tabela de feromonio, o no A escolhe seu
vizinho com o maior nıvel de feromonio, o no B, e envia uma mensagem Path. A tabela de
historico mantem agora o no B, que foi escolhido. Dentre seus vizinhos, C e D, B escolhe
C que possui maior nıvel de feromonio e o inclui na tabela de historico. Entretanto, nao
ha comprimento de onda disponıvel de B para C, e entao B envia uma mensagem PathErr
de volta para A. O no A escolhe entao seu outro vizinho, D, ja que B esta na tabela de
historico, e envia uma mensagem Path a ele. Por fim, D tambem sera colocado na tabela
de historico, e existindo comprimento de onda de D para C, o processo de estabelecimento
de um LSP continua normalmente.
Capıtulo 5
Arquitetura para agendamento e
execucao futura de tarefas
5.1 Trabalhos Relacionados
Durante o desenvovimento deste trabalho foi notada a escassez de trabalhos que
integrassem o plano de controle GMPLS com um algoritmo baseado em ACO para o pro-
vimento de reservas futuras de recursos. Diversos trabalhos que estudam estes temas em
particular podem ser encontrados, porem a integracao de tais temas pode ser considerada
como um assunto novo.
O presente trabalho foi baseado no que foi estudado e proposto em [5]. Em [5] foi
realizada a integracao do plano de controle GMPLS com um algoritmo baseado em ACO,
realizando-se alteracoes na sinalizacao RSVP-TE para tornar possıvel o agendamento con-
junto de recursos de rede e de recursos computacionais. Este trabalho e uma continuacao
de [5].
Em [23], e proposto o uso do mecanismo de crankback [24] para possibilitar que
o algoritmo de RWA baseado em ACO fosse capaz de trabalhar com rotas alternativas
durante o processo de estabelecimento do caminho optico em caso de bloqueio por falta de
recursos de rede. Isso possibilitou um ganho de desempenho em termos de probabilidade
48 Arquitetura para agendamento e execucao futura de tarefas
de bloqueio em relacao ao algoritmo original proposto em [4].
Em [17], e proposto um algoritmo baseado em ACO que se utiliza de classes de
servico para facilitar a descoberta e alocacao de recursos em grades que usam redes opticas
para a transferencia de tarefas. As classes de servicos sao determinadas mediante um
acordo entre os usuarios da grade e os provedores de recursos. Esta abordagem se mostrou
competente em otimizar o tempo referente a descoberta e alocacao dos recursos da grade
com perfis distintos de requisitos computacionais.
Em [15], e apresentado um sistema de gerenciamento de recursos de uma rede base-
ado no uso de timeslots. Os timeslots sao responsaveis por receberem requisicoes da rede
e as alocarem segundo suas disponibilidades de tempo.
5.2 Extensoes ao algoritmo de reserva imediata de
recursos
Por conta do algoritmo de [5] realizar apenas reserva de recursos para tempos ime-
diatos, havia um bloqueio de requisicoes que nao podiam ser atendidas devido a falta de
recursos disponıveis no momento em que chegavam ao plano de controle. Um dos fatores
para esses bloqueios acontecerem, era o fato de que a reserva de recursos devia ser feita no
mesmo momento em que a requisicao de execucao de uma tarefa era recebida pelo plano
de controle. Se houvesse indisponibilidade de recursos computacionais neste momento nos
nos provedores, a requisicao era entao bloqueada. Da mesma forma, se houvesse indis-
ponibilidade de recursos de rede durante o estabelecimento de caminhos opticos, em um
primeiro momento, a requisicao tambem era bloqueada. Dessa maneira, o unico tempo
disponıvel para reserva de recursos era o tempo corrente de operacao da rede.
Essa limitacao pode ser suprida ampliando-se o tempo disponıvel para reserva de
recursos. Ao inves dos recursos poderem ser reservados apenas no tempo corrente de
operacao da rede, a criacao de uma janela de tempo para aceite de reservas amplia a
disponibilidade dos recursos para tempos futuros. Essa janela, por sua vez, e dividida em
5.3 A arquitetura proposta 49
diversos segmentos de porcoes de tempo, que sao mantidos por cada recurso da rede e
responsaveis por representar uma fatia da disponibilidade de um recurso em determinado
tempo.
A proposta deste trabalho e introduzir extensoes a arquitetura tradicional do lambda
grid para que os recursos computacionais e de rede sejam disponibilizados para uso em
tempos futuros, e extensoes ao plano de controle GMPLS e ao algoritmo AntNet integrado,
de forma que possam gerenciar a nova arquitetura do lambda grid com suporte a reservas
futuras.
Este trabalho e uma evolucao da arquitetura proposta em [5], utilizando-se do me-
canismo de crankback proposto em [23] para o calculo de novas rotas em caso de falta de
comprimento de onda em um enlace, o que nao ocorria em [5], e das classes de servico
apresentadas em [17].
Para o desenvolvimento do sistema de reservas futuras, o presente trabalho baseou-se
no sistema de timeslots apresentado em [15]. Os conceitos apresentados serviram de base
para a modelagem e desenvolvimento das reservas futuras para os recursos computacionais
e de rede.
Foram abordadas dois tipos de reservas futuras neste trabalho, as reservas futuras e
as reservas futuras maleaveis, alem das reservas imediatas.
5.3 A arquitetura proposta
A arquitetura proposta realiza o gerenciamento de um ambiente de lambda grid por
meio da integracao do algoritmo AntNet com o plano de controle GMPLS, o qual realiza
o aprovisionamento dos recursos e agendamento de caminhos opticos para o futuro por
meio da sinalizacao RSVP-TE com as devidas extensoes aqui introduzidas.
O algoritmo AntNet e responsavel por popular as estruturas de dados em cada no
do lambda grid. O vetor de disponibilidade futura na origem determina o destino do
anycast e os nıveis de feromonio na rede determinam a rota a ser usada, de acordo com
50 Arquitetura para agendamento e execucao futura de tarefas
o mecanismo de crankback quando da falta de recursos de rede em um enlace. Assim,
utilizando-se das informacoes providas pelo AntNet, o plano de controle GMPLS possui as
informacoes necessarias para gerenciar os recursos da rede e agendar os caminhos opticos
de acordo com as diversas requisicoes de execucao de tarefa que deve processar.
As principais contribuicoes desenvolvidas neste trabalho em relacao a [5] sao as
extensoes que possibilitam a execucao futura de tarefas no lambda grid.
5.3.1 Escalonamento futuro de recursos
Para permitir a disponibilizacao dos recursos do lambda grid em tempos futuros,
as seguintes estruturas de dados foram criadas e sao mantidas pelos nos provedores de
recursos:
Vetor de estado futuro do servidor: Estrutura de dados responsavel por man-
ter as disponibilidades futuras de recursos computacionais para cada processador de
um no. Conforme a Figura 5.1, a posicao i do vetor determina um recurso e os res-
pectivos timeslots em que tal processador foi reservado. Para cada classe de servico
disponıvel em um no, ha uma estrutura dessa.
Figura 5.1: Vetor de estado futuro do servidor. Timeslots reservados para cada processa-dor.
Vetor de estado futuro dos comprimentos de onda: Estrutura de dados res-
ponsavel por manter as disponibilidades futuras de cada comprimento de onda de
um determinado enlace. Conforme a Figura 5.2, a posicao i determina um com-
primento de onda e os respectivos timeslots em que tal comprimento de onda foi
reservado. Cada enlace de um no possui uma estrutura dessa.
5.3 A arquitetura proposta 51
Figura 5.2: Vetor de estado futuro dos comprimentos de onda. Timeslots reservados paracada comprimento de onda de um enlace.
5.3.2 O sistema de timeslots
O sistema de reservas futuras proposto opera utilizando-se de timeslots estaticos e
dinamicos.
A disponibilidade futura dos recursos e representada por uma lista de timeslots
estaticos nos vetores de disponibilidade futura em cada no usuario do lambda grid. Esta
lista e formada pelas amostras de tempo colhidas pelas formigas. As amostras colhidas
pelas formigas contem um timeslot disponıvel de tamanho constante cs.
Ja os timeslots presentes no vetor de estado futuro do servidor e no vetor de estado
futuro dos comprimentos de onda, responsaveis por receberem as reservas dos recursos
computacionais e de rede, sao dinamicos, tendo seus tamanhos definidos pelos intervalos
de tempo de cada reserva realizada.
A utilizacao dos timeslots dessa maneira gera uma otimizacao em seus usos. Se os
timeslots dos recursos computacionais e de rede fossem estaticos, poderia haver desperdıcio
de recursos em questao de tempo. Por exemplo, ha um timeslot disponıvel para o intervalo
de 20 s a 50 s. Uma tarefa com intervalo em 20 s a 30 s reserva este timeslot, porem o
timeslot todo e reservado e o intervalo referente a 30 s a 50 s e desperdicado e nao
pode ser mais utilizado. Alocando em um timeslot dinamico, a alocacao iria contemplar
um timeslot de intervalo 20 s a 30 s e o tempo que sobrou em relacao ao timeslot de
amostragem torna-se um novo timeslot disponıvel para reserva.
Assim, o sistema opera com uma granularidade infinitesimal nos limites de cada
timeslot dinamico, logo, os intervalos de tempo nao sao arredondados.
As polıticas de reservas de recursos nos vetores de estado futuro sao apresentadas
52 Arquitetura para agendamento e execucao futura de tarefas
na subsecao seguinte.
5.3.3 Polıticas de reserva de recursos
Este trabalho apresenta o uso de duas polıticas de reserva de recursos, a polıtica
First-Fit (FF) e a polıtica Earliest Start Time (EST), tanto para recursos de processa-
mento como de rede.
A polıtica FF realiza a reserva do primeiro recurso que esteja disponıvel em um
determinado no. Nesse caso, ao encontrar um recurso que atenda a um tempo de inıcio,
que esteja dentro do intervalo de inıcio de execucao da tarefa, e de duracao, este recurso
sera reservado e o algoritmo nao ira verificar se algum outro recurso possui tempo de inıcio
mais breve do que aquele.
Ja polıtica EST realiza a reserva do recurso que estara mais brevemente disponıvel
para reserva (earliest start time), considerando-se todos os recursos disponıveis e nao
apenas realizando a reserva ja no primeiro intervalo encontrado.
E importante ressaltar a diferenca entre a reserva dos recursos e dos timeslots. A
reserva de um timeslot so e realizada apos a escolha de um determinado recurso, de acordo
com as polıticas apresentadas. Logo, a reserva do recurso so e de fato concretizada quando
o recurso e escolhido de acordo com uma das polıticas e o timeslot e reservado.
Figura 5.3: Reserva de um timeslot segundo a polıtica First-Fit (FF).
5.3 A arquitetura proposta 53
Figura 5.4: Reserva de um timeslot segundo a polıtica Earliest Start Time (EST).
A Figura 5.3 ilustra a operacao da polıtica FF, que aloca o primeiro recurso que
estiver disponıvel, considerando-se o tempo de inıcio e o tempo de intervalo da tarefa.
Ja a Figura 5.4 ilustra a operacao da polıtica EST, que aloca o recurso, dentro do
conjunto daqueles disponıveis considerando-se o tempo de inıcio e de intervalo da tarefa,
com o menor tempo de inıcio.
5.3.4 A Sinalizacao RSVP-TE com extensoes para o futuro
O algoritmo de sinalizacao e responsavel por verificar as disponibilidades dos recursos
do lambda grid no tempo de execucao requerido por uma tarefa, reserva-los e estabelecer
uma caminho optico entre um no usuario e um recurso.
Ao contrario do processo tradicional de sinalizacao RSVP-TE, o algoritmo proposto
divide o processo de sinalizacao em 3 fases distintas. Cada fase da sinalizacao contempla
operacoes especıficas do processo de sinalizacao para reservar os recursos para o futuro.
As seguintes fases definem cada etapa do processo de sinalizacao RSVP-TE com
extensoes para o futuro:
Reserva futura de servidor : Fase responsavel pela reserva dos recursos com-
putacionais no no provedor de recursos. Nesta fase, o plano de controle realiza o
54 Arquitetura para agendamento e execucao futura de tarefas
envio de uma mensagem Path do no usuario ao no provedor para realizar a reserva
de um recurso computacional. Ao chegar no no provedor, a mensagem consulta o
estado futuro dos recursos computacionais no vetor de estado futuro de servidor.
Ao encontrar um recurso disponıvel, a mensagem Path reserva este recurso para o
futuro alocando a tarefa no timeslot que atende ao intervalo de tempo desejado,
de acordo com a polıtica de reserva de recursos. A mensagem se torna entao uma
mensagem Resv que e enviada ao no usuario.
Reserva futura de rede: Fase responsavel pela reserva dos comprimentos de
onda nos enlaces entre os nos usuario e provedor. Apos realizar a reserva do recurso
computacional, o plano de controle envia uma mensagem Path ao no provedor de
recursos que, enlace a enlace, verifica e coleta no vetor de estado futuro de compri-
mento de onda a disponibilidade dos comprimentos de onda disponıveis no enlace
no tempo requerido pela requisicao. Ao chegar ao no provedor, a mensagem escolhe
um dos comprimentos de onda que esta disponıvel nos enlaces no tempo desejado.
A mensagem se torna entao uma Resv que mantem consigo o comprimento de onda
escolhido. A mensagem e enviada ao no usuario e a cada enlace atravessado reserva
para o futuro o comprimento de onda escolhido para a transmissao dos dados.
Alocacao imediata: Ultima fase, responsavel por verificar o estado das reservas
realizadas, estabelecer o caminho optico e iniciar a transmissao dos dados. Nessa
fase, o plano de controle envia ao no provedor uma mensagem Path que no a no
verifica o estado da reserva de comprimento de onda nos enlaces e no no provedor
verifica o estado da reserva do recurso computacional. Sendo confirmado que os
recursos continuam reservados, uma mensagem Resv e enviada ao no usuario e no a
no aloca o comprimento de onda antes reservado. Ao chegar no no usuario, confirma
o estabelecimento do caminho optico e o plano de controle inicia a transmissao dos
dados.
A sinalizacao foi dividida desta maneira para o melhor gerenciamento da reserva dos
recursos computacionais e de rede e por facilitar o tratamento dos bloqueios. Assim, temos
5.3 A arquitetura proposta 55
uma fase apenas para descobrimento e reserva de um recurso capacitado para executar a
tarefa a qual se busca alocacao; uma fase apenas para reservar os comprimentos de onda
para a transmissao dos dados; uma ultima fase destinada apenas ao estabelecimento do
caminho optico pelos recursos reservados e envio dos dados.
Sendo a sinalizacao dividida por fases, cada etapa da reserva de recursos e transpa-
rente e independente das etapas seguintes, porem sao dependentes das etapas anteriores.
Da mesma maneira, os possıveis problemas ocorridos em cada fase que podem levar
ao bloqueio de uma requisicao podem ser tratados sem que outros aspectos ou partes do
processo de sinalizacao sejam afetados. Os bloqueios de requisicao podem ocorrer de 3
maneiras diferentes durante a sinalizacao: Durante a descoberta de um recurso pelo rote-
amento anycast, se nao for encontrado nenhum recurso disponıvel para receber a tarefa,
a requisicao e bloqueada (Reserva futura de servidor); Se nao houver disponibilidade de
recurso computacional ao chegar da mensagem Path no no destino (Reserva futura de
servidor); Se nao houver comprimento de onda disponıvel para estabelecimento de um
caminho optico (Reserva futura de rede). Apesar da verificacao da disponibilidade de um
recurso ser feita no no provedor antes do roteamento de uma requisicao, pode ocorrer o
bloqueio de acordo com a segunda situacao apresentada acima. Mesmo que o plano de
controle encontre um recurso disponıvel e roteie a requisicao para aquele no provedor, ao
chegar da requisicao naquele no o recurso pode nao estar mais disponıvel por conta do
processamento das requisicoes na rede serem feitas de maneira concorrente, o que pode
causar uma situacao em que uma requisicao chegou primeiro do que outra em um mesmo
recurso, mesmo que a segunda requisicao a chegar tenha sido roteada primeiro para aquele
no provedor de recursos.
Quando ocorre bloqueio por falta de recursos computacionais, o plano de controle
encerra o processamento da requisicao bloqueada e a sinalizacao termina. Entretanto,
quando o bloqueio ocorre por falta de recursos de rede o plano de controle inicia o meca-
nismo de crankback para o tratamento daquele bloqueio. Neste caso, a requisicao nao e
perdida logo que o bloqueio ocorre, como na falta de recursos de rede. Se o mecanismo de
crankback conseguir realizar um novo roteamento a requisicao continua a ser processada
56 Arquitetura para agendamento e execucao futura de tarefas
normalmente.
Apos a sinalizacao realizar a reserva de um recurso computacional, a sinalizacao
inicia o processo de reserva da rede para agendar a transmissao dos dados da tarefa.
Neste contexto, dois algoritmos de sinalizacao sao propostos.
O primeiro algoritmo realiza a transmissao dos dados imediatamente antes do tempo
de inıcio de execucao da tarefa. Esse algoritmo sera referenciado neste trabalho apenas
como o algoritmo de reserva futura.
O segundo algoritmo realiza um relaxamento do tempo de envio dos dados, permi-
tindo que os dados possam ser enviados durante qualquer intervalo de tempo disponıvel
na rede entre o tempo atual de operacao ate o inıcio de execucao da tarefa. Este al-
goritmo utiliza uma nova estrutura de dados, semelhante ao Vetor de estado futuro dos
comprimentos de onda, mantida em cada enlace da rede, para coletar a disponibilidade
dos comprimentos de onda, ao inves de utilizar-se de objetos Label Set. Essa estrutura
mantem consigo as disponibilidades de tempo que possui para cada comprimento de onda
desde o tempo atual de operacao do lambda grid ate o inıcio da execucao da tarefa. Apos
realizar a reserva de um processador, a mensagem Path enviada para reservar a rede coleta
enlace a enlace a disponibilidade dos comprimentos de onda, e ao chegar no no provedor,
escolhe o comprimento de onda de acordo com a polıtica de reserva de recurso usada
(FF ou EST). Assim, o comprimento de onda e reservado e a transmissao dos dados e
agendada para este tempo.
Esse algoritmo sera referenciado neste trabalho como o algoritmo de reserva futura
com relaxamento.
Em relacao as duas polıticas de reserva de recursos, o algoritmo de reserva futura
opera com as duas polıticas apenas para a reserva de recursos computacionais, ao passo
que o algoritmo com relaxamento opera com as duas polıticas para os dois tipos de reserva
de recursos, computacionais e de rede.
A Figura 5.5 ilustra a operacao do algoritmo de reserva futura. E realizada a reserva
de um recurso computacional durante o perıodo de tempo de 110 s a 140 s, considerando
5.3 A arquitetura proposta 57
o tempo corrente como 10 s. A transmissao dos dados da tarefa ali alocada leva 10 s para
ser realizada, portanto a rede foi reservada para o perıodo mais proximo que atende a esse
intervalo de tempo, 100 s a 110 s, perıodo de tempo em que sera iniciada a transmissao
dos dados.
Figura 5.5: Reserva de um recurso computacional e da rede segundo o algoritmo de reservafutura.
Ja a Figura 5.6 ilustra o relaxamento do tempo de transmissao dos dados. O pro-
cessador e reservado para o tempo 110 s a 140 s, porem a rede nao e mais reservada no
intervalo mais proximo ao intervalo da reserva do processador. A mensagem Path reser-
vou a rede para o intervalo de 50 s a 60 s, pois era o intervalo de tempo disponıvel mais
proximo para a reserva do tempo de transmissao dos dados em relacao ao tempo corrente,
independentemente de haver outros intervalos disponıveis a frente deste.
Figura 5.6: Reserva de um recurso computacional e da rede segundo o algoritmo de reservafutura com relaxamento.
5.3.5 Descricao dos algoritmos propostos de sinalizacao RSVP-
TE
O algoritmo de sinalizacao de reserva futura e descrito a seguir:
58 Arquitetura para agendamento e execucao futura de tarefas
1. O plano de controle de um no usuario recebe uma requisicao de execucao de
tarefa gerada por aquele no e inicia o processo de roteamento anycast.
2. O vetor de disponibilidade futura e consultado sobre um recurso disponıvel no
tempo de execucao desejado pela requisicao. Se nao existir disponibilidade de
recursos, a requisicao de servico e bloqueada e o seu processamento finalizado.
3. Encontrando um recurso disponıvel, o vetor de disponibilidade futura retorna
ao no qual no provedor do lambda grid que possui o recurso em questao.
4. O plano de controle roteia a requisicao para o no informado e inicia o processo
de sinalizacao entre o no usuario e o no provedor de recursos.
5. O no usuario envia uma mensagem RSVP-TE Path de fase Reserva futura de
servidor contendo a requisicao de servico ao no provedor de recursos.
6. O plano de controle calcula o caminho mais curto entre o no usuario e o no
provedor por meio do algoritmo de Dijkstra.
7. Ao chegar em seu destino, a mensagem Path consulta o Vetor de estado futuro
do servidor e busca um recurso que atenda aos tempos de execucao requeridos
pela requisicao.
8. Encontrado um recurso, a mensagem Path reserva sua utilizacao alocando a
requisicao no timeslot que atenda ao intervalo de tempo. Se nao houver recursos
disponıveis, uma mensagem PathErr e criada e a requisicao e bloqueada e seu
processamento finalizado.
9. Apos reservar o recurso, o tempo de duracao da transmissao dos dados da tarefa
e subtraıdo do tempo de inıcio da requisicao para ser realizada a reserva da rede.
10. A mensagem se torna entao uma mensagem Resv que e enviada ate o no usuario
pelo mesmo caminho seguido na viagem de ida.
5.3 A arquitetura proposta 59
11. Ao chegar no no usuario, a confirmacao do recurso computacional e realizada.
A fase da mensagem e modificada para Reserva futura de rede e a mensagem se
torna Path novamente.
12. A mensagem e enviada novamente ao no provedor de recursos.
13. O roteamento e realizado no a no nesta fase, sendo o proximo hop da mensa-
gem escolhido utilizando-se das informacoes de nıvel de feromonio em cada no
intermediario providas pelo algoritmo AntNet.
14. A cada enlace atravessado, a mensagem Path coleta no Vetor de estado futuro de
comprimento de onda a disponibilidade futura dos comprimentos de onda desses
enlaces nos tempos requeridos pela requisicao e os armazena em seu Label Set.
Para essa coleta, se considera a duracao do caminho optico imediatamente antes
do inıcio de execucao da tarefa.
15. Se nao houver disponibilidade dos comprimentos de onda nos enlaces no tempo
futuro desejado, a mensagem se torna PathErr e o mecanismo de crankback
e iniciado para o calculo de uma nova rota, impedindo que a requisicao seja
bloqueada por falta de recursos naqueles enlaces.
16. Apos coletar o estado futuro dos comprimentos de onda dos enlaces atravessados
e chegar no no provedor, a mensagem Path escolhe o primeiro comprimento de
onda disponıvel no Label Set e o utiliza para reservar a rede no tempo requerido.
17. Se nao houver disponibilidade de comprimento de onda, a tentativa de estabele-
cimento de caminho optico e cancelada. Uma mensagem Notify e enviada para
o no provedor e o recurso computacional reservado e liberado da reserva.
18. Apos realizar a escolha do comprimento de onda para a reserva da rede, a
mensagem se torna uma mensagem Resv que mantem consigo o comprimento
de onda escolhido e e enviada de volta ao no usuario.
19. Em sua trajetoria, a mensagem Resv reserva para o futuro em cada enlace
60 Arquitetura para agendamento e execucao futura de tarefas
atravessado o comprimento de onda escolhido no no provedor pela mensagem
Path.
20. Ao chegar no no usuario, a mensagem Resv confirma a reserva dos recursos e
o agendamento do caminho optico entre o no usuario e o no provedor para o
tempo requerido pela requisicao.
21. A mensagem RSVP-TE torna-se novamente uma mensagem Path e sua fase e
alterada para Alocacao imediata. O plano de controle interrompe o processo de
sinalizacao e aguarda ate que o tempo a qual o caminho optico foi agendado
seja chegado para retomar o processo.
22. Chegado o tempo de reserva da requisicao, o plano de controle retoma o processo
de sinalizacao e envia a mensagem Path ate o no provedor de recursos. A
mensagem segue a mesma rota utilizada anteriormente.
23. Enlace a enlace, a mensagem verifica o estado das reservas do comprimento de
onda.
24. No no provedor, a mensagem verifica se o recurso computacional continua re-
servado. Se a reserva foi comprometida em algum enlace ou no recurso compu-
tacional, a requisicao e bloqueada pelo plano de controle e seu processamento
finalizado. Entretanto, o sistema de reservas futuras garante que uma reserva
realizada nao pode ser desfeita por outra requisicao concorrente.
25. Ao chegar no no provedor e validado com sucesso o estado das reservas, a
mensagem se torna Resv e uma conexao entre o no usuario e o no provedor e
inicializada.
26. A mensagem Resv e enviada ao no usuario e, enlace a enlace, aloca o compri-
mento de onda que foi reservado na fase Reserva futura de rede e dessa maneira
estabelece a conexao entre os dois nos, usuario e provedor.
27. Ao chegar ao no usuario, a mensagem Resv confirma a alocacao do comprimento
de onda e o estabelecimento da conexao optica.
5.3 A arquitetura proposta 61
28. Neste momento, o caminho optico esta estabelecido.
29. O plano de controle entao inicia o envio dos dados ao no provedor.
30. Apos os dados serem enviados e recebidos pelo no provedor, o plano de controle
inicia o processamento de uma requisicao de encerramento do caminho optico
estabelecido.
31. Uma mensagem PathTear e enviada ao no provedor.
32. A cada enlace atravessado, a mensagem PathTear desaloca o comprimento de
onda que havia sido reservado.
33. Ao chegar no no provedor, a mensagem confirma o encerramento do caminho
optico.
34. O plano de controle do no provedor inicia o processamento de uma requisicao
de processamento da tarefa.
35. A tarefa e processada.
36. O processamento da requisicao de servico e entao finalizado com sucesso.
No caso da versao relaxada, como ja falado anteriormente, ao inves do uso do ob-
jeto RSVP-TE Label Set, a mensagem RSVP-TE carrega a disponibilidade completa dos
comprimentos de onda nos enlaces atravessados pela mensagem. Este algoritmo tambem
faz uso de apenas 2 fases da sinalizacao, excluindo-se neste caso a fase Reserva futura
de servidor, pois a coleta da disponibilidade dos comprimentos de onda acontece na fase
Reserva futura de servidor pela mensagem Path e a escolha do comprimento de onda a ser
reservado acontece na chegada dessa mensagem ao no destino, de acordo com a polıtica
de reserva de recursos vigente. A reserva do comprimento de onda e realizada entao pela
mensagem Resv nos enlaces atravessados em sua viagem de volta.
A Figura 5.7 ilustra o algoritmo de reserva futura e a Figura 5.8 ilustra o algoritmo
de reserva futura com relaxamento.
62 Arquitetura para agendamento e execucao futura de tarefas
E importante ressaltar que o algoritmo proposto nao preve o envio de uma confirma-
cao do processamento da tarefa no recurso do no provedor, pois o processo de sinalizacao
contempla apenas as operacoes necessarias para o estabelecimento de um caminho optico
para o envio de um fluxo de dados. O processamento em si desses dados em um recurso
nao faz parte do escopo do algoritmo de sinalizacao.
Figura 5.7: Algoritmo de sinalizacao de reserva futura.
5.3 A arquitetura proposta 63
Figura 5.8: Algoritmo de sinalizacao de reserva futura com relaxamento.
Capıtulo 6
Simulacao
Para a avaliacao da arquitetura e dos algoritmos propostos, foi utilizado o backbone
NSFNET como a topologia do lambda grid a ser simulado. O backbone e composto por
14 nos, com 21 enlaces bidirecionais e com uma media de comprimento de caminho mais
curto igual a 2,2 hops.
Os atrasos de propagacao entre cada no seguem as informacoes contidas na Figura
6.1.
Considerou-se uma quantidade Pclass de classes de servico por no.
Os nos 1 e 2 sao nos consumidores, ou seja, nos usuarios do lambda grid que geram
requisicoes de execucao de tarefa em outros nos, e os nos restantes sao nos provedores de
recursos responsaveis por receberem as tarefas. A escolha dos nos consumidores se deu
dessa forma para que exista concorrencia entre eles quanto as requisicoes de execucao de
tarefa que sao geradas e processadas nos nos da rede.
A escolha dos nos provedores de servico pelos nos consumidores se da de forma
aleatoria com probabilidade uniforme.
Cada requisicao de execucao de tarefa e gerada com tempos de inıcio aleatorios,
obedecendo a um limite superior de Limsup e a um limite inferior de Liminf em relacao
ao tempo atual de operacao do lambda grid. Esses limites impedem que uma requisicao
seja gerada com tempos alem da janela de tempo total disponıvel e menores que o tempo
66 Simulacao
Figura 6.1: Backbone NSFNet utilizado na simulacao.
atual de operacao.
Os tempos de intervalo sao fixos. Nestas simulacoes, considerou-se o valor de 1850
s para o calculo do tempo de intervalo de uma requisicao.
Durante o perıodo inicial Irequests, existe apenas a geracao e lancamento de formigas
pela rede, que obedece a uma taxa de distribuicao constante.
O envio das formigas nao acontece atraves do mesmo canal utilizado para envio dos
dados, sendo utilizado um canal out of band para a transmissao das formigas.
A duracao da tarefa obedece uma distribuicao exponencial negativa de media 1500 s.
A duracao de um caminho optico tambem obedece uma distribuicao exponencial negativa,
mas com media igual 10 s.
Para avaliar a eficacia da arquitetura e dos algoritmos propostos, foram abordados
tres cenarios diferentes, de acordo com a quantidade de comprimentos de onda por enlace
na rede:
Cenario 1: Cada enlace da rede possui 4 comprimentos de onda disponıveis.
Cenario 2: Cada enlace da rede possui 3 comprimentos de onda disponıveis.
Cenario 3: Cada enlace da rede possui 5 comprimentos de onda disponıveis.
Foi imposta uma carga de trabalho variante de 80% a 130% no lambda grid. A
carga de trabalho esta relacionada a quantidade de requisicoes que sao geradas para cada
67
recurso computacional presente na rede. Assim, em uma carga de trabalho de 100%, cada
processador da rede possui uma requisicao para processar.
Tambem foram realizadas simulacoes que consideraram diferentes quantidades de
processadores por no sob carga de trabalho de 100%.
Os parametros utilizados nas simulacoes estao dispostos na Tabela 6.1.
Tabela 6.1: Parametros utilizados
Parametro Sımbolo ValorNumero de requisicoes por execucao Prun 106
Numero de processadores por no Pproc 100Numero de classes de servico por no Pclass 1Intervalo de inıcio para geracao de requisicoes de servico Irequests 1000 sTaxa de lancamento de formigas Rants 48 formigas/sFator de aumento da funcao heurıstica f 3Peso da janela do modelo exponencial η 0,005Redutor da janela do modelo parametrico c 0,3Corretor de roteamento para formigas Fs→d α 0,6Nıvel de confianca de feromonio γ 0,65Primeiro peso do reforco adaptativo c1 0,6Segundo peso do reforco adaptativo c2 0,4Amplificador da funcao de amassamento a 5Limite de hops para uma mensagem RSVP-TE Limhop 42Limite superior de tempo para inıcio de uma requisicao futura Limsup 2000 sLimite inferior de tempo para inıcio de uma requisicao futura Liminf 2 s
Capıtulo 7
Resultados
Primeiramente, foram avaliadas a eficacia dos algoritmos propostos de reserva futura
e reserva futura com relaxamento no tempo de envio utilizando-se das 3 polıticas de escolha
de no (CLL, BADR e LL) e das diferentes combinacoes de polıtica de reserva de recursos
(FF e EST) sob diferentes cargas de trabalho. No caso da reserva futura com relaxamento,
a polıtica de reserva de recursos tambem pode ser aplicada aos comprimentos de onda da
rede.
Avaliamos qual foi a melhor combinacao entre as polıticas de escolha de no e as
polıticas de reserva de recursos, considerando-se o valor de timeslot igual a 100 s. Apos
determinarmos a melhor combinacao, esta foi utilizada para o restante das simulacoes. De
acordo com a Figura 7.1, a melhor combinacao de polıticas para o algoritmo de reserva
futura foi a polıtica LL com a polıtica de reserva de recursos Earliest Start Time (EST),
no grafico representada por EST. De acordo com as Figuras 7.2 e 7.3, a melhor com-
binacao para o algoritmo com relaxamento no tempo de envio foi a polıtica LL com a
polıtica First-Fit (FF) para a reserva de recursos computacionais e de rede, situacao essa
representada no grafico por FF-FF. Por conta disso, as demais simulacoes utilizaram-se
destas combinacoes de polıticas para cada algoritmo.
Tambem foi avaliada a probabilidade de bloqueio total no lambda grid para diferentes
tamanhos de timeslot utilizando-se da polıtica de escolha de no LL em um ambiente com
70 Resultados
Figura 7.1: Probabilidade de bloqueio sob diferentes cargas de trabalho para as diferentespolıticas de escolha de no e reserva de recursos para o algoritmo de reserva futura.
Figura 7.2: Probabilidade de bloqueio sob diferentes cargas de trabalho para as diferentespolıticas de escolha de no e reserva de recursos para o algoritmo de reserva futura comrelaxamento no envio de dados.
71
Figura 7.3: Probabilidade de bloqueio sob diferentes cargas de trabalho para as diferentespolıticas de escolha de no e reserva de recursos para o algoritmo de reserva futura comrelaxamento no envio de dados em escala logarıtmica.
carga de trabalho de 100%. Conforme os resultados obtidos apresentados na Figura 7.4, o
algoritmo com relaxamento no tempo de envio mostrou-se mais eficaz que o algoritmo de
reserva futura. Pode ser observado tambem que a probabilidade de bloqueio, mesmo que
mınima nesse cenario, tende a crescer conforme o tamanho do timeslot e maior no caso do
uso do algoritmo com relaxamento e tende a diminuir conforme o aumento do tamanho
do timeslot no caso do uso do algoritmo de reserva futura.
Por conta da necessidade de se utilizar um tamanho padronizado de timeslot para
as seguintes simulacoes para os dois algoritmo propostos, verificou-se que o valor de 100
s, ja utilizado nas simulacoes, tinha um bom desempenho em ambos os algoritmos.
Em seguida, avaliamos a eficacia dos algoritmos propostos neste trabalho para dife-
rentes cargas de trabalho do lambda grid com 4 comprimentos de onda por enlace (Cenario
1). Para efeitos de comparacao entre os algoritmos, cujos resultados estao mostrados na
Figura 7.5, usamos a situacao de alocacao imediata apresentada em [5] com a adicao dos
mecanismos de crankback propostos em [23], que melhoram o desempenho do algoritmo
72 Resultados
Figura 7.4: Probabilidade de bloqueio para diferentes tamanhos de timeslot.
de tal forma que ultrapassa o desempenho do roteamento fixo-alternado. Somente foi
considerado nessa simulacao um numero de caminhos alternativos por no igual a 2, que e
a opcao de melhor desempenho.
Conforme ilustra a Figura 7.5, o algoritmo de reserva futura com relaxamento obteve
o melhor desempenho em todas as cargas de trabalho simuladas, reduzindo em muito
a probabilidade de bloqueio. Para uma carga de trabalho de 100%, o algoritmo com
relaxamento proporcionou uma taxa de bloqueio de cerca de 2%, ao passo que o algoritmo
imediato proporcionou uma taxa de cerca de 5%. Ja o algoritmo de reserva futura teve o
pior desempenho, tendo taxas de bloqueio mais altas que o algoritmo de reserva imediata,
com um valor de taxa de bloqueio de cerca de 7%. Seu desempenho so melhorou a partir de
cargas de trabalho mais altas, em especıfico a partir de 110% de carga de trabalho. Nestes
pontos, seu desempenho se aproximou do algoritmo de reserva futura com relaxamento.
Em seguida, a eficacia dos algoritmos foi avaliada utilizando-se de 3 e 5 comprimentos
de onda por enlace (Cenarios 2 e 3). A Figura 7.6 ilustra novamente o desempenho
superior do algoritmo de reserva futura com relaxamento no caso de 3 comprimentos de
73
Figura 7.5: Comparacao dos algoritmos de reserva futura propostos com o algoritmo dereserva imediata com 4 comprimentos de onda por enlace.
onda por enlace. Para uma carga de 100%, o algoritmo com relaxamento manteve uma
probabilidade de bloqueio de cerca de 2%, ao passo que o algoritmo de reserva imediata
obteve uma probabilidade de bloqueio por volta de 15% e o algoritmo de reserva futura
novamente mostrou o pior desempenho nessa carga de trabalho, obtendo por volta de 17%
de probabilidade de bloqueio.
Para 5 comprimentos de onda por enlace, conforme a Figura 7.7, para cargas mais
baixas o algoritmo com relaxamento obteve desempenho muito proximo do algoritmo de
reserva imediata, porem aproximando-se de 100% de carga de trabalho a diferenca de
desempenho aumentou e dessa faixa de carga de trabalho para frente o algoritmo de
reserva imediata obteve o pior desempenho. O algoritmo de reserva futura teve o pior
desempenho nas primeiras cargas de trabalho, porem em 100% de carga seu desempenho
ultrapassou o algoritmo de reserva imediata e a partir desse ponto seu desempenho se
igualou ao algoritmo com relaxamento.
Em todos os cenarios, o algoritmo de reserva futura com relaxamento teve prati-
74 Resultados
Figura 7.6: Comparacao dos algoritmos em um ambiente com 3 comprimentos de ondapor enlace.
Figura 7.7: Comparacao dos algoritmos em um ambiente com 5 comprimentos de ondapor enlace.
75
camente o mesmo desempenho, pois o uso do agendamento dos recursos da rede optica
evitava o bloqueio da tarefa por falta de recursos da rede. Em outras palavras, 3 com-
primentos de onda por enlace ja eram suficientes para o agendamento das transmissoes
dos dados das tarefas sem incorrer em bloqueio. Dessa forma, o algoritmo de reserva
futura com relaxamento consegue ter um desempenho superior com menor necessidade de
recursos na rede optica do lambda grid.
Por fim, foi avaliada a eficacia dos algoritmos em um ambiente com 4 comprimentos
de onda para diferentes quantidades de processadores em cada no do lambda grid operando
com 100% de carga de trabalho. A medida que o numero de processadores aumenta,
aumenta tambem a necessidade de transmissoes na rede optica do lambda grid ate que
ela passa a ser o limitante para a execucao de tarefas.
Figura 7.8: Comparacao dos algoritmos para diferentes quantidades de processadores.
Conforme ilustra a Figura 7.8, os algoritmos propostos obtiveram melhor desempe-
nho que o algoritmo de reserva imediata para todas as quantidades de processadores. O
algoritmo de reserva futura com relaxamento obteve melhor desempenho ate a quantidade
de 200 processadores por no. A partir de 250 processadores por no, o algoritmo de reserva
76 Resultados
futura obteve o melhor desempenho.
Capıtulo 8
Conclusao
Este trabalho propos uma arquitetura de lambda grid gerenciada conjuntamente
pelo plano de controle GMPLS e um algoritmo baseado em ACO capazes de gerenciar
dinamicamente o ambiente e de disponibilizar seus recursos de rede e computacionais para
usos em tempos futuros. Foram desenvolvidas as extensoes necessarias a arquitetura do
ambiente, ao plano de controle GMPLS e ao algoritmo AntNet.
Os algoritmos propostos mostraram-se capazes de agendar caminhos opticos e re-
cursos computacionais para o futuro. O algoritmo proposto de reserva futura com relaxa-
mento no tempo de envio mostrou desempenho superior ao algoritmo proposto em [5] em
praticamente todas as situacoes simuladas. O algoritmo de reserva futura obteve na maio-
ria dos testes realizados desempenho pior que o algoritmo de reserva imediata. Assim, tais
simulacoes mostram a necessidade de se incorporar o agendamento de recursos tambem
no nıvel da rede optica, apesar da maior complexidade e necessidade de se modificar o
protocolo RSVP-TE.
Nesse contexto, o uso de algoritmo de reserva futura com relaxamento, integrado
a um plano de controle GMPLS, em um ambiente de lambda grid demonstra uma nova
opcao para que os recursos de um ambiente de grade computacional sejam gerenciados e
providos de maneira otimizada a seus usuarios.
Referencias Bibliograficas
[1] I. Foster and C. Kesselman, Eds., The Grid: Blueprint for a New Computing Infras-tructure. Morgan Kaufmann Publishers, 1998.
[2] H. Zang, J. Jue, and B. Mukherjee, “A review of routing and wavelength assignmentaproaches for wavelength-routed optical WDM networks,” Optical Networks Maga-zine, vol. 1, no. 1, pp. 47–60, January 2000.
[3] L. Berger, “Generalized Multi-Protocol Label Switching (GMPLS) SignalingFunctional Description,” RFC 3471 (Proposed Standard), Jan. 2003. [Online].Available: http://www.ietf.org/rfc/rfc3471.txt
[4] G. S. Pavani and H. Waldman,“Evaluation of an ant-based architecture for all-opticalnetworks,” in 10th Conference on Optical Network Design and Modelling (ONDM’06),Copenhagen, Denmark, May 2006.
[5] ——, “Co-scheduling in lambda grid systems by means of ant colony optimization,”Future Generation Computer Systems, vol. 25, no. 3, pp. 257–265, March 2009.
[6] E. Bonabeau, M. Dorigo, and G. Theraulaz, Swarm Intelligence – From Natural toArtificial Systems. Oxford University Press, 1999, vol. Santa Fe Institute Studies inthe Sciences of Complexity.
[7] C. Develder, B. Dhoedt, B. Mukherjee, and P. Demeester, “On dimensioning opticalgrids and the impact of scheduling,” Photonic Network Communications, vol. 17,no. 3, pp. 255–265, July 2008.
[8] G. S. Pavani and H. Waldman, “Grid resource management by means of ant colonyoptimization,” in Third International Conference on Broadband Communications,Network and Systems (BroadNets 2006), San Jose, CA, October 2006.
[9] R. Ramaswami and K. Sivarajan, Optical Networks: a Pratical Perspective, 2nd ed.Morgan Kaufmann Publishers, 2002.
[10] A. Farrel and I. Bryskin, GMPLS: Architecture and Applications. Morgan KaufmannPublishers, 2006.
[11] L. Berger, “Generalized Multi-Protocol Label Switching (GMPLS) SignalingResource ReserVation Protocol-Traffic Engineering (RSVP-TE) Extensions,” RFC3473 (Proposed Standard), Jan. 2003, updated by RFC 4003. [Online]. Available:http://www.ietf.org/rfc/rfc3473.txt
80 REFERENCIAS BIBLIOGRAFICAS
[12] D. Katz, K. Kompella, and D. Yeung, “Traffic Engineering (TE) Extensions toOSPF Version 2,” RFC 3630 (Proposed Standard), Sep. 2003. [Online]. Available:http://www.ietf.org/rfc/rfc3630.txt
[13] J. Lang, “Link Management Protocol (LMP),” RFC 4204 (Proposed Standard), Oct.2005. [Online]. Available: http://www.ietf.org/rfc/rfc4204.txt
[14] A. Abbas, Grid Computing: A Practical Guide to Technology and Applications, ser.Networking Series. Charles River Media, 2004.
[15] C. Barz, U. Bornhauser, P. Martini, and M. Pilz, “Timeslot-based resource mana-gement in grid environments,” in IASTED Conference on Parallel and DistributedComputing and Networks (PDCN2008), 2008.
[16] G. Zervas, E. Escalona, R. Nejabati, D. Simeonidou, G. Carrozzo, N. Ciulli, B. Belter,A. Binczewski, and M. S. Poznan, “Phosphorus Grid-Enabled GMPLS control planeG2MPLS: Architectures , services , and interfaces,” IEEE Communications Magazine,no. June, pp. 128–137, June 2008.
[17] G. S. Pavani and H. Waldman, “Classes of service for scheduling in lambda gridsusing ant colony optimization,” in Simposio Brasileiro de Redes de Computadores eSistemas Distribuıdos (SBRC2008), 2008, pp. 651–664.
[18] M. Dorigo and G. D. Caro, “Ant colony optimization: a new meta-heuristic,” inProceedings of 1999 Congress on Evolutionary Computation, vol. 2, June-September1999, pp. 1470–1477.
[19] G. Di Caro and M. Dorigo, “AntNet: distributed stigmergetic control for commu-nications networks,” Journal of Artificial Intelligence Research, vol. 9, pp. 317–365,1998.
[20] M. Dorigo and T. Stutzle, Ant Colony Optimization. MIT Press, 2004.
[21] V. Jacobson and M. Karels, “Congestion avoidance and control,” ACM ComputerCommunication Review, vol. 18, no. 4, pp. 314–329, August 1990.
[22] B. Baran and R. Sosa, “AntNet – routing algorithm for data networks based onmobile agents,” Revista Iberoamericana de Inteligencia Artificial, vol. 12, pp. 75–84,2001.
[23] G. Pavani and H. Waldman, “Routing and wavelength assignment with crankback re-routing extensions by means of ant colony optimization,” IEEE Journal on SelectedAreas in Communications, vol. 28, no. 4, pp. 532–541, May 2010.
[24] A. Farrel, A. Satyanarayana, A. Iwata, N. Fujita, and G. Ash, “CrankbackSignaling Extensions for MPLS and GMPLS RSVP-TE,” RFC 4920 (ProposedStandard), Internet Engineering Task Force, Jul. 2007. [Online]. Available:http://www.ietf.org/rfc/rfc4920.txt