• Sonuç bulunamadı

4. GEREÇ VE YÖNTEM 1 Araştırmanın Amacı

5.2. Araştırmaya Katılan Sporcuların Kulüp Ortamı İletişimine İlişkin Genel Görüşler

O uso de mais de uma alternativa de caminhos para alcançar um dado destino em infraes- truturas de comunicação pode ser uma boa solução em situações onde se requer uma maior taxa de transmissão ou uma melhor distribuição da carga de comunicação. Diferentes abordagens, que

vão desde a exploração de múltiplos caminhos, avaliação do estado de ocupação dos recursos de comunicação roteador a roteador e a mistura de características contribuem para o melhor uso da rede. No presente trabalho, mecanismos de balanceamento de carga são explorados em tempo de projeto e em tempo de execução. Em tempo de projeto, a decisão de qual caminho utilizar na co- municação entre duas entidades para todos os pares comunicantes tem por objetivo controlar a ocorrência de pontos quentes na rede. Em tempo de execução, disponibilizam-se contratos de ser- viço que permitam a exploração de mais de um caminho de comunicação entre pares comunican- tes. Em ambos os casos, o objetivo é a tomada de decisão baseada no conhecimento do estado da rede, ou pelo menos de regiões de interesse desta.

2.3.3 ADAPTAÇÃO GLOBAL

Diferentemente da visão dos mecanismos de adaptação em nível de enlace, o uso de meca- nismos fim a fim propõe a observação global do sistema para a tomada de decisão. Diferentes for- mas de adaptação fim a fim podem ser assumidas, tais como a adequação das taxas de injeção de tráfego e a adaptação de caminhos em infraestruturas de comunicação. Na presente Seção, revisa- se alguns dos trabalhos envolvendo controle fim a fim aplicados a sistemas baseados em NoCs.

Pastrnak et al. [PAS06] propõem uma infraestrutura hierárquica de qualidade de serviço,

voltada para aplicações que serão executadas em uma estrutura de multiprocessador baseada em NoC. Para tanto, as aplicações são descritas a partir de um conjunto de Jobs. Cada Job é represen- tado por um conjunto de tarefas comunicantes e pelos requisitos de computação e comunicação que serão necessários para sua execução. A QoS é avaliada em dois níveis, um local e outro global. Sempre que um job for escalonado, um módulo local avalia se os recursos necessários para garan- tir a QoS deste Job estão disponíveis em um PE para o qual este foi mapeado. Se isto ocorrer, o sis- tema aloca o recurso. Do contrário, o módulo de QoS local pede intervenção de um módulo de QoS global. Este último modifica os mapeamentos e/ou redefine as prioridade de acesso a alguns recur- sos, a fim de garantir que todas as aplicações em execução mantenham seus requisitos definidos em tempo de compilação.

Jafari e Yaghmaee [JAF08] exploram a adoção de um mecanismo de controle de fluxo u-

sando um algoritmo de justiça max-min com pesos (em inglês, weighted max-min fairness). Um al- goritmo é dito max-min fair [DAL03] se e somente se, dado um vetor de taxas de comunicação X, o

aumento de uma taxa xa não leva à diminuição de uma taxa xb, tal que xb <= xa. Um cenário de

compartilhamento justo é apresentado na Figura 2.6(a) abaixo, enquanto um compartilhamento max-min fair é apresentado na Figura 2.6(b). O algoritmo de peso max-min justo tem o mesmo princípio, porém assumindo que xb/wb <= xa/wa, onde w* é uma unidade de peso específica para

cada taxa x*. O modelo de comunicação proposto é similar ao definido por [VAN07], onde as ocu- pações dos canais são capturadas por monitores distribuídos pela NoC e a tomada de decisão é fei- ta por uma unidade de controle centralizada.

Figura 2.6 – Associação de três fluxos compartilhando um canal. Em (a) mostra-se a alocação quando os fluxos têm mesma taxa de requisição, enquanto que em (b) mostra-se uma alocação max-min justa para

taxas com requisitos diferentes.

Koundinya et al. [KOU04] propõem algoritmos de redefinição de rotas em redes com rote-

amento na origem, visando o atendimento de múltiplos parâmetros de QoS. A busca pelo melhor caminho é realizada em duas etapas. A primeira é a fase de busca de caminhos e a segunda é a de confirmação da rota, onde o recurso alvo é reservado. Os resultados obtidos a partir do algoritmo são comparados ao algoritmo de Djikstra, um algoritmo de base para a busca de melhores cami- nhos em redes.

Radulescu et al. [RAD05] propõem um projeto de interface de rede (em inglês, network in- terface, NI) que dá suporte a garantia de serviços, abstração de memória compartilhada e configu-

