• Nenhum resultado encontrado

ESTADO DA ARTE

3.1. AVALIAÇÃO DE DESEMPENHO DE NoCs

3.1.2. AVALIAÇÃO DE DESEMPENHO DAS NoCs

3.1.2.3. Otimização de desempenho das NoCs

A otimização do desempenho da NoC é focado na diminuição da latência da NoC [NIL04]. Com o objetivo de diminuir a latência das NoCs, existem diferentes técnicas que podem ser aplicadas na seleção dos parâmetros de configuração da rede. Entre as técnicas mais utilizadas para a otimização de latência se encontra a geração de mapeamento customizado para a aplicação, que diminui a frequência da comunicação [HU03] [HU05]; reserva de recursos, que garantem a disponibilidade dos recursos para os diferentes fluxos [BOL04]; e topologias customizadas, que diminuem o caminho entre os componentes mestre e escravo [BEN05].

Em [RAM05] são integrados na NoC enlaces tolerantes a falhas, isto é, capazes de verificar a correta transmissão da informação ao longo do caminho percorrido. A latência é diminuída uma vez que é evitada a retransmissão da informação. Embora tenha sido comprovada a diminuição da penalidade de tempo, [RAM05] não realizou uma análise do custo adicional causado pela adição dos circuitos ao longo dos enlaces. A análise desse custo é importante, pois garante que a melhora do desempenho da rede não representa custos elevados.

A partir do momento em que os conceitos foram desenvolvidos e a avaliação do custo e desempenho foi satisfatória, as NoCs passaram a ter utilização prática.

57 Arteris [ART11] é a primeira companhia que fornece NoCs e ferramentas para a simulação e projeto. Esta novidade no mercado de semicondutores facilitou a adoção da NoC em diferentes sistemas eletrônicos disponíveis no mercado. Atualmente a NoC pode ser encontrada na plataforma de processamento OMAP 4 [OMA11], telefones móveis da Samsung [SAM11], televisões digitais da LG [LGP11], SoCs para o processamento de vídeo da Pixelworks [PIX11] e da Mobileye [MOB11].

3.2. QUALIDADE DE SERVIÇO - QoS

A implementação de QoS nas NoCs utiliza quatro estratégias inspiradas nos modelos de implementação de QoS nas redes extrachip: 1) dimensionamento customizado da NoC [BEN06]; 2) modelo InterServ [RIJ03], [AND05b]; 3) modelo DiffServ [BOL04], [FUR04], [LIA04]; e 4) modelo MPLS (do inglês Multiprotocol Label Switching) [KIM06].

O dimensionamento customizado da NoC ajusta os parâmetros da rede segundo a listagem dos requisitos de comunicação da aplicação. O objetivo é garantir a largura de banda suficiente entre os componentes da estrutura de computação ligados à rede. Este método foi adotado nos trabalhos de [BER04][BEN05][BEN06]. Estes trabalhos manipulam a largura do canal entre roteadores e o número de roteadores para configurar a NoC XPIPES de forma que são satisfeitos os requisitos de comunicação das aplicações. No estudo experimental, estes trabalhos empregam a latência e a largura de banda como as métricas para avaliar as diferentes configurações da rede. O dimensionamento customizado busca a configuração ótima da NoC. Porém, é caracterizado pelo seu alto custo em termos de tempo de projeto e baixa reutilização de componentes IP. Por outro lado, o tráfego das aplicações é dificilmente previsível [SCH09]. Portanto, a utilização deste método não garante que os requisitos de desempenho sejam satisfeitos na ocorrência de pontos de contenção.

O modelo InterServ é implementado pela reserva de recursos da rede. O intuito é garantir a disponibilidade dos recursos da rede para que possam ser usados quando

58 requisitados. Os mecanismos utilizados são o roteamento por circuito, reserva de canais virtuais e reserva de largura de banda [FLI10]. A implementação do modelo InterServ fornece um controle total da latência dos pacotes com requisitos estritos de desempenho. Porém, o estabelecimento do caminho na NoC impede que os recursos reservados da NoC (enlaces e roteadores) sejam utilizados por outros pacotes, gerando contenção na rede. A reserva de recursos permite o controle do desempenho dos fluxos garantidos. Porém apresenta três desvantagens: 1) baixa escalabilidade, uma vez que a área do roteador incrementa proporcionalmente ao número de conexões suportadas; 2) ineficiente uso da largura de banda, já que os recursos são alocados sob o pior cenário de tráfego; e 3) imprevisibilidade, uma vez que a reserva prolongada de recursos pode acarretar latências imprevisíveis. Portanto, para pacotes muito compridos ou com alta taxa de geração, a implementação do modelo InterServ pode ser proibitivo. O roteamento por circuito é utilizado nas redes RIJ03 [RIJ03], Æthereal [GOO05], MANGO [BJE05], aSOC [LIA04], Octagon [KAR01] e SoCBUS [WIK03].

O modelo DiffServ utiliza mecanismos capazes de identificar e caracterizar os pacotes. A classificação dos pacotes permite estabelecer a prioridade para a utilização dos recursos da rede. O mecanismo mais utilizado é a arbitragem com prioridades fixas [SZI04]. DiffServ evita a reserva de recursos. Este esquema fornece uma melhor adaptação à variação do tráfego da rede e potencialmente pode fornecer uma melhor utilização dos recursos da rede [KIM10]. Porém, o compartilhamento de recursos impede que os requisitos estritos sejam garantidos. Quando existe um grande número de pacotes com requisitos estritos de desempenho, o comportamento da NoC é similar a uma NoC melhor esforço. Este método é usado nas redes QNoC [BOL04] e SuperGT [MAR07b]. Nestes trabalhos a classificação dos pacotes é feita na interface da rede. No trabalho de [BOL04], os pacotes são classificados em 4 níveis: sinalização, tempo real, leitura-escrita e rajada (transferência em bloco). A cada nível é outorgada uma prioridade diferente. Para cada nível é reservado um canal virtual dentro do roteador. O roteador comuta os pacotes segundo sua prioridade. Os requisitos de QoS são verificados através de cálculos analíticos e simulações. SuperGT NoC [MAR07b] propõe uma NoC baseada na rede Æthereal classificando os pacotes em: a) pacotes melhor esforço e; b) latência garantida. A NoC

59 utiliza canais virtuais para armazenar os pacotes garantidos, porém, diferente do modelo InterServ, estes não são reservados podendo também ser usados por pacotes melhor esforço na ausência dos garantidos.

O modelo MPLS é implementado por [KIM06]. Este modelo utiliza uma etiqueta de tamanho fixo reduzido que fornece uma representação abreviada do cabeçalho do pacote. O MPLS permite que os pacotes sejam classificados e roteados a partir de etiquetas atribuídas na interface da rede por um caminho virtual.

Atualmente, a maioria das NoCs são redes melhor esforço [SEP06] [BEN05] [ART11]. A popularidade das NoCs melhor esforço se deve ao fato de serem projetadas para aplicações que requisitam a entrega ordenada dos pacotes e não possuem restrições estritas de desempenho [MIC06]. Segundo [RIJ03] esta condição possibilita a melhor utilização dos recursos da rede e diminui o tempo de projeto, uma vez que não promovem a reserva de recursos. Porém, estas NoCs são susceptíveis a degradação do desempenho da rede, tornando-as insuficientes para satisfazer as necessidades de aplicações com requisitos estritos. A Tabela 3.1 apresenta o sumário dos trabalhos que implementam QoS na NoC.