• Nenhum resultado encontrado

2 Referencial Teórico

3.2 Redes-em-Chip Heterogêneas

Redes-em-Chip podem ser uma ótima solução para um SoC devido ao seu alto desem- penho causado pelo paralelismo na comunicação. Entretanto, esse paralelismo demanda uma quantidade maior de elementos (roteadores) para ajudar na comunicação entre os cores e com isso têm-se um bom aumento na área do SoC. (CARDOSO et al., 2005) propõe uma solução envolvendo roteadores de tamanhos heterogêneos, para assim minimizar os custos em área. A rede considerada compreende um trade-off entre latência e área, bus- cando assim reduzir a área e manter o desempenho da rede. A rede proposta é chamada de SoCINhet (System-on-Chip Interconnection Network Heterogeneous) e é baseada na

rede SoCIN (System-on-Chip Interconnection Network) (ZEFERINO; SUSIN, 2003). A rede desenvolvida por (CARDOSO et al., 2005) utiliza dois tipos de roteadores Rasoc (ZEFERINO; SUSIN, 2003) e Tonga (CARDOZO et al., 2004). O roteador Rasoc tem desempenho melhor quando comparado ao Tonga, mas ocupa mais área, portanto uma mescla desses dois roteadores em uma rede pode acarretar em um bom balanço entre área e desempenho. O roteador Rasoc é compatível com as topologias Mesh e Torus e pode ter até 5 portas bi- direcionais. Usa roteamento XY, árbitro RR e buffers FIFO. O roteador Tonga é baseado no Rasoc, a diferença entre eles está na interconexão interna das portas. Na figura 10a e 10b podem ser vistos os roteadores Rasoc e Tonga respectivamente.

Pelos resultados alcançados na sintetização dos roteadores, o roteador Tonga teve aproximadamente 40% menos área que o roteador Rasoc. A otimização na rede é feita usando a Busca-Tabu como heurística para percorrer o espaço de busca do projeto a fim de encontrar melhores resultados de área e latência mesclando o uso dos dois tipos de roteadores. A rede resultante é uma rede Mesh, devido à natureza arquitetural dos roteadores. As redes usadas nos experimentos foram descritas em C++ e simuladas em um simulador descrito em SystemC. Foram usadas redes de tamanhos até 10x10 e os resultados obtidos mostram uma redução na área de até 35%, conseguindo manter o desempenho da rede.

(KREUTZ et al., 2005b) também aborda a criação de NoCs usando roteadores hetero-

gêneos, a fim de otimizar a latência e consumo de energia. Um algoritmo de otimização é empregado para poder posicionar os roteadores da melhor forma possível e poder alcançar os resultados desejados. É usado o padrão de comunicação da aplicação para ajudar na busca do melhor posicionamento dos roteadores em relação aos cores, assim permitindo a avaliação de latência e consumo de energia para diferentes topologias de NoC. (KREUTZ et al., 2005b) também usa a rede SoCINhet. Além dos roteadores Rasoc e Toga, o roteador Mago também é utilizado nesse trabalho. O roteador Mago é dentre os três o que tem melhores valores de aŕea, enquanto o Rasoc mostra um desempenho melhor. A figura 10 mostra como funcionam os roteadores Rasoc, Tonga e Mago.

O roteador Rasoc é um roteador mais comum, o mesmo contém 4 portas para conexões para outros roteadores e uma porta local, o que aumenta a sua eficiência em desempenho, mas dá um bom aumento na área do projeto. O roteador Tonga utiliza dois multiplexa- dores, um para cada duas portas, assim perde-se um pouco no desempenho, mas ganha-se uma redução em área. O último roteador é o Mago que utiliza um único multiplexador para as quatro portas de entrada. O ganho em área é muito maior se comparado ao Rasoc,

Figura 10: Roteadores Rasoc (a), Tonga (b) e Mago (c) (KREUTZ et al., 2005b)

mas em questão de desempenho as perdas são grandes. Desse modo o Tonga fica como meio termo entre os três roteadores.

O uso combinado desses três tipos de roteadores na rede e o uso da Busca-Tabu para a realização da otimização da mesma, consegue gerar um trade-off entre latência média e consumo de energia. Dada uma aplicação específica e um CTG é feita uma busca pelo espaço do projeto. Essa busca é feita através de um algoritmo de otimização chamado Busca-Tabu. A permuta dos roteadores é então testada para serem achados os melhores resultados para o problema em questão. A busca é então feita levando em consideração a latência ou consumo de energia como prioridade, assim o algoritmo leva essa métrica em consideração e devolve uma solução que mostre uma rede otimizada para a prioridade escolhida. Quando a diminuição de energia é priorizada, a rede é inicialmente composta por roteadores Mago, já que os mesmos têm as melhores taxas de energia. Caso os valores de latência não sejam alcançados, alguns roteadores então são trocados a fim de atingir

os resultados esperados. Quando a prioridade é latência, a rede inicialmente começa com todos os roteadores sendo do tipo Rasoc, já que o Rasoc tem melhores valores de latência média. Caso os resultados para consumo de energia não sejam os esperados, então são trocados alguns roteadores e acrescentados os outros dois tipos, para assim chegarem aos valores ideais de energia.

Os roteadores usados no trabalho foram descritos em C++, e foram usados em um simulador compilado em código C++. Os resultados alcançados foram satisfatórios e mostram que é possível conseguir um trade-off entre latência média e consumo de energia para redes com arquiteturas diferentes de roteadores. Os resultados mostram que em uma rede heterogênea o consumo de energia e a latência conseguem ser menores que em uma rede homogênea.

(BEN-ITZHAK et al., 2015) apresenta uma nova arquitetura de NoC que utiliza também roteadores heterogêneos. Esses modelos de roteadores suportam diferentes larguras de banda e têm números diferentes de canais virtuais por cada porta. Os roteadores utilizam buffers compartilhados e tem como vantagens desacoplamentos de largura de banda de entrada e saída, também apresenta um melhor desempenho quando se é comparado a uma arquitetura de roteador de buffer de entrada. (BEN-ITZHAK et al., 2015) também introduzem e comprovam formalmente uma nova abordagem que reduz o número médio de buffers compartilhados que são necessários, sem assim comprometer o desempenho do roteador. Quando é comparado com um roteador homogêneo com buffer de entrada, o roteador proposto por (BEN-ITZHAK et al., 2015) consegue melhorar a saturação da taxa de transferência de 6% a 47% para padrões de tráfego padrão. O roteador também, atinge uma melhoria significativa no tempo de execução. Também é oferecida uma melhor escalabilidade, redução de área e energia de 15% a 60% para NoCs com tamanhos entre 4x4 e 16x16.

Documentos relacionados