• Nenhum resultado encontrado

2 Referencial Teórico

3.1 Topologias Irregulares

(ABABEI, 2010) propõe sintetizar uma topologia customizada de uma NoC através de floorplaning. A síntese é feita usando um simulador programado através da linguagem C++. O simulador suporta roteadores com um número arbitrário de portas e canais virtuais. As topologias são verificadas usando precisão de ciclos. Um grafo das tarefas e comunicações é dado (Communication Task Graph - CTG) e uma floorplan inicial. O objetivo é gerar M floorplans diferentes a fim de obter melhores resultados de latência e área. A alocação dos IP/cores para os roteadores é feita para cada floorplan. Quatro roteadores são colocados nos cantos de cada core. Essa atribuição é feita usando um algoritmo de correspondência e um grafo bipartido que utiliza dois conjuntos de nós: os nós que representam os cores da aplicação e os nós que representam os roteadores. Os IP(Intellectual Property) ou cores são ligados aos roteadores e a criação dos links é feita. A medida que os que o simulador vai otimizando os floorplans, os links dos roteadores são removidos, assim também diminuindo o número de portas e a área ocupada. O roteamento é realizado por tabelas dentro de cada roteador. Após toda a estruturação dos links dos roteadores, os caminhos de roteamento são calculados e armazenados nas tabelas de cada roteador. Os experimentos foram feitos usando algumas aplicações variando os números de cores e a taxa de injeção. Os resultados se mostram satisfatórios quando comparados com uma topologia regular Mesh. A figura 7 mostra como é realizada a alocação dos

roteadores e links e também a otimização dos números de links.

Figura 7: Permutação dos Roteadores e Links na Aplicação (ABABEI, 2010)

As tarefas do grafo são divididas através de um algoritmo de correspondência e um grafo bipartido, onde cada tarefa é alocada a quatro roteadores, um roteador para cada canto depois que a tarefa for alocada em uma floorplan. Os links então são montados e depois reduzidos a fim de uma otimização na área.

A rede chamada UTNoC (Undefined Topology Network on Chip) proposta por (MES- QUITA et al., 2016) possui uma topologia irregular e cada roteador pode se conectar com qualquer outro na rede. Cada roteador pode se ligar a apenas um core. O roteamento é realizado através de tabelas dentro de cada roteador. Cada roteador só tem conhecimento prévio dos roteadores ligados diretamente a eles, então para a realização da comunicação integral entre todos os roteadores, cada roteador envia uma mensagem de broadcasting enviando as informações do roteador de origem, a fim de montar a tabela de roteamento de cada roteador, contendo a distância de cada roteador que compõe a rede. A figura 8 mostra como funciona a etapa de broadcasting na rede UTNoC. Os roteadores da rede UTNoC podem ter um número variado de portas, já que cada roteador pode se ligar a um número variado de roteadores.

Cada roteador envia uma mensagem de broadcasting, essa mensagem é então passada por todos os outros roteadores e à medida que eles vão recebendo essa mensagem, é feita uma leitura de um campo que contabiliza por quantos roteadores a mensagem passou desde a origem, assim então é possível montar uma tabela dentro de cada roteador con- tendo o nome dos outros roteadores e quantos saltos são necessários para chegar nesses

Figura 8: Etapa de Broadcasting nos Roteadores UTNoCs (MESQUITA et al., 2016)

roteadores.