ração da rede para projetos de SoCs baseados em NoCs. Para tanto, a NI é projetada de forma mo- dular, tendo por base um modelo de transações no qual estão apoiados protocolos de barramen- tos, tais como AXI [ARM09], DTL [PHI09] e OCP [OCP09]. Cada um destes protocolos provê suporte a requisições de leitura e escrita entre mestre e escravo em uma comunicação. A NI é dividida em dois módulos, um NI Kernel e um NI Shell. O primeiro tem por objetivo garantir serviços e abstra- ções de acesso a memória. O segundo permite a criação de mecanismos de conexão em grupos, de um mestre para um conjunto de escravos. As configurações propostas no artigo referem-se à aber- tura e fechamento de conexões no sistema antes da execução de uma aplicação. A esta configura- ção está associada a alocação de recursos de comunicação, tais como fatias de tempo atribuídas a cada conexão em cada canal de comunicação (escalonamento da comunicação) e alocação da

quantidade de fila de armazenamento. O trabalho usa a infraestrutura Æthereal de comunicação, que provê QoS através da disponibilização de serviços garantido (vazão e latência garantidas atra- vés de multiplexação por divisão temporal nos canais) e melhor esforço.

Pousias e Arslan [NOU06] propõem uma infraestrutura de comunicação baseada em cha-

veamento wormhole, utilizando canais virtuais, que controla a carga dos canais de comunicação de forma descentralizados através do ajuste das taxas de injeção de tráfego possíveis a partir de cada origem. A tomada de decisão do ajuste da taxa de injeção de pacotes na rede é feita a partir da ob- servação das filas de armazenamento presentes na infraestrutura de comunicação, sendo este um processo realizado de forma descentralizada. Busca-se localizar ocorrência de contenção, o que pode deflagrar o congestionamento na rede. Detectada a ocorrência de contenção, origens de co- municação , injetoras de tráfego, receberão pacotes de sinalização solicitando que suas taxas de injeção de pacotes sejam reduzidas.

Ogras e Marculescu [OGR06b] propõem um mecanismo de controle de fluxo do tipo laço

fechado (em inglês, closed-loop), baseado em um algoritmo de predição de situações de congesti- onamento. A predição é feita através da avaliação do estado dos roteadores. Cada roteador tem o poder de avaliar sua capacidade de atendimento a pacotes que estão chegando, através da medi- ção da ocupação média de sua fila de armazenamento e do histórico de taxa de chegada dos paco- tes. Ocupações médias acima de um dado valor limiar (e. g. 80% do buffer cheio) e histórico de al- tas taxas de recepção de pacotes podem revelar a dificuldade de repasse dos pacotes e a possível ocorrência de congestionamento. Esta detecção de potencial congestionamento é repassada aos roteadores vizinhos, gerando uma onda de propagação desta informação. Ao receberem o alerta de congestionamento, as origens de comunicação, geradoras do tráfego, podem regular as taxas com que injetam pacotes.

Kumar et al. [KUM08] propuseram um esquema de controle de fluxo baseado em tokens

para a definição dos melhores caminhos de comunicação. Tokens são indicações de disponibilidade na rede. Cada nodo na rede envia tokens para uma região limitada definida por um dado número máximo de hops. Os tokens contêm informações de disponibilidade de recursos tais como fila de armazenamento e canais virtuais em uma dada porta de entrada. Durante o roteamento, os paco- tes usam individualmente as informações disseminadas pelos tokens, a fim de buscar a rota menos congestionada dentro de uma região. Esta abordagem descentraliza a tomada de decisão das ro-

tas, permitindo que uma região pertencente ao caminho seja avaliada.

Gratz et al. [GRA08] propõem uma infraestrutura de balanceamento de carga da comunica-

ção em tempo de execução na infraestrutura de transporte, levando em consideração informações de contenção na rede por regiões (em inglês, Regional Congestion Awareness, RCA). Os autores utilizam como métrica de contenção a quantidade de requisições de transmissão feitas pelas por- tas de saída de cada roteador. Outras duas métricas também foram avaliadas por estes, a disponi- bilidade de canais virtuais e a ocupação de fila de armazenamento. Contudo, a primeira foi a que apresentou melhores resultados. Cada roteador coleta informações de ocupação e transmite aos roteadores vizinhos. Experimentaram-se três abordagens: (i) a RCA 1D, (ii) a RCA fanin e (iii) a RCA quadrante. Na primeira, os valores são disseminados por apenas um dos eixos da rede. Na segun- da, a transmissão é equivalente àquela 1D, diferenciando-se por agregar informações dos roteado- res vizinhos ao roteador corrente. Na terceira abordagem a informação é transmitida por quadran- tes. O tráfego destes pacotes se dá por uma rede distinta da de dados e contribui para a tomada de decisão da porta de saída. Resultados mostram ganho em todas as abordagens que utilizam infor- mação global de congestionamento da rede quando comparado a abordagens determinísticas, ou que utilizam o estado local de cada roteador. Das três abordagens de disseminação da informação de congestionamento, a RCA quadrante foi a que permitiu melhor desempenho da infraestrutura de comunicação.