Os experimentos executados tomando como base a rede UTNoC foram rodados em um simulador desenvolvido em SystemC. A ferramenta de simulação também conta com o uso de um algoritmo genético para percorrer o espaço de busca procurando redes UTNoCs. As instâncias da rede são criadas através dos parâmetros da aplicação que são passados como entrada na ferramenta. As redes têm o comportamento de comunicação simulados e a latência média é retornada, esse resultado de latência é devolvido a ferramenta de ex- ploração. Esse valor é usado pelo algoritmo genético para assim escolher novos indivíduos. A topologia irregular da UTNoC toma como base uma topologia da rede regular Mesh e são retirados links a fim de otimizar a rede em relação a latência média e obter um desempenho bem próximo ao do CTG da aplicação. Os experimentos foram executados em 4 aplicações com taxas de injeções variadas. Os resultados alcançados mostram que é possível obter uma topologia irregular com um desempenho próximo ao grafo da aplica- ção, com uma redução no número de conexões e apenas um pequeno aumento na latência média. Quando comparado a uma Mesh a taxa de latência é bem menor. Diferente do proposto neste trabalho, onde são considerados roteadores heterogêneos e pacotes RT.

IrNIRGAM é um framework baseado no NIRGAM que oferece suporte a topologias irregulares que é desenvolvido usando SystemC e C++ para simular o desempenho de uma

NoC irregular, que faz a utilização de canais virtuais, arbitragem Round-Robin (RR) e roteamento baseado em tabelas. A topologia é direta, então cada IP/Core é conetado diretamente a um único roteador. (CHOUDHARY; GAUR; LAXMI, 2011) apresenta a ferra- menta IrNIRGAM para simular o comportamento de NoCs com topologias irregulares. A ferramenta suporta diversas topologias e algoritmos de roteamento e gera como saída resultados de latência. Parâmetros como topologia, tipo do roteamento, tráfego dos pa- cotes, dentre outros, são passados ao simulador através de arquivos de configuração. A ferramenta também pode gerar gráficos das saídas da simulação. A figura 9 mostra como funciona o framework IrNIRGAM. O IrNIRGAM recebe como entrada um arquivo de con- figuração, onde é feita a escolha da topologia. Também como entrada é tida a aplicação específica e o padrão de tráfego. Depois disso o simulador com essas informações realiza os testes e gera os resultados esperados e também faz a síntese da rede.

Figura 9: Framework de Simulação IrNIRGAM (CHOUDHARY; GAUR; LAXMI, 2011)

Quanto aos experimentos, foram gerados um conjunto de topologias irregulares para aplicações específicas. A injeção dos flits é feita a cada dois ciclos de clock, mantendo assim esse intervalo do ínicio ao fim da simulação. As simulações foram realizadas utilizando 10000 ciclos. As comparações de resultados foram feitas em cima de uma Mesh 2D. São usadas aplicações que tem entre 16 e 81 cores. Os resultados de latência na topologia irregular têm uma taxa de 9,4 a 18,4 ciclos contra 13,2 a 69 ciclos da Mesh. No quesito de consumo de energia temos 18,5% a 25,8% da topologia irregular contra 24,6% a 53% da rede Mesh.

operadores do algoritmo genético. No final o algoritmo genético retorna a melhor rede, com os menores custos de comunicação e com a menor quantidade de roteadores possíveis. Depois que as redes irregulares são criadas, é realizado o floorplaning da rede, com isso é observado o consumo de energia da rede e os custos de comunicação, a partir daí a melhor rede é escolhida. Os resultados dos experimentos desse trabalho mostram que a segunda técnica tem melhores resultados que a primeira.

(MILFONT et al., 2017) procura avaliar restrições de caminhos em topologias irregulares, através do uso de uma ferramenta que visa garantir o deadlock free e gera métricas para analisar e avaliar em tempo de projeto a qualidade do roteamento. É utilizado um modelo de falha para gerar topologias com links falhos, o que permite explorar a manufatura em cenários usando tecnologia CMOS de 65nm e 22nm, a partir da variabilidade do atraso de links e da força de correlação espacial. É também usado um algoritmo de segmentação para diminuir a distância média entre as falhas na topologia. Os resultados experimentais mostram que a porcentagem de falhas aumenta de forma significativa com a força de correlação espacial, enquanto a distância entre falhas diminui. Também quanto maior a porcentagem de falha, maior a distância média de roteamento.

Documentos relacionados